Azure Cosmos DB for PostgreSQL の PostgreSQL 拡張機能

適用対象: Azure Cosmos DB for PostgreSQL (PostgreSQL の Citus データベース拡張機能を利用)

PostgreSQL では、拡張機能を使用してデータベースの機能を拡張します。 拡張機能により、関連する複数の SQL オブジェクトを 1 つのパッケージにまとめて、1 つのコマンドでデータベースに読み込んだり、データベースから削除したりできます。 データベースに読み込まれた後、拡張機能は組み込み機能と同じように機能します。 PostgreSQL 拡張機能の詳細については、拡張機能への関連オブジェクトのパッケージ化に関するページを参照してください。

PostgreSQL 拡張機能を使用する

PostgreSQL 拡張機能を使用するには、その拡張機能がデータベースにインストールされている必要があります。 特定の拡張機能をインストールするには、psql ツールから CREATE EXTENSION コマンドを実行して、パッケージ化されたオブジェクトをデータベースに読み込みます。

Note

CREATE EXTENSION が "アクセス許可が拒否されました" エラーで失敗する場合は、代わりに create_extension() 関数を試してください。 たとえば、次のようになります。

SELECT create_extension('postgis');

この方法でインストールされている拡張機能を削除するには、drop_extension() を使用します。

Azure Cosmos DB for PostgreSQL で現在サポートされている主要な拡張機能のサブセットを示します。 リストされているもの以外の拡張機能はサポートされていません。 Azure Cosmos DB for PostgreSQL では、独自の拡張機能を作成することはできません。

Azure Cosmos DB for PostgreSQL でサポートされる拡張機能

Azure Cosmos DB for PostgreSQL でサポートされている標準的な PostgreSQL 拡張機能を次の表に示します。 この情報は、SELECT * FROM pg_available_extensions;を実行して確認することもできます。

クラスターにインストールされている各拡張機能のバージョンは、PostgreSQL のバージョン (11、12、13、14、15、または 16) によって異なる場合があります。 表に、データベースのバージョンごとの拡張バージョンを一覧表示します。

Citus 拡張機能

拡張子 説明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citus Citus 分散型データベース。 9.5 10.2 11.3 12.1 12.1 12.1

データ型の拡張機能

拡張子 説明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citext 大文字と小文字が区別されない文字列型を提供します。 1.5 1.6 1.6 1.6 1.6 1.6
cube 多次元キューブのデータ型を提供します。 1.4 1.4 1.4 1.5 1.5 1.5
hll HyperLogLog データ構造を提供します。 2.18 2.18 2.18 2.18 2.18 2.18
hstore キーと値のペアのセットを格納するデータ型を提供します。 1.5 1.6 1.7 1.8 1.8 1.8
isn 国際対応の製品番号規格のデータ型を提供します。 1.2 1.2 1.2 1.2 1.2 1.2
lo ラージ オブジェクトのメンテナンス。 1.1 1.1 1.1 1.1 1.1 1.1
ltree 階層ツリー状の構造体のデータ型を提供します。 1.1 1.1 1.2 1.2 1.2 1.2
seg 線分または浮動小数点の間隔を表すデータ型。 1.3 1.3 1.3 1.4 1.4 1.4
tdigest 分位点やトリム平均などのランクベースの統計をオンラインで集計するためのデータ型。 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1
topn トップ-N JSONB の型。 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0

フルテキスト検索の拡張機能

拡張子 説明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
dict_int 整数に対するテキスト検索ディクショナリのテンプレートを提供します。 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn 拡張されたシノニム処理のためのテキスト検索ディクショナリのテンプレート。 1.0 1.0 1.0 1.0 1.0 1.0
unaccent 語彙からアクセント記号 (分音記号) を削除するテキスト検索辞書。 1.1 1.1 1.1 1.1 1.1 1.1

関数の拡張機能

拡張子 説明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 15
autoinc 自動増分するフィールドの関数。 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance 地球の表面にある大圏距離を計算するための手段を提供します。 1.1 1.1 1.1 1.1 1.1 1.1
fuzzystrmatch 文字列間の類似点と相違点を特定する関数を提供します。 1.1 1.1 1.1 1.1 1.1 1.2
insert_username テーブルを変更したユーザーを追跡するための関数。 1.0 1.0 1.0 1.0 1.0 1.0
intagg 整数のアグリゲーターと列挙子 (廃止)。 1.1 1.1 1.1 1.1 1.1 1.1
intarray 整数の null を含まない配列を操作する関数と演算子を提供します。 1.2 1.2 1.3 1.5 1.5 1.5
moddatetime 最終変更時刻を追跡するための関数。 1.0 1.0 1.0 1.0 1.0 1.0
orafce Oracle RDBMS の関数とパッケージのサブセットをエミュレートする関数と演算子。 4.9 4.9 4.9
pg_partman 時刻または ID によってパーティション テーブルを管理します。 4.7.4 4.7.4 4.7.4 5.0.0 5.0.0 5.0.0
pg_surgery 破損した関係に対して手術を行う関数。 1.0 1.0 1.0
pg_trgm trigram 一致に基づいて英数字テキストの類似性を特定する関数と演算子を提供します。 1.4 1.4 1.5 1.6 1.6 1.6
pgcrypto 暗号化関数を提供します。 1.3 1.3 1.3 1.3 1.3 1.3
refint 参照整合性を実装するための関数 (廃止)。 1.0 1.0 1.0 1.0 1.0 1.0
tablefunc クロス集計を含む、テーブル全体を操作する関数を提供します。 1.0 1.0 1.0 1.0 1.0 1.0
tcn 変更通知をトリガーします。 1.0 1.0 1.0 1.0 1.0 1.0
timetravel タイム トラベルを実装するための関数。 1.0
uuid-ossp 汎用一意識別子 (UUID) を生成します。 1.1 1.1 1.1 1.1 1.1 1.1

インデックス型の拡張機能

拡張子 説明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
bloom Bloom アクセス メソッド - シグネチャ ファイルに基づくインデックス。 1.0 1.0 1.0 1.0 1.0 1.0
btree_gin 特定のデータ型に対して B ツリーのような動作を実装するサンプル GIN 演算子クラスを提供します。 1.3 1.3 1.3 1.3 1.3 1.3
btree_gist B ツリーを実装する GiST インデックス演算子クラスを提供します。 1.5 1.5 1.5 1.6 1.7 1.7

言語拡張機能

拡張子 説明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
plpgsql PL/pgSQL 読み込み可能な手続き型言語。 1.0 1.0 1.0 1.0 1.0 1.0

その他の拡張機能

拡張子 説明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
amcheck 関係の整合性を検証するための関数。 1.1 1.2 1.2 1.3 1.3 1.3
dblink データベース セッション内から他の PostgreSQL データベースへの接続をサポートするモジュール。 この拡張機能については、「dblink and postgres_fdw」のセクションを参照してください。 1.2 1.2 1.2 1.2 1.2 1.2
old_snapshot old_snapshot_threshold の実装に使われているサーバーの状態を検査できます。 1.0 1.0
pageinspect 低レベルでデータベース ページの内容を検査します。 1.7 1.7 1.8 1.9 1.11 1.12
pg_azure_storage PostgreSQL に対する Azure の統合。 1.3 1.3 1.3 1.3
pg_buffercache リアルタイムで共有バッファー キャッシュの動作を確認する手段を提供します。 1.3 1.3 1.3 1.3 1.3 1.4
pg_cron PostgreSQL のジョブ スケジューラ。 1.5 1.5 1.5 1.5 1.5 1.5
pg_freespacemap 空き領域マップ (FSM) を確認します。 1.2 1.2 1.2 1.2 1.2 1.2
pg_prewarm 関係データをバッファー キャッシュに読み込む方法を提供します。 1.2 1.2 1.2 1.2 1.2 1.2
pg_stat_statements サーバーで実行されるすべての SQL ステートメントの実行統計を追跡する手段を提供します。 この拡張機能については、「pg_stat_statements」のセクションを参照してください。 1.6 1.7 1.8 1.9 1.10 1.10
pg_visibility 可視性マップ (VM) とページレベルの可視性情報を調べます。 1.2 1.2 1.2 1.2 1.2 1.2
pgrowlocks 行レベルのロックに関する情報を表示するための手段を提供します。 1.2 1.2 1.2 1.2 1.2 1.2
pgstattuple タプル レベルの統計を表示するための手段を提供します。 1.5 1.5 1.5 1.5 1.5 1.5
postgres_fdw 外部 PostgreSQL サーバーに格納されているデータへのアクセスに使用される外部データ ラッパーです。 この拡張機能については、「dblink and postgres_fdw」のセクションを参照してください。 1.0 1.0 1.0 1.1 1.1 1.1
sslinfo TLS または SSL 証明書に関する情報。 1.2 1.2 1.2 1.2 1.2 1.2
tsm_system_rows 行数を制限として受け取る TABLESAMPLE メソッド。 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time ミリ秒単位の時間を制限として受け取る TABLESAMPLE メソッド。 1.0 1.0 1.0 1.0 1.0 1.0
xml2 XPath のクエリの実行と XSLT。 1.1 1.1 1.1 1.1 1.1 1.1

Pgvector 拡張機能

拡張子 説明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
pgvector Postgres のオープンソース ベクトルの類似性検索 0.5.1 0.5.1 0.5.1 0.5.1 0.5.1 0.5.1

PostGIS 拡張機能

拡張子 説明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
PostGIS PostgreSQL の空間および地理なオブジェクト。 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
address_standardizer 構成要素へのアドレスの解析に使用されます。 ジオコーディング アドレス正規化の手順をサポートするために使用されます。 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
postgis_sfcgal PostGIS SFCGAL 関数。 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
postgis_topology PostGIS トポロジの空間型と関数。 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0

pg_stat_statements

pg_stat_statements 拡張機能は、すべての Azure Cosmos DB for PostgreSQL サーバーに事前に読み込まれ、SQL ステートメントの実行統計情報を追跡する手段が提供されています。

この拡張機能によって追跡されるステートメントは、pg_stat_statements.track 設定で制御されます。 既定では top に設定され、クライアントによって直接発行されたすべてのステートメントが追跡の対象となります。 その他の 2 つの追跡レベルはnoneallです。

pg_stat_statements から得られるクエリの実行情報と、各 SQL ステートメントがログに記録されることによるサーバーのパフォーマンスへの影響との間には、トレードオフがあります。 pg_stat_statements 拡張機能を使用していない場合は、pg_stat_statements.tracknone に設定することをお勧めします。 一部のサード パーティ監視サービスではクエリ パフォーマンスの分析情報を生成するために pg_stat_statements に依存することがあるため、そのようなケースに該当するかどうかを確認してください。

dblink および postgres_fdw を使用して、PostgreSQL サーバーから別の PostgreSQL サーバーに、または同じサーバー内の別のデータベースに接続できます。 受信側サーバーでは、ファイアウォールを経由した送信元サーバーからの接続を許可している必要があります。 Azure Cosmos DB for PostgreSQL クラスター間のパブリック アクセス接続にこれらの拡張機能を使用する場合、[Allow Azure services and resources to access this cluster (or server)] (Azure サービスおよびリソースにこのクラスター (またはサーバー) へのアクセスを許可する) をオンに設定します。 拡張機能を使用して同じサーバーにループバックする場合にも、この設定を [オン] にする必要があります。 [Allow Azure services and resources to access this cluster](Azure サービスおよびリソースにこのクラスターへのアクセスを許可する) の設定は、クラスターの Azure portal ページの [ネットワーク] の下にあります。 現時点では、Azure Cosmos DB for PostgreSQL からの送信接続はサポートされていません。

orafce 拡張機能

orafce 拡張機能では、utl_file 関数が無効になっています。

次のステップ