AWS RDS PostgreSQL 在线升级大版本
AWS CLI PostgreSQL About 2,459 words查看升级版本
查看当前版本可以升级到哪些版本。
--engine-version指定当前PostgreSQL的版本。
aws rds describe-db-engine-versions --engine postgres --engine-version 15.17 \
--query 'DBEngineVersions[].ValidUpgradeTarget[].[EngineVersion,IsMajorVersionUpgrade]' \
--output table
输出
$ aws rds describe-db-engine-versions --engine postgres --engine-version 15.17 \
--query 'DBEngineVersions[].ValidUpgradeTarget[].[EngineVersion,IsMajorVersionUpgrade]' \
--output table
--------------------------
|DescribeDBEngineVersions|
+-----------+------------+
| 15.18 | False |
| 15.19 | False |
| 16.13 | True |
| 16.14 | True |
| 16.15 | True |
| 17.9 | True |
| 17.10 | True |
| 17.11 | True |
| 18.3 | True |
| 18.4 | True |
| 18.6 | True |
+-----------+------------+
查看配置参数
如果输出default.postgresxx,则不用备份参数配置。
aws rds describe-db-instances --db-instance-identifier <instance-id> \
--query 'DBInstances[0].[DBParameterGroups[0].DBParameterGroupName,BackupRetentionPeriod]'
输出
$ aws rds describe-db-instances --db-instance-identifier test-postgres-eujga12345 \
--query 'DBInstances[0].[DBParameterGroups[0].DBParameterGroupName,BackupRetentionPeriod]'
[
"default.postgres15",
1
]
升级
把<18.x>换成第一步查到的版本。
aws rds modify-db-instance \
--db-instance-identifier <instance-id> \
--engine-version <18.x> \
--allow-major-version-upgrade \
--db-parameter-group-name default.postgres18 \
--apply-immediately
输出
aws rds modify-db-instance \
--db-instance-identifier test-postgres-eujga12345 \
--engine-version 18.6 \
--allow-major-version-upgrade \
--db-parameter-group-name default.postgres18 \
--apply-immediately
说明
不加--apply-immediately的话,会等到维护窗口才执行。
参看升级状态
会有:upgrading、backing-up、available三个状态。
aws rds describe-db-instances --db-instance-identifier <instance-id> \
--query 'DBInstances[0].[DBInstanceStatus,EngineVersion]'
输出
$ aws rds describe-db-instances --db-instance-identifier test-postgres-eujga12345 \
--query 'DBInstances[0].[DBInstanceStatus,EngineVersion]'
[
"upgrading",
"15.17"
]
$ aws rds describe-db-instances --db-instance-identifier test-postgres-eujga12345 --query 'DBInstances[0].[DBInstanceStatus,EngineVersion]'
[
"backing-up",
"18.6"
]
$ aws rds describe-db-instances --db-instance-identifier test-postgres-eujga12345 --query 'DBInstances[0].[DBInstanceStatus,EngineVersion]'
[
"available",
"18.6"
]
Views: 5 · Posted: 2026-10-20
———         Thanks for Reading         ———
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...