次の方法で共有


Azure Database for PostgreSQL - フレキシブル サーバーにおいて PostgreSQL 拡張機能を管理する

適用対象: Azure Database for PostgreSQL - フレキシブル サーバー

Azure Database for PostgreSQL フレキシブル サーバーでは、拡張機能を使用してデータベースの機能を拡張できます。 拡張機能により、関連する複数の SQL オブジェクトを単一のパッケージにバンドルして、単一のコマンドで読み込みやデータベースからの削除を実行できます。 データベースに読み込まれると、拡張機能は組み込み機能と同じように機能します。

拡張機能を許可する

Azure Database for PostgreSQL フレキシブル サーバーに拡張機能をインストールする前に、それらの拡張機能を許可して使用対象の一覧に載せる必要があります。

Azure portal を使用して以下を実行します。

  1. Azure Database for PostgreSQL フレキシブル サーバー インスタンスを選択します。

  2. リソース メニューの [設定] セクションで、[サーバー パラメーター] を選択します。

  3. 許可リストに載せる拡張機能を、[azure.extensions] パラメーター内の使用可能なものから選択し、[保存] を選択します。

    許可リストのスクリーンショット。

ライブラリを読み込む

shared_preload_libraries は、Azure Database for PostgreSQL フレキシブル サーバーの起動時に読み込まれるライブラリを決定するサーバー構成パラメーターです。 共有メモリを使用するライブラリは、このパラメーターを使用して読み込む必要があります。 拡張機能を共有プリロード ライブラリに追加する必要がある場合は、次の手順に従います。

Azure portal を使用して以下を実行します。

  1. Azure Database for PostgreSQL フレキシブル サーバー インスタンスを選択します。

  2. リソース メニューの [設定] セクションで、[サーバー パラメーター] を選択します。

  3. [shared_preload_libraries] の値の中に追加するライブラリを含めて、[保存] を選択します。

    [shared_preload_libraries] を設定中の [サーバー パラメーター] ページのスクリーンショット。

  4. shared_preload_libraries は静的サーバー パラメーターであるため、この変更を有効にするにはサーバーの再起動が必要です。

    変更を保存して再起動できるダイアログが表示されている [サーバー パラメーター] ページのスクリーンショット。

拡張機能の作成

拡張機能を許可リストに載せると、また、その拡張機能に必要な場合は shared_load_libraries にも追加すると、それを使用する各データベース内に作成またはインストールできます。

  1. 拡張機能を作成するには、ユーザーは azure_pg_admin ロールのメンバーである必要があります。

  2. 特定の拡張機能を作成またはインストールするには、CREATE EXTENSION コマンドを実行します。 このコマンドで、パッケージ化されたオブジェクトがデータベースに読み込まれます。

Note

Azure Database for PostgreSQL フレキシブル サーバーで提供されるサード パーティ拡張機能は、オープンソース ライセンスのコードです。 プレミアムまたは独自のライセンス モデルを使用したサード パーティ拡張機能や拡張機能バージョンは Microsoft から提供されていません。

Azure Database for PostgreSQL フレキシブル サーバー インスタンスでは、主要な PostgreSQL 拡張機能のサブセットがサポートされています。これは、サポートされている拡張機能 (名前別) またはサポートされている拡張機能 (PostgreSQL バージョン別) に記載されているとおりです。 この情報は、SHOW azure.extensions;を実行して確認することもできます。 それらの一覧の中に記載されていない拡張機能は、Azure Database for PostgreSQL フレキシブル サーバーに対してサポートされていません。 Azure Database for PostgreSQL フレキシブル サーバーにおいては、独自の拡張機能を作成したり読み込んだりすることはできません。

拡張機能の削除

拡張機能を削除するには、まずそれを許可リストに載せてください

  1. 拡張機能を削除するには、ユーザーは azure_pg_admin ロールのメンバーである必要があります。

  2. 特定の拡張機能を削除またはアンインストールするには、DROP EXTENSION コマンドを実行します。 このコマンドは、その拡張機能内にパッケージ化されたオブジェクトをデータベースから削除します。

拡張機能の更新

インストール済みの拡張機能を、Azure でサポートされている利用可能な最新バージョンに更新するには、次の SQL コマンドを使用します。

ALTER EXTENSION <extension_name> UPDATE;

このコマンドを使用すると、ユーザーが Azure で承認された最新バージョンに手動でアップグレードできるため、データベース拡張機能の管理が簡素化され、互換性とセキュリティの両方が強化されます。

制限事項

拡張機能の更新は簡単ですが、特定の制限があります。

  • 特定のバージョンの選択: このコマンドは、拡張機能の中間バージョンへの更新をサポートしていません。

  • ダウングレード: 拡張機能は以前のバージョンにダウングレードできません。 ダウングレードが必要な場合はサポートの支援が必要になる可能性があり、以前のバージョンの可用性によって異なります。

インストール済み拡張機能の表示

データベースに現在インストールされている拡張機能を一覧表示するには、次の SQL コマンドを使用します。

SELECT * FROM pg_extension;

考えられるエラー

拡張機能 "%s" は Azure Database for PostgreSQL の "azure_pg_admin" ユーザーに対する使用許可リストに載っていません

このエラーは、許可リストに載っていない拡張機能、またはコマンドを実行している Azure Database for フレキシブル サーバーのインスタンス上でまだサポートされていない拡張機能を参照している CREATE EXTENSION または DROP EXTENSION コマンドを実行する場合に発生します。

"azure_pg_admin" のメンバーのみが CREATE EXTENSION を使用できます

このエラーは、CREATE EXTENSION コマンドを実行するユーザーが azure_pg_admin ロールのメンバーではない場合に発生します。

"azure_pg_admin" のメンバーのみが DROP EXTENSION を使用できます

このエラーは、DROP EXTENSION コマンドを実行するユーザーが azure_pg_admin ロールのメンバーではない場合に発生します。