

# PostgreSQL 拡張機能のアップグレード
<a name="USER_UpgradeDBInstance.Upgrading.ExtensionUpgrades"></a>

Aurora PostgreSQL DB クラスターを新しいメジャーバージョンまたはマイナーバージョンにアップグレードしても、PostgreSQL 拡張機能が同時にアップグレードされるわけではありません。ほとんどの拡張機能については、メジャーバージョンまたはマイナーバージョンのアップグレード完了後にアップグレードします。ただし、場合によっては、Aurora PostgreSQL DB エンジンをアップグレードする前に拡張機能をアップグレードすることもあります。詳細については、[本番稼働用の DB クラスターの新しいメジャーバージョンへのアップグレードをテストする](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md#USER_UpgradeDBInstance.PostgreSQL.MajorVersion.Upgrade.preliminary)の「[list of extensions to update](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md#upgrade-extensions)」を参照してください。

PostgreSQL 拡張機能をインストールするには、`rds_superuser` 権限が必要です。通常、特定の拡張機能の管理を容易にするために、`rds_superuser` が特定の拡張機能に対する権限を関連するユーザー (ロール) に委任します。つまり、Aurora PostgreSQL DB クラスター内のすべての拡張機能をアップグレードするタスクには、さまざまなユーザー (ロール) が含まれる可能性があります。スクリプトを使用してアップグレードプロセスを自動化する場合も、この点に注意してください。PostgreSQL の権限とロールの詳細については、「[Amazon Aurora PostgreSQL でのセキュリティ](AuroraPostgreSQL.Security.md)」を参照してください。

**注記**  
PostGIS 拡張機能の更新については、「[PostGIS 拡張機能を使用した空間データの管理](Appendix.PostgreSQL.CommonDBATasks.PostGIS.md) ([ステップ 6: PostGIS 拡張機能を更新する](Appendix.PostgreSQL.CommonDBATasks.PostGIS.md#Appendix.PostgreSQL.CommonDBATasks.PostGIS.Update))」を参照してください。  
`pg_repack` 拡張機能を更新する場合、拡張機能をドロップしてアップグレードされた DB インスタンスに新しいバージョンを作成します。詳細については、「`pg_repack` ドキュメント」の「[pg\$1repack installation](https://reorg.github.io/pg_repack/)」(pg\$1repack のインストール) を参照してください。

エンジンのアップグレード後に拡張機能を更新するには、`ALTER EXTENSION UPDATE` コマンドを使用します。

```
ALTER EXTENSION extension_name UPDATE TO 'new_version';
```

現在インストールされている拡張機能を一覧表示するには、次のコマンドで PostgreSQL の [pg\$1extension](https://www.postgresql.org/docs/current/catalog-pg-extension.html) カタログを使用します。

```
SELECT * FROM pg_extension;
```

インストールで使用可能な特定の拡張機能バージョンのリストを表示するには、次のコマンドで PostgreSQL の [pg\$1available\$1extension\$1versions](https://www.postgresql.org/docs/current/view-pg-available-extension-versions.html) ビューを使用します。

```
SELECT * FROM pg_available_extension_versions;
```