Amazon RDS for PostgreSQL - Amazon Relational Database Service

Amazon RDS for PostgreSQL

Amazon RDS では、PostgreSQL の複数のバージョンを実行する DB インスタンスがサポートされています。利用可能なバージョンのリストについては、「利用可能な PostgreSQL データベースのバージョン」を参照してください。

注記

2022 年 4 月 26 日に、PostgreSQL 9.6 の廃止が予定されています。詳細については、「PostgreSQL バージョン 9.6 の廃止」を参照してください。

DB インスタンス、DB スナップショット、ポイントインタイムの復元とバックアップを作成できます。PostgreSQL を実行する DB インスタンスでは、マルチ AZ 配置、リードレプリカ、プロビジョンド IOPS がサポートされています。これらのインスタンスは、仮想プライベートクラウド (VPC) 内で作成できます。PostgreSQL を実行する DB インスタンスには Secure Socket Layer (SSL) でも接続できます。

DB インスタンスを作成する前に、必ず「Amazon RDS 環境のセットアップ」の手順を完了してください。

スタンダード的な SQL クライアントアプリケーションを使用して、クライアントコンピュータからインスタンスに対してコマンドを実行できます。例えば、pgAdmin (PostgreSQL 用に普及しているオープンソースの管理および開発ツール) や psql (PostgreSQL インストールに含まれるコマンドラインユーティリティ) などのアプリケーションを使用できます。マネージド型サービスエクスペリエンスを提供するために、Amazon RDS では DB インスタンスへのホストアクセスが許可されません。また、アドバンストの特権を必要とする特定のシステムの手順やテーブルへのアクセスも制限されいます。Amazon RDS は、任意のスタンダード SQL クライアントアプリケーションによる、DB インスタンス上のデータベースへのアクセスがサポートされています。Amazon RDS では、Telnet またはセキュアシェル (SSH) を使用しての、DB インスタンスへのダイレクトホストアクセスは許可されません。

Amazon RDS for PostgreSQL は、多くの業界スタンダードに準拠しています。例えば、Amazon RDS for PostgreSQL データベースを使用して、HIPAA 準拠アプリケーションをビルドしたり、医療関連の情報を保存したりできます。これには、AWS との間で締結された事業提携契約 (BAA) に基づく保護されるべき医療情報 (PHI) の保存が含まれます。また、Amazon RDS for PostgreSQL は、Federal Risk and Authorization Management Program (FedRAMP) のセキュリティ要件を満たしています。Amazon RDS for PostgreSQL は、AWS GovCloud (US) リージョンにおいて、FedRAMP Joint Authorization Board (JAB) の Provisional Authority to Operate (P-ATO) として、FedRAMP High ベースラインの認証を受けています。サポートされるコンプライアンススタンダードの詳細については、AWS クラウドコンプライアンスを参照してください。

PostgreSQL データを DB インスタンスにインポートするには、「Amazon RDS の PostgreSQL にデータをインポートする」セクションの説明に従ってください。

トピック

Amazon RDS for PostgreSQL の一般的な管理タスク

以下に示しているのは、Amazon RDS for PostgreSQL DB インスタンスで実行する一般的な管理タスクと、各タスクの関連ドキュメントへのリンクです。

RDS for PostgreSQL の重要な機能の理解と使用に役立つ、このガイドの他のセクションのリストは次のとおりです。

データベースプレビュー環境の使用

PostgreSQL コミュニティは、ベータバージョンを含め、新しい PostgreSQL バージョンとエクステンションを絶えずリリースしています。これにより、PostgreSQL ユーザーは新しい PostgreSQL バージョンを早期に試すことができます。PostgreSQL コミュニティのベータリリースプロセスの詳細については、PostgreSQL ドキュメントの「ベータ情報」を参照してください。同様に、Amazon RDS では特定の PostgreSQL ベータバージョンをプレビューリリースとして提供するようにしています。これにより、プレビューバージョンを使用して DB インスタンスを作成し、その機能をデータベースプレビュー環境でテストできます。

データベースプレビュー環境の RDS for PostgreSQL DB インスタンスは、機能的に他の RDS for PostgreSQL インスタンスに似ています。ただし、プレビューバージョンは本稼働に使用できません。

次の重要な制約事項に留意してください。

  • すべての DB インスタンスは、作成から 60 日後にバックアップおよびスナップショットとともに削除されます。

  • DB インスタンスは、Amazon VPC サービスに基づく仮想プライベートクラウド (VPC) でのみ作成できます。

  • 汎用 SSD およびプロビジョンド IOPS SSD ストレージのみを使用できます。

  • DB インスタンスに関して AWS サポートからヘルプを受けることはできません。代わりに、AWS マネージド Q&A コミュニティ、AWS re:Post に質問を投稿できます。

  • DB インスタンスのスナップショットを本稼働環境にコピーすることはできません。

プレビューでは、以下のオプションがサポートされています。

  • DB インスタンスは、M6i、R6i、M6g、M5、T3、R6g、および R5 インスタンスタイプのみで作成できます。RDS インスタンスクラスの詳細については、「 DB インスタンスクラス」を参照してください。

  • シングル AZ 配置とマルチ AZ 配置の両方を使用できます。

  • スタンダードの PostgreSQL ダンプおよびロード機能を使用して、データベースをデータベースプレビュー環境にエクスポートしたり、データベースプレビュー環境にインポートしたりできます。

データベースプレビュー環境でサポートされない機能

以下の機能は、データベースプレビュー環境で使用できません。

  • クロスリージョンスナップショットのコピー

  • クロスリージョンリードレプリカ

データベースプレビュー環境での新しい DB インスタンスの作成

プレビュー環境で DB インスタンスを作成するには、次の手順を使用します。

データベースプレビュー環境で新しい DB インスタンスを作成するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[ダッシュボード] を選択します。

  3. [Dashboard] (ダッシュボード) ページで、次の図に示すように、[Dashboard] (ダッシュボード) ページの [Database Preview Environment] (データベースプレビュー環境) セクションを見つけます。

    RDS コンソール、ダッシュボードにリンクが表示されたプレビュー環境セクション

    また、[データベースプレビュー環境] に直接移動することもできます。先に進む前に、制限事項を確認して同意する必要があります。

    プレビュー環境制約事項ダイアログ
  4. RDS for PostgreSQL DB インスタンスを作成するには、任意の Amazon RDS DB インスタンスを作成する場合と同じプロセスに従います。詳細については、DB インスタンスの作成 下の コンソール 手順を参照してください。

RDS API または AWS CLI を使用してデータベースプレビュー環境でインスタンスを作成するには、次のエンドポイントを使用します。

rds-preview.us-east-2.amazonaws.com

データベースプレビュー環境の PostgreSQL バージョン 17

注記

これは Amazon RDS PostgreSQL バージョン 17 のプレビュードキュメントです。このドキュメントは変更される可能性があります。

PostgreSQL バージョン 17 RC1 が Amazon RDS データベースプレビュー環境で利用可能になりました。PostgreSQL バージョン 17 RC1 には、PostgreSQL ドキュメント「PostgreSQL 17 RC1 Released!」に記載されているいくつかの改善点が含まれています。

データベースプレビュー環境の詳細については、「データベースプレビュー環境の使用」を参照してください。コンソールからプレビュー環境にアクセスするには、https://console.aws.amazon.com/rds-preview/ を選択します。

利用可能な PostgreSQL データベースのバージョン

Amazon RDS では、PostgreSQL の複数のエディションを実行する DB インスタンスがサポートされています。新しい DB インスタンスを作成する際、現在利用可能な PostgreSQL バージョンであればどれでも指定できます。メジャーバージョン (PostgreSQL 14 など) と、指定したメジャーバージョンで利用可能な任意のマイナーバージョンを指定できます。バージョンを指定しない場合、Amazon RDS では、利用可能なバージョン (通常は最新バージョン) がデフォルトで設定されます。マイナーバージョンではなく、メジャーバージョンを指定した場合は、Amazon RDS では、お客様が指定したメジャーバージョンの最新リリースにデフォルトで設定されます。

利用可能なバージョンのリストと、新しく作成された DB インスタンスのデフォルト設定を表示するには、AWS CLI の describe-db-engine-versions コマンドを使用します。例えば、デフォルトの PostgreSQL エンジンのバージョンを表示するには、次のコマンドを使用します。

aws rds describe-db-engine-versions --default-only --engine postgres

Amazon RDS でサポートされている PostgreSQL バージョンの詳細については、Amazon RDS for PostgreSQL リリースノートを参照してください。

RDS 標準サポート終了日より前に新しいメジャーエンジンバージョンに手動でアップグレードする準備ができていない場合、Amazon RDS は RDS 標準サポート終了日以降にデータベースを Amazon RDS 延長サポートに自動的に登録します。その後、RDS for PostgreSQL バージョン 11 以降を引き続き実行できます。詳細については、「Amazon RDS 延長サポートの使用」および「Amazon RDS の料金」を参照してください。

PostgreSQL バージョン 10 の廃止

2023 年 4 月 17 日、Amazon RDS では、PostgreSQL 10 の非推奨化を次のスケジュールで予定しています。対策を講じて、メジャーバージョン 10 で実行されている PostgreSQL データベースを PostgreSQL バージョン 14 などの新しいバージョンにアップグレードすることをお勧めします。RDS for PostgreSQL メジャーバージョン 10 DB インスタンスを 10.19 より古い PostgreSQL バージョンからアップグレードするには、最初にバージョン 10.19 にアップグレードしてから、バージョン 14 にアップグレードすることをお勧めします。詳細については、「Amazon RDS の PostgreSQL DB エンジンのアップグレード」を参照してください。

アクションまたは推奨事項 日付

PostgreSQL コミュニティは PostgreSQL 10 を廃止する予定で、この日以降はセキュリティパッチを提供しません。

2022 年 11 月 10 日

RDS for PostgreSQL 10 DB インスタンスを、PostgreSQL 14 などの新しいメジャーバージョンへのアップグレードを開始します。引き続き PostgreSQL 10 のスナップショットの復元や、バージョン 10 のリードレプリカの作成はできますが、この廃止スケジュールについて、その他の重要な日付と、その影響には注意していてください。

2023 年 2 月 14 日まで

この日付を過ぎると、AWS Management Console または AWS CLI のいずれを使用しても、PostgreSQL メジャーバージョン 10 で新しい Amazon RDS インスタンスを作成することはできません。

2023 年 2 月 14 日

この日以降、Amazon RDS は、PostgreSQL 10 インスタンスを、バージョン 14 に自動的にアップグレードします。PostgreSQL 10 のデータベーススナップショットを復元すると、Amazon RDS は復元されたデータベースを、PostgreSQL 14 に自動的にアップグレードします。

2023 年 4 月 17 日

RDS for PostgreSQL バージョン 10 の廃止に関する詳しい情報については、AWS re: POST の 「[お知らせ]: RDS for PostgreSQL 10 の廃止」を参照してください。

PostgreSQL バージョン 9.6 の廃止

2022 年 3 月 31 日、Amazon RDS では、PostgreSQL 9.6 の非推奨化を次のスケジュールで予定しています。これにより、以前に発表された日付の 2022 年 1 月 18 日が、2022 年 4 月 26 日まで延長されます。できるだけ早く、すべての PostgreSQL 9.6 DB インスタンスを、PostgreSQL 12 以降にアップグレードする必要があります。間のメジャーバージョンにアップグレードするのではなく、まずマイナーバージョンの 9.6.20 以上にアップグレードしてから、PostgreSQL 12 に直接アップグレードすることをお勧めします。詳細については、「Amazon RDS の PostgreSQL DB エンジンのアップグレード」を参照してください。

アクションまたは推奨事項 日付

PostgreSQL コミュニティは PostgreSQL 9.6 のサポートを終了し、このバージョンのバグ修正やセキュリティパッチを提供しなくなります。

2021 年 11 月 11 日

できるだけ早く、RDS for PostgreSQL 9.6 DB インスタンスを PostgreSQL 12 以降にアップグレードしてください。引き続き PostgreSQL 9.6 のスナップショットの復元や、バージョン 9.6 のリードレプリカの作成はできますが、この廃止スケジュールについて、その他の重要な日付と、その影響には注意していてください。

2022 年 3 月 31 日まで

この日付を過ぎると、AWS Management Console または AWS CLI のいずれを使用しても、PostgreSQL メジャーバージョン 9.6 で新しい Amazon RDS インスタンスを作成することはできません。

2022 年 3 月 31 日

この日以降、Amazon RDS は、PostgreSQL 9.6 インスタンスを、バージョン 12 に自動的にアップグレードします。PostgreSQL 9.6 のデータベーススナップショットを復元すると、Amazon RDS は復元されたデータベースを、PostgreSQL 12 に自動的にアップグレードします。

2022 年 4 月 26 日

Amazon RDS for PostgreSQL の非推奨バージョン

RDS for PostgreSQL 9.5 は、2021 年 3 月に廃止されました。DS for PostgreSQL 9.5 の非推奨化の詳細については、「Upgrading from Amazon RDS for PostgreSQL version 9.5」( バージョン 9.5 からのアップグレード) を参照してください。

RDS for PostgreSQL の非推奨ポリシーの詳細については、「Amazon RDS のよくある質問」を参照してください。PostgreSQL のバージョンの詳細については、PostgreSQL のドキュメントの「Versioning Policy」(バージョニングポリシー) を参照してください。

サポートされている PostgreSQL 拡張機能バージョン

RDS for PostgreSQL は、多くの PostgreSQL エクステンションをサポートしています。PostgreSQL コミュニティでは、これらをモジュールと呼ぶことがあります。エクステンションは、PostgreSQL エンジンが提供する機能を拡張します。Amazon RDS がサポートするエクステンションのリストは、該当する PostgreSQL バージョンのデフォルトの DB パラメータグループで確認できます。また、次の例に示すように、psqlrds.extensions パラメータを表示することで、最新のエクステンションのリストを確認することもできます。

SHOW rds.extensions;
注記

マイナーバージョンのリリースで追加されたパラメータは、rds.extensionspsql パラメータを使用する際に正しく表示されない場合があります。

RDS for PostgreSQL 13 以降、rds_superuser 以外のデータベースユーザーがインストールできる拡張機能があります。これらは、信頼できる拡張機能として知られています。詳細については、「PostgreSQL 信頼できるエクステンション」を参照してください。

RDS for PostgreSQL の特定のバージョンでは、rds.allowed_extensions パラメータに対応しています。このパラメータにより、rds_superuser は RDS for PostgreSQL DB インスタンスにインストールできる拡張機能を制限します。(詳しくは、「PostgreSQL エクステンションのインストールを制限する」を参照してください。)

利用できる各 RDS for PostgreSQL バージョンでサポートされている PostgreSQL 拡張機能のリストについては、Amazon RDS for PostgreSQL リリースノートの「Amazon RDS でサポートされる PostgreSQL の拡張機能」を参照してください。

PostgreSQL エクステンションのインストールを制限する

PostgreSQL DB インスタンスにインストールできるエクステンションを制限できます。デフォルトでは、このパラメータは設定されていないため、ユーザーに権限がある場合は、サポートされている任意の拡張機能を追加できます。そのためには、rds.allowed_extensions パラメータをカンマで区切った拡張子名の文字列に設定します。このパラメータに拡張機能のリストを追加すると、RDS for PostgreSQL DB インスタンスで使用できる拡張機能が明示的に特定できます。その後、PostgreSQL DB インスタンスにインストールできるのは、これらのエクステンションだけです。

rds.allowed_extensions パラメータのデフォルトの文字列は '*' です。これは、そのエンジンのバージョンで使用できるエクステンションは何でもインストールできることを意味します。動的パラメータであるため、rds.allowed_extensions パラメータを変更しても、データベースを再起動する必要はありません。

rds.allowed_extensions パラメータを使用するには、PostgreSQL DB インスタンスエンジンは次のバージョンのいずれかである必要があります。

  • すべての PostgreSQL 16 バージョン

  • PostgreSQL 15 以降のすべてのバージョン

  • PostgreSQL 14 以降のすべてのバージョン

  • PostgreSQL 13.3 以降のマイナーバージョン

  • PostgreSQL 12.7 以降のマイナーバージョン

どのエクステンションのインストールが許可されているかを確認するには、次の psql コマンドを使用します。

postgres=> SHOW rds.allowed_extensions; rds.allowed_extensions ------------------------ *

エクステンションが rds.allowed_extensions パラメータのリストから除外される前にインストールされていた場合でも、エクステンションは正常に使用でき、ALTER EXTENSIONDROP EXTENSION などのコマンドは引き続き機能します。ただし、エクステンションが制限されると、制限されたエクステンションの CREATE EXTENSION コマンドは失敗します。

CREATE EXTENSION CASCADE とのエクステンションの依存関係のインストールも制限されています。エクステンションとその依存関係は、rds.allowed_extensions で指定する必要があります。拡張依存のインストールが失敗すると、CREATE EXTENSION CASCADE 文全体が失敗します。

rds.allowed_extensions パラメータにエクステンションが含まれていない場合、インストールしようとすると、次のようなエラーが表示されます。

ERROR: permission denied to create extension "extension-name" HINT: This extension is not specified in "rds.allowed_extensions".

PostgreSQL 信頼できるエクステンション

ほとんどの PostgreSQL エクステンションをインストールするには、rds_superuser 権限が必要です。PostgreSQL 13 では、信頼できるエクステンションが導入されました。これにより、一般ユーザーに rds_superuser 特権を付与する必要が少なくなります。この機能を使用すると、ユーザーは、CREATE ロールを要求する代わりに、現在のデータベースに対する rds_superuser 権限を持っている場合、多くのエクステンションをインストールできます。詳細については、PostgreSQL ドキュメントの SQL CREATE EXTENSION コマンドを参照してください。

以下に、現在のデータベースに対する CREATE 権限を持ち、rds_superuser ロールを必要としないユーザーがインストールできるエクステンションを示します。

利用できる各 RDS for PostgreSQL バージョンでサポートされている PostgreSQL 拡張機能のリストについては、Amazon RDS for PostgreSQL リリースノートの「Amazon RDS でサポートされる PostgreSQL の拡張機能」を参照してください。