调用UpgradeDBInstanceMajorVersion接口发起RDS PostgreSQL实例大版本升级任务。
大版本升级会保留原实例,并创建一个新版本的实例,新实例在创建中不收费,创建成功后将会产生费用,计费方式为按量付费。新实例暂不继承原实例优惠,请确保在使用该接口前,已充分了解RDS产品的收费方式和价格,根据实际情况选择是否升级。
大版本升级前,必须先调用UpgradeDBInstanceMajorVersionPrecheck接口执行大版本升级检查,并且调用DescribeUpgradeMajorVersionPrecheckTask接口查询升级检查报告,确保结果为Success后,才可以使用该接口。
调用该接口时,实例必须满足以下条件:
- 版本:PostgreSQL 14、13、12、11、10、9.4
- 系列:高可用版、基础版
- 网络类型:专有网络。如果网络类型为经典网络,请先切换为专有网络。关于如何查看或切换网络类型,请参见切换网络类型。
- 实例不是只读实例或专属集群实例。
升级数据库大版本会造成分钟级业务闪断等影响,请在业务低峰期进行升级,升级前请仔细阅读升级数据库大版本。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | UpgradeDBInstanceMajorVersion |
系统规定参数。取值:UpgradeDBInstanceMajorVersion。 |
DBInstanceClass | String | 否 | pg.n2.medium.2c |
升级后实例规格。CPU和内存配置必须大于等于原实例规格。 例如,原实例规格 说明 RDS PG的实例规格代码,请参见RDS PostgreSQL主实例规格列表。
|
DBInstanceStorage | Integer | 否 | 20 |
升级后实例存储空间。 单位:GB 取值范围:
说明 本地盘实例升级大版本时,支持存储空间缩容。可选择的最小存储空间,请参见升级数据库大版本。
|
PayType | String | 是 | Postpaid |
计费方式。固定配置为按量付费,取值Postpaid。 说明 升级后如果需要变更实例的计费方式,请参见按量付费转包年包月。
|
InstanceNetworkType | String | 否 | VPC |
升级后实例网络类型。固定配置为VPC,当前只支持专有网络实例进行大版本升级。 如果网络类型为经典网络,请先切换为专有网络。关于如何查看或切换网络类型,请参见切换网络类型。 |
SwitchTimeMode | String | 否 | Immediate |
该参数与SwitchOver配合使用,只有SwitchOver参数取值为true时有效。表示割接时间。 取值范围:
|
SwitchTime | String | 否 | 2021-07-10T13:15:12Z |
预留参数,无需配置。 |
SwitchOver | String | 否 | false |
割接配置,系统将创建一个新实例进行数据迁移。请选择迁移后是否自动切换至新实例。 取值范围:
说明
|
CollectStatMode | String | 否 | After |
选择在哪个时间点对数据库执行统计信息收集。
说明 对于不割接场景,割接前收集表示新实例开放读写前收集,割接后收集表示新实例开放读写后收集。
|
TargetMajorVersion | String | 否 | 13.0 |
升级后实例目标大版本。必须与执行升级前检查时设置的目标版本一致。 说明 可通过调用UpgradeDBInstanceMajorVersionPrecheck接口执行大版本升级前检查。
|
DBInstanceId | String | 否 | pgm-bp1gm3yh0ht1**** |
原实例ID。 |
VPCId | String | 否 | vpc-bp1opxu1zkhn00gzv**** |
VPC ID。可以通过DescribeDBInstanceAttribute接口查看原实例的VPC ID。 |
VSwitchId | String | 否 | vsw-bp10aqj6o4lclxdrm****,vsw-bp10aqj6o4lclxdrm**** |
说明 配置的目标实例交换机需要与原实例处于同一可用区。可调用DescribeVSwitches接口查询获取。
|
PrivateIpAddress | String | 否 | 172.16.XX.XX |
无需配置,表示目标实例的内网IP。系统默认通过VPCId和vSwitchId自动分配。 |
UsedTime | String | 否 | 1 |
预留参数,无需配置。 |
Period | String | 否 | Month |
预留参数,无需配置。 |
DBInstanceStorageType | String | 否 | cloud_essd |
表示升级后实例的存储类型。 取值范围:
版本升级功能基于云盘快照,当前升级后支持选择的存储类型如下。
|
ZoneId | String | 否 | cn-hangzhou-h |
目标主可用区ID。可以通过DescribeRegions接口查看可用区ID。 RDS PostgreSQL支持升级后将新的实例配置到与原实例同一地域的其他可用区。 |
ZoneIdSlave1 | String | 否 | cn-hangzhou-h |
仅当原实例为高可用版时,该参数可配置,表示目标实例备可用区ID。 RDS PostgreSQL支持升级后将新的备实例配置到与原实例同一地域的其他可用区。 可以通过DescribeRegions接口查看可用区ID。 |
ZoneIdSlave2 | String | 否 | cn-hangzhou-h |
预留参数,无需配置。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
DBInstanceId | String | pgm-bp1gm3yh0ht1**** |
实例ID。 |
RequestId | String | 006729E5-2A33-5955-89E3-651D3F44EBE6 |
请求ID。 |
OrderId | String | 21128667463**** |
订单ID。 |
TaskId | Long | 416980000 |
预留参数。 |
示例
请求示例
http(s)://rds.aliyuncs.com/?Action=UpgradeDBInstanceMajorVersion
&PayType=Postpaid
&<公共请求参数>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<UpgradeDBInstanceMajorVersion>
<RequestId>006729E5-2A33-5955-89E3-651D3F44EBE6</RequestId>
<DBInstanceId>pgm-bp1gm3yh0ht1****</DBInstanceId>
<OrderId>21128667463****</OrderId>
</UpgradeDBInstanceMajorVersion>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "006729E5-2A33-5955-89E3-651D3F44EBE6",
"DBInstanceId" : "pgm-bp1gm3yh0ht1****",
"OrderId" : "21128667463****"
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidUpgradePrecheckResult | The upgrade precheck failed. No successful precheck task found in the past 7 days | 升级前置检查失败,无七天内预检查成功任务 |
400 | TargetEngineVersion.Parameters.NotFound | targetEngineVersion is missing in the request. | 请求缺少目标数据库版本参数 |
400 | InvalidDBInstanceStorageType | The specified DBInstanceStorageType is invalid. | 指定的数据库实例存储类型无效 |
400 | InvalidInstanceNetworkType | The specified InstanceNetworkType is invalid. | 指定的实例网络类型无效 |
400 | InvalidVPCId | The specified VPCId is invalid. | 指定的虚拟专有网络无效 |
400 | InvalidDedicatedHostGroupId | The specified DedicatedHostGroupId is invalid. | 指定的专用主机组ID无效 |
400 | InvalidPayType | The specified PayType is invalid. | 指定的付款类型无效 |
400 | InvalidEngineVersion | The specified EngineVersion is invalid. | 指定的数据库版本号无效 |
400 | InvalidDBInstanceStorage | The specified DBInstanceStorage is invalid. | 指定的数据库实例存储无效 |
400 | InvalidSwitchOver | The specified SwitchOver is invalid. | 指定的割接模式无效 |
400 | PrimaryInstanceWithReadonlyNotSupport | The specified primary instance with the read-only instance does not support the operation. | 具有只读实例的指定主实例不支持此操作 |
400 | InvalidSwitchTimeMode | The specified SwitchTimeMode is invalid. | 指定的升级时间模式无效 |
400 | InvalidSwitchTime | The specified SwitchTime is invalid. | 指定的割接时间无效 |
400 | InvalidCollectStats | The specified CollectStats is invalid. | 指定的统计信息收集模式无效 |
400 | IncorrectDBInstanceState | The current instance state does not support this operation. | 当前实例状态不支持此操作。 |
400 | InvalidDBinstanceClass.ValueNotSupported | The specified parameter DBinstanceClass is invalid. | 指定的参数“实例规格”无效 |
404 | InvalidDBInstanceName.NotFound | The database instance does not exist. | 数据库实例名称不存在。请确认数据名称是否正确。 |
404 | IncorrectDBInstanceLockMode | Current DB instance lock mode does not support this operation. | 操作失败,实例处于锁定状态。 |
访问错误中心查看更多错误码。