Amazon RDS の PostgreSQL DB エンジンのアップグレード
PostgreSQL DB インスタンスで管理できる 2 つのタイプのアップグレードがあります。
-
OS の更新 – では、Amazon RDS は、セキュリティの修正や OS の変更を適用するために、DB インスタンスの基になるオペレーティングシステムの更新が必要になる場合があります。RDS コンソール、AWS Command Line Interface (AWS CLI)、または RDS API を使用して、Amazon RDS に OS の更新を適用するタイミングを指定できます。OS 更新接続の詳細については、「DB instanceへの更新の適用」を参照してください
-
データベースエンジンの更新 – Amazon RDS が新バージョンのデータベースエンジンをサポートすると、DB インスタンスをその新バージョンにアップグレードできます。
新しいバージョンのデータベースエンジンが Amazon RDS でサポートされている場合は、DB インスタンスをその新しいバージョンにアップグレードできます。PostgreSQL DB インスタンスのアップグレードには、メジャーバージョンのアップグレードとマイナーバージョンのアップグレードの 2 種類あります。
- メジャーバージョンのアップグレード
-
メジャーバージョンのアップグレードには、既存のアプリケーションとの下位互換性のないデータベースの変更が含まれる場合があります。そのため、DB インスタンスのメジャーバージョンアップグレードは手動で実行する必要があります。メジャーバージョンアップグレードを開始するには、DB インスタンスを変更します。ただし、メジャーバージョンのアップグレードを行う前に、「 PostgreSQL のメジャーバージョンアップグレードの選択 」で説明されている手順を実行することをお勧めします。メジャーバージョンのアップグレード中に、Amazon RDS はプライマリ DB インスタンスと共にすべてのリージョン内リードレプリカもアップグレードします。
- マイナーバージョンのアップグレード
-
それに対して、マイナーバージョンのアップグレードに含まれるのは、既存のアプリケーションとの下位互換性がある変更のみです。マイナーバージョンのアップグレードを手動で開始するには、DB インスタンスを変更します。または、DB インスタンスの作成時または変更時に、[Auto minor version upgrade (マイナーバージョン自動アップグレード)] を有効にすることができます。これにより、Amazon RDS によって新しいバージョンがテストおよび承認されると、DB インスタンスが自動的にアップグレードされます。PostgreSQL DB インスタンスでリードレプリケーションを使用している場合は、ソースインスタンスのマイナーバージョンのアップグレード前に、すべてのリードレプリカをアップグレードする必要があります。詳細については、「PostgreSQL のマイナーバージョンの自動アップグレード」を参照してください。マイナーバージョンアップグレードの手動での実行に関する詳細は、「エンジンバージョンの手動アップグレード」を参照してください。
トピック
PostgreSQL のアップグレードの概要
DB インスタンスを安全にアップグレードするために、Amazon RDS では、「PostgreSQL ドキュメントpg_upgrade
ユーティリティを使用します。
バックアップ保存期間が 0 を超える値の場合、Amazon RDS はアップグレードプロセス中に 2 つの DB スナップショットを作成します。最初の DB スナップショットは、アップグレードの変更が行われる前の DB インスタンスから作成されます。アップグレードがデータベースに対して機能しない場合は、このスナップショットを復元して、以前のバージョンを実行する DB インスタンスを作成できます。アップグレードの完了後に 2 番目の DB スナップショットが作成されます。
DB インスタンスのバックアップ保持期間を 0 より大きく設定した場合にのみ、Amazon RDS は、アップグレード中に DB スナップショットを作成します。バックアップ保持期間を変更するには、「Amazon RDS DB インスタンスを変更する」を参照してください。
プライマリ DB インスタンスをアップグレードすると、すべてのリージョン内リードレプリカも自動的にアップグレードされます。アップグレードワークフローが開始されると、レプリカインスタンスは、pg_upgrade
がプライマリ DB インスタンスで正常に完了するまで待機します。次に、プライマリインスタンスのアップグレードは、レプリカインスタンスのアップグレードが完了するまで待機します。アップグレードが完了するまで停止が発生します。以前のメジャーバージョンの古いレプリカがある場合、これらのレプリカはアップグレードされません。
DB インスタンスがマルチ AZ 配置にある場合は、プライマリライター DB インスタンスとスタンバイ DB インスタンスのいずれもアップグレードされます。ライターとスタンバイ DB インスタンスは同時にアップグレードされます。
アップグレードが完了したら、データベースエンジンの前のバージョンに戻すことはできません。前のバージョンに戻す必要がある場合は、アップグレードの前に作成された DB スナップショットを復元して、新しい DB インスタンスを作成します。
PostgreSQL のバージョン番号
PostgreSQL データベースエンジンのバージョン番号は、次のように付けられています。
-
PostgreSQL バージョン 10 以降では、エンジンのバージョン番号はメジャー.マイナーの形式になります。メジャーバージョンの番号は、バージョン番号の整数の部分です。マイナーバージョンの番号は、バージョン番号の小数の部分です。
メジャーバージョンのアップグレードでは、10.マイナーから 11.マイナーのように、バージョン番号の整数の部分が大きくなります。
-
10 より前のバージョンの PostgreSQL では、エンジンのバージョン番号はメジャー.メジャー.マイナーの形式になります。エンジンのメジャーバージョンの番号は、バージョン番号の整数と 1 つ目の小数の部分の両方です。例えば、9.6 はメジャーバージョンです。マイナーバージョンの番号は、バージョン番号の 3 つ目の部分です。例えば、バージョン 9.6.12 では、12 がマイナーバージョンの番号です。
メジャーバージョンのアップグレードでは、バージョン番号の主要な部分が大きくなります。例えば、9.6.12 から 10.11 へのアップグレードはメジャーバージョンのアップグレードで、9.6 と 10 がメジャーバージョンの番号です。
PostgreSQL のメジャーバージョンアップグレードの選択
メジャーバージョンのアップグレードには、以前のバージョンのデータベースと下位互換性のないデータベースの変更が含まれる場合があります。その場合、既存のアプリケーションが適切に動作しなくなることがあります。
そのため、Amazon RDS では、メジャーバージョンアップグレードは自動的に適用されません。メジャーバージョンアップグレードを実行するには、DB インスタンスを手動で変更します。本稼働 DB インスタンスにアップグレードを適用する前に、アップグレードを徹底的にテストしてアプリケーションが正常に動作することを確認してください。PostgreSQL メジャーバージョンアップグレードを行うには、「メジャーバージョンのアップグレードを実施する方法」に記載されているステップを実施することをお勧めします。
PostgreSQL データベースは、その次のメジャーバージョンにアップグレードすることができます。PostgreSQL データベースのバージョンによっては、アップグレード時に上位のメジャーバージョンにスキップすることができます。アップグレードでメジャーバージョンがスキップされると、リードレプリカもターゲットのメジャーバージョンにアップグレードされます。次の表は、ソース PostgreSQL データベースのバージョンと、アップグレードに使用できる関連するターゲットメジャーバージョンを示しています。
アップグレードターゲットは、ソースのマイナーバージョン以降と同時にリリースされた上位バージョンに有効になります。
データベースで PostGIS
拡張機能を使用している場合は、ソースとターゲットの組み合わせでメジャーバージョンをスキップすることはできません。このような場合、最新のマイナーバージョンにアップグレードしてから
PostgreSQL 12 にアップグレードし、最後に目的のターゲットバージョンにアップグレードします。
pgRouting
拡張機能は、メジャーバージョンをバージョン 11.x にスキップするアップグレードではサポートされていません。アップグレードがバージョン 9.5.x または 9.6.x
からバージョン 11.x 以降に移行する場合、メジャーバージョンはスキップされます。pgRouting
拡張機能を削除して、アップグレード後に再度追加できます。
tsearch2
および chkpass
の拡張機能は、PostgreSQL 11 以降ではサポートされていません。バージョン 11.x にアップグレードする場合は、アップグレードの前にこれらの拡張機能を削除してください。
現在のソースバージョン | 最新のアップグレードターゲット | 優先メジャーアップグレードターゲット | ||||
---|---|---|---|---|---|---|
10.14、11.9、12.4 | 13.3 | 13.3 | ||||
10.13、11.7、12.2 | 13.2 | 13.2 | ||||
11.12 | 13.3 | 13.3 | ||||
11.11 | 13.3 | 13.3 | 12.6 | |||
11.10 | 13.1 | 13.1 | 12.6 | 11.11 | ||
11.9、11.8、11.7、11.6、11.5、11.4、11.2、11.1 | 12.6 | 12.6 | 11.11 | |||
10.17 | 13.3 | 13.3 | ||||
10.16 | 13.2 | 13.2 | 12.6 | 11.11 | ||
10.15 | 13.1 | 13.1 | 12.5 | 11.11 | ||
10.14 | 12.4 | 12.4 | 11.11 | |||
10.13 | 12.3 | 12.3 | 11.11 | |||
10.12 | 12.2 | 12.2 | 11.11 | |||
10.11、10.10、10.9、10.7、10.6、10.5、10.4、10.3、10.1 | 11.11 | 11.11 | ||||
9.6.22 | 13.3 | 13.3 | ||||
9.6.21 | 13.2 | 13.2 | 12.6 | 11.11 | 10.16 | |
9.6.20 | 13.1 | 13.1 | 12.5 | 11.10 | 10.16 | |
9.6.19 | 12.4 | 12.4 | 11.9 | 10.16 | ||
9.6.18 | 12.3 | 12.3 | 11.8 | 10.16 | ||
9.6.17 | 12.2 | 12.2 | 11.7 | 10.16 | ||
9.6.16 | 11.6 | 11.6 | 10.16 | |||
9.6.15 | 11.5 | 11.5 | 10.16 | |||
9.6.14 | 11.4 | 11.4 | 10.16 | |||
9.6.12 | 11.2 | 11.2 | 10.16 | |||
9.6.11 | 11.1 | 11.1 | 10.16 | |||
9.6.10、9.6.9、9.6.8、9.6.6、9.6.5、9.6.3、9.6.2、9.6.1 | 10.16 | 10.16 | ||||
9.5.25 | 12.6 | 12.6 | 11.11 | 10.16 | 9.6.21 | |
9.5.24 | 12.5 | 12.5 | 11.10 | 10.16 | 9.6.21 | |
9.5.23 | 12.4 | 12.4 | 11.9 | 10.16 | 9.6.21 | |
9.5.22 | 12.3 | 12.3 | 11.8 | 10.16 | 9.6.21 | |
9.5.21 | 12.2 | 12.2 | 11.7 | 10.16 | 9.6.21 | |
9.5.20 | 11.6 | 11.6 | 10.16 | 9.6.21 | ||
9.5.19 | 11.5 | 11.5 | 10.16 | 9.6.21 | ||
9.5.18 | 11.4 | 11.4 | 10.16 | 9.6.21 | ||
9.5.16 | 11.2 | 11.2 | 10.16 | 9.6.21 | ||
9.5.15 | 11.1 | 11.1 | 10.16 | 9.6.21 | ||
9.5.14、9.5.13、9.5.12、9.5.10、9.5.9、9.5.9、9.5.7、9.5.6、9.5.4 | 9.6.21 | 9.6.21 |
特定の AWS リージョンにおける現在のソースバージョンの有効なアップグレードターゲットがすべて含まれたリストを取得するには、describe-db-engine-versions
CLI コマンドを使用します。次に例を示します。
export REGION=
eu-central-1
export ENDPOINT=https://rds.eu-central-1
.amazonaws.com export DBCURRENTVERSION=10.11 aws rds describe-db-engine-versions --engine postgres --region $REGION --endpoint $ENDPOINT --output text --query "*[].ValidUpgradeTarget[?IsMajorVersionUpgrade==`true`].{EngineVersion:EngineVersion}" --engine-versionDB-current-version
メジャーバージョンのアップグレードを実施する方法
Amazon RDS PostgreSQL の DB インスタンスをアップグレードする際は、次の手順を実行することをお勧めします。
-
バージョンとの互換性を持つパラメータグループの準備 – カスタムパラメータグループを使用している場合は、2 つのオプションがあります。新しい DB エンジンバージョンのデフォルトのパラメータグループを指定します。または、新しい DB エンジンバージョンの独自のカスタムパラメータグループを作成します。
新しいパラメータグループを DB インスタンスに関連付ける場合は、アップグレードの完了後にデータベースを再起動します。パラメータグループの変更を適用するためにインスタンスを再起動する必要がある場合、インスタンスのパラメータグループのステータスは
pending-reboot
と表示されます。インスタンスのパラメータグループのステータスをコンソールで表示するには、describe コマンド (例:describe-db-instances
) を使用します。 -
サポートされていない DB インスタンスクラスを確認する – データベースのインスタンスクラスが、アップグレード先の PostgreSQL バージョンと互換性があることを確認します。詳細については、「DB インスタンスクラスでサポートされている DB エンジン」を参照してください。
-
サポートされていない使用の確認
-
準備済みのトランザクション – アップグレードを実行する前に、すべての準備済みのトランザクションをコミットまたはロールバックします。
次のクエリを使用して、開いている準備済みのトランザクションがインスタンスにないことを確認します。
SELECT count(*) FROM pg_catalog.pg_prepared_xacts;
-
Reg* データ型 – アップグレードの実施前に reg* データ型の使用をすべて削除します。
regtype
とregclass
を除き、reg* データ型をアップグレードすることはできません。このデータ型は、Amazon RDS でのアップグレードで使用されているため、pg_upgrade ユーティリティで維持することはできません。サポートされていない reg* データ型が使用されていないことを確認するには、データベースごとに次のクエリを使用します。
SELECT count(*) FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_attribute a WHERE c.oid = a.attrelid AND NOT a.attisdropped AND a.atttypid IN ('pg_catalog.regproc'::pg_catalog.regtype, 'pg_catalog.regprocedure'::pg_catalog.regtype, 'pg_catalog.regoper'::pg_catalog.regtype, 'pg_catalog.regoperator'::pg_catalog.regtype, 'pg_catalog.regconfig'::pg_catalog.regtype, 'pg_catalog.regdictionary'::pg_catalog.regtype) AND c.relnamespace = n.oid AND n.nspname NOT IN ('pg_catalog', 'information_schema');
-
-
リードレプリカの処理 – アップグレードでは、プライマリインスタンスと共にリージョン内リードレプリカもアップグレードされます。
リードレプリカを個別にアップグレードすることはできません。個別にアップグレードできるとすると、プライマリインスタンスとレプリカインスタンスの PostgreSQL メジャーバージョンが一致しないという状況が生じる可能性があります。ただし、レプリカをアップグレードすると、プライマリインスタンスのダウンタイムが増加する場合があります。レプリカのアップグレードを防ぐには、レプリカをスタンドアロンインスタンスに昇格させるか、アップグレードプロセスを開始する前にレプリカを削除します。
アップグレードプロセスでは、レプリカインスタンスの現在のパラメータグループに基づいて、レプリカのパラメータグループが再作成されます。アップグレードの完了後にのみ、
modify-db-parameter-group
CLI コマンドを使用してカスタムパラメータグループをレプリカに適用できます。Virtual Private Cloud (VPC) プラットフォームのリードレプリカはアップグレードされますが、EC2-Classic プラットフォームのレプリカはアップグレードされません。EC2-Classic レプリカは、アップグレードプロセスが完了しても、レプリケーション終了状態のままになります。DB インスタンスを EC2-Classic プラットフォームから VPC に移動するには、「VPC 外の DB インスタンスを VPC 内に移行する」を参照してください。詳細については、「Amazon RDS での PostgreSQL リードレプリカの使用」を参照してください。
-
バックアップの実行 – データベースの復元ポイントを認識できるように、メジャーバージョンアップグレードを実行する前にはバックアップを実行しておくことをお勧めします。バックアップ保持期間を 0 より大きい値に設定すると、アップグレードプロセスにおいて、アップグレード前後に DB インスタンスの DB スナップショットが作成されます。バックアップ保持期間を変更するには、「Amazon RDS DB インスタンスを変更する」を参照してください。手動でバックアップを実行するには、「DB スナップショットの作成」を参照してください。
-
メジャーバージョンのアップグレード前に特定の拡張機能を更新する – アップグレードでメジャーバージョンをスキップする場合、メジャーバージョンのアップグレード前に特定の拡張機能を更新する必要があります。バージョン 9.5.x または 9.6.x からバージョン 11.x 以降へのアップグレードでは、メジャーバージョンがスキップされます。更新する拡張機能は以下のとおりです。
-
address_standardizer
-
address_standardizer_data_us
-
postGIS
-
postgis_tiger_geocoder
-
postgis_topology
使用している拡張機能ごとに次のコマンドを実行します。
ALTER EXTENSION
PostgreSQL-extension
UPDATE TO 'new-version
'詳細については、「PostgreSQL の拡張機能のアップグレード」を参照してください。
-
-
メジャーバージョンのアップグレード前の特定の拡張機能の削除 – メジャーバージョンをバージョン 11.x にスキップするアップグレードは、
pgRouting
拡張機能の更新をサポートしていません。バージョン 9.4.x、9.5.x、または 9.6.x からバージョン 11.x へのアップグレードでは、メジャーバージョンがスキップされます。pgRouting
拡張機能を削除し、アップグレード後に互換性のあるバージョンに再インストールできます。更新できる拡張機能のバージョンについては、Amazon RDS でサポートされる PostgreSQL の拡張機能 をご覧ください。tsearch2
およびchkpass
の拡張機能は、PostgreSQL バージョン 11 以降では現在サポートされていません。バージョン 11.x にアップグレードする場合は、アップグレードの前に、tsearch2
およびchkpass
拡張機能を削除します。 -
unknown データ型の削除 – ターゲットのバージョンに応じて、
unknown
データ型を削除します。PostgreSQL バージョン 10 では、
unknown
データ型のサポートは終了しています。バージョン 9.6 のデータベースでunknown
データ型を使用している場合、バージョン 10 にアップグレードすると次のようなエラーメッセージが表示されます。Database instance is in a state that cannot be upgraded: PreUpgrade checks failed: The instance could not be upgraded because the 'unknown' data type is used in user tables. Please remove all usages of the 'unknown' data type and try again."
データベース内の
unknown
データ型を検索して、問題の列を削除したり、サポートされているデータ型に変更したりするには、次の SQL を使用します。SELECT DISTINCT data_type FROM information_schema.columns WHERE data_type ILIKE 'unknown';
-
リハーサル更新の実行 – プロダクションデータベースのアップグレードを行う前に、プロダクションデータベースの複製でメジャーバージョンアップグレードをテストすることを強くお勧めします。テストインスタンスの複製を作成するには、データベースを最新スナップショットから復元するか、ポイントインタイムの復元を実行して復元可能な直近の時間でデータベースを復元します。詳細については、「スナップショットからの復元」または「特定の時点への DB instanceの復元」を参照してください。アップグレードの実施の詳細については、「エンジンバージョンの手動アップグレード」を参照してください。
メジャーバージョンのアップグレード中、
public
データベースとtemplate1
データベース、およびインスタンスのすべてのデータベースのpublic
スキーマは、一時的に名前が変更されます。これらのオブジェクトは、元の名前とランダム文字列を組み合わせた名前でログに表示されます。この文字列は、メジャーバージョンアップグレード時にlocale
やowner
などのカスタム設定が保持されるように追加されます。アップグレードが完了したら、これらのオブジェクト名は元の名前に戻ります。注記 メジャーアップグレードのプロセス中に、インスタンスのポイントインタイムの復元を実行することはできません。Amazon RDS でアップグレードが完了すると、インスタンスの自動バックアップが実施されます。ポイントインタイムの復元を実行できるのは、アップグレードの開始前およびインスタンスの自動バックアップ完了後です。
-
事前チェック手順エラーでアップグレードが失敗した場合、問題を解決します – メジャーバージョンのアップグレードプロセス中に、Amazon RDS の PostgreSQL は最初に事前チェック手順を実行して、アップグレードの失敗の原因となる可能性のある問題を特定します。事前チェック手順は、インスタンス内のすべてのデータベースにわたって潜在的な互換性のない条件をすべてチェックします。
事前チェックで問題が発生した場合、アップグレード事前チェックが失敗したことを示すログイベントが作成されます。事前確認プロセスの詳細は、DB インスタンスのすべてのデータベースの
pg_upgrade_precheck.log
と名前が付けられたアップグレードログにあります。Amazon RDS では、ファイル名にタイムスタンプが追加されます。ログの表示の詳細については、「Amazon RDS データベースログファイルの操作」を参照してください。レプリカのアップグレードが事前チェックで失敗した場合、失敗したレプリカのレプリケーションは中断され、レプリカは終了状態になります。レプリカを削除し、アップグレードしたプライマリインスタンスに基づいて、新しいレプリカを再作成します。
事前チェックログで特定されたすべての問題を解決してから、メジャーバージョンのアップグレードを再試行します。事前チェックログの例は次のようになります。
------------------------------------------------------------------------ Upgrade could not be run on Wed Apr 4 18:30:52 2018 ------------------------------------------------------------------------- The instance could not be upgraded from 9.6.11 to 10.6 for the following reasons. Please take appropriate action on databases that have usage incompatible with the requested major engine version upgrade and try the upgrade again. * There are uncommitted prepared transactions. Please commit or rollback all prepared transactions.* One or more role names start with 'pg_'. Rename all role names that start with 'pg_'. * The following issues in the database 'my"million$"db' need to be corrected before upgrading:** The ["line","reg*"] data types are used in user tables. Remove all usage of these data types. ** The database name contains characters that are not supported by RDS for PostgreSQL. Rename the database. ** The database has extensions installed that are not supported on the target database version. Drop the following extensions from your database: ["tsearch2"]. * The following issues in the database 'mydb' need to be corrected before upgrading:** The database has views or materialized views that depend on 'pg_stat_activity'. Drop the views.
-
データベースのアップグレード中にレプリカのアップグレードが失敗した場合は、問題を解決します – 失敗したレプリカは
incompatible-restore
状態になり、レプリケーションは DB インスタンスで終了します。レプリカを削除し、アップグレードしたプライマリインスタンスに基づいて、新しいレプリカを再作成します。レプリカのアップグレードは、次の理由で失敗することがあります。
-
待機時間が経過してもプライマリインスタンスにキャッチアップできなかった。
-
ストレージ不足、互換性のない復元など、最終状態または互換性のないライフサイクル状態であった。
-
プライマリインスタンスのアップグレードの開始時に、レプリカで別のマイナーバージョンのアップグレードが実行されていた。
-
レプリカインスタンスで互換性のないパラメータを使用していた。
-
レプリカインスタンスがプライマリインスタンスと通信できず、データフォルダを同期できなかった。
-
-
本番稼働用インスタンスのアップグレード – リハーサルのメジャーバージョンアップグレードに成功すれば、自信を持って本番稼働用のプロダクションデータベースをアップグレードできます。詳細については、「エンジンバージョンの手動アップグレード」を参照してください。
メジャーバージョンのアップグレードが完了したら、次のことをお勧めします。
-
ANALYZE
テーブルを更新するpg_statistic
操作を実行します。 -
PostgreSQL アップグレードでは、PostgreSQL 拡張機能はアップグレードされません。拡張機能をアップグレードするには、「PostgreSQL の拡張機能のアップグレード」を参照してください。
-
オプションで、Amazon RDS を使用して、pg_upgrade ユーティリティによって作成される 2 つのログを表示できます。表示できるのは
pg_upgrade_internal.log
およびpg_upgrade_server.log
です。Amazon RDS では、これらのログのファイル名にタイムスタンプが追加されます。これらのログも、他のログと同様、表示できます。詳細については、「Amazon RDS データベースログファイルの操作」を参照してください。Amazon CloudWatch Logs にアップグレードログをアップロードすることもできます。詳細については、「Amazon CloudWatch Logs への PostgreSQL ログの発行」を参照してください。
-
すべてが期待どおりに機能することを確認するには、同様のワークロードでアップグレードされたデータベースでアプリケーションをテストします。アップグレードが確認されたら、このテストインスタンスを削除できます。
PostgreSQL のマイナーバージョンの自動アップグレード
DB インスタンスの作成時または変更時に、[マイナーバージョン自動アップグレード] を有効にした場合、DB インスタンスは自動的にアップグレードされます。
RDS for PostgreSQL の各メジャーバージョンでは、RDS によって 1 つのマイナーバージョンが自動アップグレードバージョンとして指定されます。Amazon RDS でマイナーバージョンのテストと承認が完了すると、メンテナンスウィンドウの間にマイナーバージョンアップグレードが自動的に行われます。RDS では、新しくリリースされたマイナーバージョンが自動アップグレードバージョンとして自動的に設定されることはありません。RDS によって新しい自動アップグレードバージョンが指定される前に、以下のような複数の基準が考慮されます。
-
既知のセキュリティの問題
-
PostgreSQL コミュニティバージョンのバグ
-
マイナーバージョンがリリースされてからのフリート全体の安定性
以下の AWS CLI コマンドとスクリプトを使用して、現在の自動アップグレードマイナーバージョンを確認できます。
aws rds describe-db-engine-versions --engine postgres | grep -A 1 AutoUpgrade| grep -A 2 True |grep PostgreSQL | sort --unique | sed -e 's/"Description": "//g'
結果が返されない場合、マイナーバージョンの自動アップグレードが利用可能でなくスケジュールもされていません。
PostgreSQL DB インスタンスは、以下の基準を満たしている場合、メンテナンスウィンドウの間に自動的にアップグレードされます。
-
DB インスタンスの [Auto minor version upgrade (マイナーバージョン自動アップグレード)] オプションは有効になっています。
-
DB インスタンスでは、現在の自動アップグレードマイナーバージョン未満の DB エンジンのマイナーバージョンが実行されています。
詳細については、「マイナーエンジンバージョンの自動アップグレード」を参照してください。
PostgreSQL のアップグレードでは、PostgreSQL の拡張機能はアップグレードされません。拡張機能をアップグレードするには、「PostgreSQL の拡張機能のアップグレード」を参照してください。
PostgreSQL の拡張機能のアップグレード
PostgreSQL エンジンのアップグレードでは、PostgreSQL のほとんどの拡張機能はアップグレードされません。バージョンアップグレードの後に拡張機能を更新するには、ALTER EXTENSION UPDATE
のコマンドを使用します。
Amazon RDS の PostgreSQL DB インスタンスで PostGIS
拡張機能を実行している場合は、PostGIS ドキュメントの「PostGIS のアップグレード手順
拡張機能をアップグレードするには、次のコマンドを使用します。
ALTER EXTENSION extension_name
UPDATE TO 'new_version
'
PostgreSQL 拡張機能のサポートされているバージョンのリストについては、「Amazon RDS でサポートされる PostgreSQL の拡張機能」を参照してください。
現在インストールされている拡張機能を一覧表示するには、次のコマンドで PostgreSQL の pg_extension
SELECT * FROM pg_extension;
インストールで使用可能な特定の拡張機能バージョンのリストを表示するには、次のコマンドで PostgreSQL の pg_available_extension_versions
SELECT * FROM pg_available_extension_versions;