Skill 62 · Amazon Aurora PostgreSQL
Subchapter 62.36
references/upgrade-planning-pre-checklist.mdMarkdown2 KBView on GitHub
Create test environment via snapshot restore
aws rds create-db-cluster-snapshot --db-cluster-identifier {cluster} \
--db-cluster-snapshot-identifier {cluster}-pre-upgrade-snapshot --region {region}
aws rds restore-db-cluster-from-snapshot --db-cluster-identifier {cluster}-upgrade-test \
--snapshot-identifier {cluster}-pre-upgrade-snapshot \
--engine {engine} --engine-version {target_version} --region {region}Review and create new parameter group
aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name {current_pg} \
--query "Parameters[?Source=='user' && ParameterValue!=null].{Name:ParameterName,Value:ParameterValue}" \
--output table --region {region}Create new group for target version family and apply custom parameters.
Check pending maintenance actions
aws rds describe-pending-maintenance-actions \
--resource-identifier arn:aws:rds:{region}:{account}:cluster:{cluster} --region {region}Capture baseline performance metrics — CloudWatch: CPUUtilization, DatabaseConnections, ReadLatency, WriteLatency, FreeableMemory, BufferCacheHitRatio. Save EXPLAIN plans for critical queries.
Consider Blue/Green Deployments for minimal downtime. Ref: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/blue-green-deployments.html (opens in a new tab)
Plan maintenance window — schedule during lowest traffic (use Performance Insights).
Check extension compatibility with target version.
Review PostgreSQL release notes for each major version between current and target:
Check encoding/locale compatibility with target.
Test on snapshot-restored cluster — Aurora handles pg_upgrade internally.
Check objects owned by rdsadmin — can block upgrades.
Drop unused logical replication slots — active slots block major upgrades.