RDS for PostgreSQL で拡張機能を使用しているか確認するには

2021.06.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

RDS for PostgreSQL でメジャーバージョンのアップグレードを計画しているため、拡張機能を使用しているか確認したいです。

確認方法を教えてください。

どう対応すればいいの?

RDS for PostgreSQL で現在インストールされている拡張機能を一覧表示するには 該当の DB インスタンスへ接続し、以下のコマンドを実行します。

SELECT * FROM pg_extension;

  • 以下の2点を比較し、拡張機能を使用しているかご確認ください
    • ご利用中の PostgreSQL バージョンのデフォルトの拡張機能
    • 対象 DB インスタンスで利用している拡張機能

参考情報

以下は RDS for PostgreSQL を起動し、デフォルトの拡張機能のままコマンドを実行した結果の例です。

※2021年6月15日現在 の情報となります

PostgreSQL 9.6.21 のデフォルト設定

SELECT * FROM pg_extension;
{
  "extname": "plpgsql",
  "extowner": 10,
  "extnamespace": 11,
  "extrelocatable": false,
  "extversion": "1.0",
  "extconfig": null,
  "extcondition": null
}

PostgreSQL 12.6 のデフォルト設定

SELECT * FROM pg_extension;
{
  "oid": xxxxx,
  "extname": "plpgsql",
  "extowner": 10,
  "extnamespace": 11,
  "extrelocatable": false,
  "extversion": "1.0",
  "extconfig": null,
  "extcondition": null
}

PostgreSQL 13.2 のデフォルト設定

SELECT * FROM pg_extension;
{
  "oid": xxxxx,
  "extname": "plpgsql",
  "extowner": 10,
  "extnamespace": 11,
  "extrelocatable": false,
  "extversion": "1.0",
  "extconfig": null,
  "extcondition": null
}

現在、AWS からアップグレードが促されている PostgreSQL 9.6 系と、アップグレード先の候補である 12 系、13 系のデフォルト設定の例を掲載しました。 12.6、13.2 では oid という項目が追加されていますが、その他のデフォルトの項目に変更はありませんでした。

参考資料

Amazon RDS の PostgreSQL DB エンジンのアップグレード - Amazon Relational Database Service