Share via


Azure Arc 対応の PostgreSQL サーバーで PostgreSQL 拡張機能を使用する

PostgreSQL は、拡張機能で使用する場合に最適です。

Note

この記事で紹介しているテクノロジはプレビュー機能であり、「Microsoft Azure プレビューの追加利用規約」に従うことを条件として提供されます。

最新の更新プログラムについては、リリース ノートを参照してください。

サポートされる拡張子

以下の拡張機能は、Azure Arc 対応 PostgreSQL サーバーのコンテナーに既定でデプロイされており、その一部は標準の contrib 拡張機能です。

  • address_standardizer_data_us 3.3.1
  • adminpack 2.1
  • amcheck 1.3
  • autoinc 1
  • bloom 1
  • btree_gin 1.3
  • btree_gist 1.6
  • citext 1.6
  • cube 1.5
  • dblink 1.2
  • dict_int 1
  • dict_xsyn 1
  • earthdistance 1.1
  • file_fdw 1
  • fuzzystrmatch 1.1
  • hstore 1.8
  • hypopg 1.3.1
  • insert_username 1
  • intagg 1.1
  • intarray 1.5
  • isn 1.2
  • lo 1.1
  • ltree 1.2
  • moddatetime 1
  • old_snapshot 1
  • orafce 4
  • pageinspect 1.9
  • pg_buffercache 1.3
  • pg_cron 1.4-1
  • pg_freespacemap 1.2
  • pg_partman 4.7.1
  • pg_prewarm 1.2
  • pg_repack 1.4.8
  • pg_stat_statements 1.9
  • pg_surgery 1
  • pg_trgm 1.6
  • pg_visibility 1.2
  • pgaudit 1.7
  • pgcrypto 1.3
  • pglogical 2.4.2
  • pglogical_origin 1.0.0
  • pgrouting 3.4.1
  • pgrowlocks 1.2
  • pgstattuple 1.5
  • plpgsql 1
  • postgis 3.3.1
  • postgis_raster 3.3.1
  • postgis_tiger_geocoder 3.3.1
  • postgis_topology 3.3.1
  • postgres_fdw 1.1
  • refint 1
  • seg 1.4
  • sslinfo 1.2
  • tablefunc 1
  • tcn 1
  • timescaledb 2.8.1
  • tsm_system_rows 1
  • tsm_system_time 1
  • unaccent 1.1

時間が経過して変化があったときには、この一覧に対する更新が投稿されます。

Arc 対応 PostgreSQL サーバーで拡張機能を有効にする

create コマンドの --extensions パラメータに拡張機能のコンマ区切りリストを渡すことで、サポートされている有効な拡張機能のいずれかを使用して Arc 対応 PostgreSQL サーバーを作成できます。

az postgres server-arc create -n <name> --k8s-namespace <namespace> --extensions "pgaudit,pg_partman" --use-k8s

: 有効な拡張機能が構成 shared_preload_libraries に追加されます。 拡張機能を使用するには、その拡張機能がデータベースにインストールされている必要があります。 特定の拡張機能をインストールするには、CREATE EXTENSION コマンドを実行する必要があります。 このコマンドで、パッケージ化されたオブジェクトがデータベースに読み込まれます。

たとえば、データベースに接続し、次の PostgreSQL コマンドを発行して pgaudit 拡張機能をインストールします。

CREATE EXTENSION pgaudit;

拡張機能の更新

既存の Arc 対応 PostgreSQL サーバーで拡張機能を追加または削除できます。

kubectl describe コマンドを実行して、有効な拡張機能の現在のリストを取得できます。

kubectl describe postgresqls <server-name> -n <namespace>

有効な拡張機能がある場合、出力には次のようなセクションが含まれます。

  config:
    postgreSqlExtensions: pgaudit,pg_partman

次の PostgreSQL コマンドを実行して、データベースに接続した後に拡張機能がインストールされているかどうかを確認します。

select * from pg_extension;

新しい拡張機能を既存のリストに追加して有効にするか、拡張機能を既存のリストから削除して削除します。 必要なリストを update コマンドに渡します。 たとえば、上記の例で pgcrypto を追加し、サーバーから pg_partman を削除するには、次のようにします。

az postgres server-arc update -n <name> --k8s-namespace <namespace> --extensions "pgaudit,pgrypto" --use-k8s

許可された拡張機能のリストが更新された後。 次のコマンドを実行して、データベースに接続し、新しく追加された拡張機能をインストールします。

CREATE EXTENSION pgcrypto;

同様に、既存のデータベースから拡張機能を削除するには、DROP EXTENSION コマンドを発行します。

DROP EXTENSION pg_partman;

インストールされている拡張機能のリストを表示する

任意のクライアント ツールを使用してデータベースに接続し、標準の PostgreSQL クエリを実行します。

select * from pg_extension;
  • 実際に使ってみてください。Azure Kubernetes Service (AKS)、AWS Elastic Kubernetes Service (EKS)、Google Cloud Kubernetes Engine (GKE)、または Azure VM 上で Azure Arc Jumpstart をすぐに開始できます。