我想对同一 Aurora 全局集群中 Amazon Aurora PostgreSQL 兼容版的主集群和辅助集群之间的次要版本不匹配问题进行故障排除。主集群和辅助集群位于不同的 AWS 区域。
简短描述
即使您的数据库主集群和辅助集群运行相同的 Aurora PostgreSQL 兼容版本,您也可能会遇到版本不匹配的情况。由于主集群和辅助集群运行相同版本的不同补丁,因此您无法执行托管式跨区域切换或失效转移。
您会收到类似于以下内容的错误:
“目标集群 db-cluster-id 必须与当前主集群使用相同的引擎版本”
**注意:**当主集群和辅助集群运行不同的补丁级别时,某些 Aurora PostgreSQL 兼容版引擎版本可以执行跨区域切换和失效转移。
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
要检查您的 Aurora 主集群和辅助集群正在运行哪些版本,请使用 aurora_version 函数运行以下查询:
SELECT aurora_version();
运行 AWS CLI 命令 describe-pending-maintenance-actions 来检查集群上是否有待执行的维护更新:
aws rds describe-pending-maintenance-actions --resource-identifier cluster-ARN
**注意:**请将 cluster-ARN 替换为您的集群的 ARN。
如果有待执行的维护更新可用,请将更新应用于要升级的数据库集群。
**注意:**Aurora 版本升级过程会导致停机。最佳做法是在计划的维护时段内执行升级。
要确认您的 Aurora 主集群和辅助集群是否正在运行相同的版本,请运行以下查询:
SELECT aurora_version();
当两个集群的引擎和补丁版本匹配时,您可以在全局数据库中执行托管式跨区域切换或失效转移。