UpgradeDBInstanceMajorVersion操作を呼び出して、ApsaraDB RDS for PostgreSQLインスタンスのメジャーエンジンバージョンをアップグレードできます。

アップグレード中、ApsaraDB RDSは元のRDSインスタンスを保持し、新しいメジャーエンジンバージョンを実行するRDSインスタンスを作成します。 インスタンスの作成後、従量課金に基づいて新しいRDSインスタンスの課金が開始されます。 新しいインスタンスは、元のインスタンスに提供される割引価格を継承しません。 この操作を呼び出す前に、ApsaraDB RDSの課金方法と料金を十分に理解していることを確認してください。 ビジネス要件に基づいて、メジャーエンジンのバージョンをアップグレードするかどうかを決定できます。

メジャーエンジンのバージョンをアップグレードする前に、UpgradeDBInstanceMajorVersionPrecheck操作を呼び出してアップグレードチェックを実行し、DescribeUpgradeMajorVersionPrecheckTask操作を呼び出してアップグレードチェックレポートを照会する必要があります。 UpgradeDBInstanceMajorVersion操作は、チェック結果がSuccessの場合にのみ呼び出すことができます。

この API を呼び出す場合、インスタンスは次の要件を満たしている必要があります。

  • 元のインスタンスは、PostgreSQL 13、PostgreSQL 12、PostgreSQL 11、PostgreSQL 10、またはPostgreSQL 9.4を実行する必要があります。
  • 元のインスタンスは、RDS High-availability EditionまたはRDS Basic Editionを実行する必要があります。
  • 元のRDSインスタンスは、仮想プライベートクラウド (VPC) に存在する必要があります。 元のインスタンスがクラシックネットワークにある場合、この操作を呼び出す前にインスタンスをVPCに移行する必要があります。 インスタンスのネットワークタイプを表示または変更する方法の詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのネットワークタイプの変更」をご参照ください。
  • 元のインスタンスを読み取り専用インスタンスにすることはできず、専用クラスターに作成することもできません。
  • 元のインスタンスのIDはpg-cnで始めることはできません。

アップグレードは、数分続く一時的な接続などの影響をもたらします。 オフピーク時にアップグレードを実行することを推奨します。 アップグレードを実行する前に、「ApsaraDB RDS for PostgreSQLインスタンスのメジャーエンジンバージョンのアップグレード」を読むことを推奨します。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。 この操作は、OpenAPI Explorer で呼び出すことを推奨します。 OpenAPI Explorer は、さまざまな SDK に対して操作のサンプルコードを動的に生成します。

リクエストパラメーター

項目データ型必須/任意例:説明 
操作String必須UpgradeDBInstanceMajorVersion

実行する操作です。 値をUpgradeDBInstanceMajorVersionに設定します。

DBInstanceClassString任意pg.n2.medium.2c

新しいインスタンスのインスタンスタイプ。 新しいインスタンスのvCPUおよびメモリの仕様は、元のインスタンスのvCPUおよびメモリの仕様以上である必要があります。

たとえば、元のインスタンスのインスタンスタイプが1コアと2 GBのメモリを提供するpg.n2.small.2cの場合、新しいインスタンスのインスタンスタイプは2コアと4 GBのメモリを提供するpg.n2.medium.2cになります。

説明 サポートされているインスタンスタイプの詳細については、「Primary ApsaraDB RDS For PostgreSQLインスタンスタイプ」をご参照ください。
DBInstanceStorageIntegerいいえ20

新しいインスタンスのストレージ容量。

単位 : GB

  • パフォーマンスレベル1 (PL1) の拡張SSD (ESSD) を使用する場合の有効値: 20 ~ 3200
  • PL2のESSDを使用する場合の有効な値: 3200に500
  • PL3のESSDを使用する場合の有効な値: 3200に1500
説明 元のインスタンスがローカルSSDを使用している場合、インスタンスのメジャーエンジンバージョンをアップグレードすると、インスタンスのストレージ容量を減らすことができます。 使用可能な最小ストレージ容量の詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのメジャーエンジンバージョンのアップグレード」をご参照ください。
PayTypeString必須Postpaid

課金方法です。 値は後払いとして固定されています。

説明 アップグレード後に新しいインスタンスの課金方法を変更する方法の詳細については、「ApsaraDB RDS For PostgreSQLインスタンスの課金方法を従量課金からサブスクリプションに切り替える」をご参照ください。
InstanceNetworkTypeString任意VPC

新しいインスタンスのネットワークタイプ。 値はVPCとして固定されています。 メジャーバージョンのアップグレード機能は、VPCに存在するインスタンスでのみサポートされます。

元のインスタンスがクラシックネットワークにある場合、この操作を呼び出す前にインスタンスをVPCに移行する必要があります。 インスタンスのネットワークタイプを表示または変更する方法の詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのネットワークタイプの変更」をご参照ください。

SwitchTimeModeString任意即時

ApsaraDB RDSがワークロードを新しいインスタンスに切り替える時刻。 このパラメーターは、SwitchOverパラメーターと一緒に使用され、SwitchOverパラメーターをtrueに設定した場合にのみ有効になります。

有効な値:

  • Immediate: データが新しいインスタンスに移行されると、ApsaraDB RDSはすぐにワークロードを新しいインスタンスに切り替えます。
  • MaintainTime: データが新しいインスタンスに移行された後、ApsaraDB RDSは、指定したメンテナンス期間中にワークロードを新しいインスタンスに切り替えます。 ModifyDBInstanceMaintainTime操作を呼び出して、インスタンスのメンテナンス期間を変更できます。
SwitchTimeString任意2021-07-10T13:15:12Z

パラメーターは予約されています。 指定する必要はありません。

スイッチオーバーString任意false

データが新しいインスタンスに移行された後、ApsaraDB RDSがワークロードを新しいインスタンスに自動的に切り替えるかどうかを指定します。

有効な値:

  • true: ApsaraDB RDSは、ワークロードを新しいインスタンスに自動的に切り替えます。
  • false: ApsaraDB RDSは、ワークロードを新しいインスタンスに自動的に切り替えません。 アップグレードを実行する前に、このパラメーターをfalseに設定して、新しいメジャーエンジンバージョンがワークロードと互換性があるかどうかをテストすることをお勧めします。
説明
  • このパラメーターをtrueに設定する場合は、次の情報に注意する必要があります。
    • 切り替えが完了すると、ワークロードを元のRDSインスタンスにロールバックすることはできません。 操作は慎重に行ってください。
    • 切り替え中、元のRDSインスタンスは読み取り要求のみを処理します。 オフピーク時に切り替えを実行する必要があります。
    • 読み取り専用インスタンスが元のインスタンスにアタッチされている場合、このパラメーターはfalseにのみ設定できます。 この場合、元のインスタンスにアタッチされている読み取り専用インスタンスは複製できません。 アップグレードが完了したら、新しいインスタンスの読み取り専用インスタンスを作成する必要があります。
  • このパラメーターをfalseに設定した場合は、次の情報に注意する必要があります。
CollectStatModeString任意その後、

ApsaraDB RDSが新しいRDSインスタンスの統計を収集する時刻。 有効な値:

  • 前: ApsaraDB RDSは、サービスの安定性を確保するために、切り替え前に新しいインスタンスの統計を収集します。 元のRDSインスタンスに大量のデータが含まれている場合、アップグレードに長時間がかかる場合があります。
  • 後: ApsaraDB RDSは、アップグレードを高速化するために、切り替え後に新しいインスタンスの統計を収集します。 統計が生成されないテーブルにアクセスすると、指定したクエリプランが不正確に実行される可能性があります。 また、ピーク時にはデータベースサービスが利用できない場合があります。
説明 SwitchOverパラメーターをfalseに設定した場合、値Beforeは、新しいインスタンスが読み書き要求の処理を開始する前にApsaraDB RDSが新しいインスタンスの統計を収集することを指定し、値Afterは、新しいインスタンスが読み書き要求の処理を開始した後にApsaraDB RDSが新しいインスタンスの統計を収集することを指定します。
TargetMajorVersionString任意13.0

新しいインスタンスのメジャーエンジンバージョン。 このパラメーターの値は、アップグレードチェックが実行されるメジャーエンジンのバージョンである必要があります。

説明 UpgradeDBInstanceMajorVersionPrecheck操作を呼び出して、メジャーエンジンバージョンのアップグレードチェックを実行できます。
DBInstanceIdString任意pgm-bp1gm3yh0ht1 ****

元のインスタンスのID。

VPCIdString任意vpc-bp1opxu1zkhn00gzv ****

元のインスタンスが存在するVPCのID。 DescribeDBInstanceAttributeを呼び出して、インスタンスのVPC IDを照会できます。

VSwitchIdString任意vsw-bp10aqj6o4lclxdrm ****,vsw-bp10aqj6o4lclxdrm ****
  • 元のインスタンスがRDS Basic Editionを実行している場合は、新しいインスタンスのvSwitch IDを入力します。
  • 元のインスタンスがRDS High-availability Editionを実行している場合は、新しいインスタンスのvSwitch IDと新しいインスタンスのセカンダリインスタンスのvSwitch IDを入力します。 vSwitch IDは必ずコンマ (,) で区切ってください。
説明 指定するvSwitchは、元のインスタンスと同じゾーンに存在する必要があります。 DescribeVSwitch操作を呼び出して、vSwitch IDを照会できます。
PrivateIpAddressString任意172.16.XX.XX

新しいインスタンスの内部IPアドレス。 指定する必要はありません。 ApsaraDB RDSは、VPCIdおよびvSwitchIdパラメーターの値に基づいて、内部IPアドレスを自動的に割り当てます。

UsedTimeStringいいえ1

パラメーターは予約されています。 指定する必要はありません。

期間String任意

パラメーターは予約されています。 指定する必要はありません。

DBInstanceStorageTypeString任意cloud_essd

新しいインスタンスのストレージタイプ。

有効な値:

  • cloud_ssd: 標準SSD
  • cloud_essd: PL1のESSD
  • cloud_essd2: PL2のESSD
  • cloud_essd3: PL3のESSD

メジャーバージョンのアップグレード機能は、SSDスナップショットに基づいています。 次の条件に基づいてストレージタイプを選択できます。

  • 元のRDSインスタンスが標準SSDを使用している場合、標準SSDを選択できます。
  • 元のRDSインスタンスがESSDを使用している場合、PL1のESSD、PL2のESSD、またはPL3のESSDを選択できます。
  • 元のRDSインスタンスがローカルSSDを使用している場合、PL1のESSD、PL2のESSD、またはPL3のESSDを選択できます。
ZoneIdString任意cn-hangzhou-h

新しいインスタンスが属するゾーンのID。 DescribeRegionsを呼び出して、ゾーンIDを照会できます。

元のインスタンスが存在するリージョンに属するゾーンを選択できます。

ZoneIdSlave1String任意cn-hangzhou-h

新しいインスタンスのセカンダリインスタンスが属するゾーンのID。 このパラメーターは、元のインスタンスがRDS High-availability Editionを実行している場合にのみ指定できます。

元のインスタンスが存在するリージョンに属するゾーンを選択できます。

DescribeRegionsを呼び出して、ゾーンIDを照会できます。

ZoneIdSlave2String任意cn-hangzhou-h

パラメーターは予約されています。 指定する必要はありません。

レスポンスパラメーター

項目データ型例:説明 
DBInstanceIdStringpgm-bp1gm3yh0ht1 ****

インスタンスの ID です。

RequestIdString006729E5-2A33-5955-89E3-651D3F44EBE6

リクエストの ID です。

OrderIdString21128667463 ****

注文 ID。

TaskIdLong416980000

パラメーターは予約されています。

リクエストの例

http(s):// rds.aliyuncs.com/?Action=UpgradeDBInstanceMajorVersion
&PayType=後払い
&<共通リクエストパラメーター>

正常に処理された場合のレスポンス例

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 ****"
}

エラーコード

HTTP ステータスコードエラーコードエラーメッセージ説明 
400InvalidUpgradePrecheckResultアップグレードの事前チェックに失敗しました。 過去7日間に成功したプレチェックタスクが見つかりませんでした最新の7日間、アップグレードチェックが失敗し、アップグレードチェックが成功しなかった場合に返されるエラーメッセージ。
400TargetEngineVersion.Parameters.NotFoundtargetEngineVersionがリクエストにありません。TargetMajorVersionパラメーターが指定されていない場合に返されるエラーメッセージ。
400InvalidDBInstanceStorageType指定されたDBInstanceStorageTypeは無効です。DBInstanceStorageTypeパラメーターの値が無効な場合に返されるエラーメッセージ。
400InvalidInstanceNetworkType指定されたInstanceNetworkTypeは無効です。InstanceNetworkTypeパラメーターの値が無効な場合に返されるエラーメッセージ。
400InvalidVPCId指定されたVPCIdは無効です。VPCIdパラメーターの値が無効な場合に返されるエラーメッセージ。
400InvalidDedicatedHostGroupId指定されたDedicatedHostGroupIdは無効です。無効な専用クラスターIDが指定されている場合に返されるエラーメッセージ。
400InvalidPayType指定されたPayTypeは無効です。PayTypeパラメーターの値が無効な場合に返されるエラーメッセージ。
400InvalidEngineVersion指定されたEngineVersionは無効です。TargetMajorVersionパラメーターの値が無効な場合に返されるエラーメッセージ。
400InvalidDBInstanceStorage指定されたDBInstanceStorageは無効です。DBInstanceStorageパラメーターの値が無効な場合に返されるエラーメッセージ。
400InvalidSwitchOver指定されたSwitchOverは無効です。SwitchOverパラメーターの値が無効な場合に返されるエラーメッセージ。
400PrimaryInstanceWithReadonlyNotSupport読み取り専用インスタンスを持つ指定されたプライマリインスタンスは、この操作をサポートしていません。読み取り専用インスタンスが元のインスタンスにアタッチされている場合に返されるエラーメッセージ。 この操作は、読み取り専用インスタンスがアタッチされているインスタンスではサポートされていません。
400InvalidSwitchTimeMode指定されたSwitchTimeModeは無効です。SwitchTimeModeパラメーターの値が無効な場合に返されるエラーメッセージ。
400InvalidSwitchTime指定されたSwitchTimeは無効です。SwitchTimeパラメーターの値が無効な場合に返されるエラーメッセージ。
400InvalidCollectStats指定されたCollectStatsは無効です。CollectStatModeパラメーターの値が無効な場合に返されるエラーメッセージ。
400IncorrectDBInstanceState現在のインスタンス状態はこの操作をサポートしていません。インスタンスが存在する状態では、この操作がサポートされていない場合に返されるエラーメッセージ。
400InvalidDBinstanceClass.ValueNotSupported指定されたパラメーターDBinstanceClassは無効です。DBInstanceClassパラメーターの値が無効な場合に返されるエラーメッセージ。
404InvalidDBInstanceName.NotFoundデータベースインスタンスが存在しません。元のインスタンスの名前が見つからない場合に返されるエラーメッセージ。 名前が正しいかどうかを確認してください。
404IncorrectDBInstanceLockModeCurrent DB instance lock mode does not support this operation.インスタンスがロックされている場合に返されるエラーメッセージ。

エラーコードリストについては、「API エラーセンター」をご参照ください。