IBM Cloud Docs
新しいメジャー・バージョンへのアップグレード

新しいメジャー・バージョンへのアップグレード

データベースのメジャー・バージョンが製品寿命 (EOL) に達した場合は、最新のメジャー・バージョンにアップグレードすることをお勧めします。

IBM Cloud カタログ ページ、 Cloud Databases CLI プラグイン・コマンド ibmcloud cdb deployables-show、または Cloud Databases API /deployables エンドポイントから、使用可能な Databases for PostgreSQL のバージョンを見つけます。

新規インスタンスにアップグレードする場合は、アプリケーション内の接続情報も変更する必要があります。

PostgreSQL v12から新しいPostgreSQLメジャーバージョンにアップグレードするための要件

pg_repackがインストールされている場合は、アップグレードを実行する前に削除する必要があります。 これは、次のようなコマンドを使用して行うことができます。

DROP EXTENSION pg_repack;

アップグレード後に、 pg_repack を再インストールします。 これは以下のコマンドで実行できる:

CREATE EXTENSION pg_repack;

PostGIS, を使用している場合は、 PostgresSQL をアップグレードする前に、まず PostGIS をアップグレードする必要があります。 これは、 PostGIS がインストールされたデータベースに対して以下のコマンドを実行することで行うことができる。

SELECT postgis_extensions_upgrade();

以下のクエリを使用して、Postgis 拡張機能のアップグレードを検証します。

SELECT postgis_full_version();

読み取り専用レプリカからのアップグレード

読み取り専用レプリカを構成する ことによってアップグレードします。 配置と同じデータベース バージョンの読み取り専用レプリカをプロビジョニングし、そのレプリカがすべてのデータをレプリケートするのを待ちます。 配置とそのレプリカが同期されたら、読み取り専用のレプリカを、新バージョンのデー タベースを実行する完全なスタンドアロン配置に昇格およびアップグレードします。 アップグレードと昇格のステップを実行するには、リクエスト本文にアップグレードしたいバージョンを指定した /deployments/{id}/remotes/promotion エンドポイントへの POST リクエストを使用します。

この要求は次のようになります。

curl -X POST \
  https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/remotes/promotion \
  -H 'Authorization: Bearer <>'  \
 -H 'Content-Type: application/json' \
 -d '{
    "promotion": {
        "version": "14",
        "skip_initial_backup": false
    }
}' \

skip_initial_backup はオプションです。 true に設定されている場合、新規デプロイメントは、プロモーションの完了時に初期バックアップを実行しません。 新規デプロイメントは、次回の自動バックアップが実行されるか、オンデマンド・バックアップを実行するまでバックアップされないという犠牲を伴うことで、短時間で使用可能になります。

プロモーションとアップグレードのドライ・ラン

メジャーバージョンアップの効果を評価するには、ドライランを実施する。 ドライランにより、プロモーションとアップグレードがシミュレートされ、結果がデータベース・ログに出力されます。 ログ分析統合 により、データベースのログにアクセスして表示できます。 これにより、現在実行中の拡張機能付きバージョンを、目的のバージョンに正常にアップグレードできるようになります。

ドライ・ランを実行するには、skip_initial_backupfalse に設定されており、version が定義されている必要があります。

コマンドは次のようになります。

curl -X POST \
  https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/remotes/promotion \
  -H 'Authorization: Bearer <>'  \
 -H 'Content-Type: application/json' \
 -d '{
    "promotion": {
        "version": "14",
        "skip_initial_backup": false,
        "dry_run": true
    }
}' \

アップグレードのバックアップと復元

新しいデータベース・バージョンを実行する新しいデプロイメントにデータの バックアップをリストア することで、データベース・バージョンをアップグレードできます。

UI でのアップグレード

_デプロイメント・ダッシュボード_の 「バックアップ」 メニューから バックアップをリストア するときに、新規バージョンにアップグレードします。 バックアップの [Restore] をクリックすると、新しいタブのプロビジョニング ページが表示されます。 オプションのひとつにデータベースのバージョンがあり、アップグレード可能なバージョンが自動入力されます。 バージョンを選択し、[ 作成] をクリックして、プロビジョニングとリストアプロセスを開始します。

CLI を使用したアップグレード

IBM Cloud CLIを使用してバックアップからアップグレードおよびリストアするには、リソースコントローラからprovisioningコマンドを使用します。

ibmcloud resource service-instance-create <DEPLOYMENT_NAME_OR_CRN> <SERVICE_ID> <SERVICE_PLAN_ID> <REGION>

パラメーターの service-nameservice-idservice-plan-idregion はすべて必須です。 また、-p に、バージョンとバックアップ ID のパラメーターを JSON オブジェクトで指定してください。 新規デプロイメントは、バックアップ時のソース・デプロイメントと同じディスクおよびメモリーを適用して自動的にサイズ変更されます。

このコマンドは、次のようになります。

ibmcloud resource service-instance-create example-upgrade databases-for-postgresql standard us-south \
-p \ '{
  "backup_id": "crn:v1:bluemix:public:databases-for-postgresql:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
  "version":14
}'

API を使用したアップグレード

バックアップからのアップグレードに使用する前に、リソースコントローラAPI を使用するために必要な手順を完了してください。 次に、APIに POST。 パラメーターの nametargetresource_groupresource_plan_id はすべて必須です。 バージョンとバックアップ ID も指定します。 新規デプロイメントのメモリーとディスクの割り振りは、バックアップ時のソース・デプロイメントと同じになります。

このコマンドは、次のようになります。

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "bluemix-us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "databases-for-postgresql-standard",
    "backup_id": "crn:v1:bluemix:public:databases-for-postgresql:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
    "version":14
  }'

強制アップグレード

サポート終了日を過ぎると、非推奨バージョンでアクティブなDatabases for PostgreSQLデプロイメントはすべて、次のサポート対象バージョンに強制的にアップグレードされます。 例えば、PostgreSQLバージョン12(非推奨)はバージョン13にアップグレードします。

以下のようなリスクを避けるため、耐用年数終了前にアップグレードすること:

  • このタイプの強制アップグレードにはSLAは提供されない。
  • データが失われる可能性があります。
  • アプリケーションのダウンタイムが長引く可能性があります。
  • 新しいバージョンと互換性がない場合、アプリケーションが動作しなくなる可能性があります。
  • このアップグレードのタイミングは、あなたの配備では制御でき ません。
  • この強制アップグレードにはロールバック処理はありません。

使用終了日については、バージョンポリシーのページを参照のこと。

PostgreSQL のメジャー・バージョンの変更ログ