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.1.0 | 5.1.0 | 5.1.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 | 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.6 | 1.6 | 1.6 | 1.6 | 1.6 |
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.7.0 | 0.7.0 | 0.7.0 | 0.7.0 | 0.7.0 |
PostGIS 拡張機能
拡張子 | 説明 | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
---|---|---|---|---|---|---|---|
PostGIS | PostgreSQL の空間および地理なオブジェクト。 | 3.3.4 | 3.4.1 | 3.4.1 | 3.4.1 | 3.4.1 | 3.4.1 |
address_standardizer | 構成要素へのアドレスの解析に使用されます。 ジオコーディング アドレス正規化の手順をサポートするために使用されます。 | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
postgis_sfcgal | PostGIS SFCGAL 関数。 | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
postgis_topology | PostGIS トポロジの空間型と関数。 | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
pg_stat_statements
pg_stat_statements 拡張機能は、すべての Azure Cosmos DB for PostgreSQL サーバーに事前に読み込まれ、SQL ステートメントの実行統計情報を追跡する手段が提供されています。
この拡張機能によって追跡されるステートメントは、pg_stat_statements.track
設定で制御されます。 既定では top
に設定され、クライアントによって直接発行されたすべてのステートメントが追跡の対象となります。 その他の 2 つの追跡レベルはnone
とall
です。
pg_stat_statements から得られるクエリの実行情報と、各 SQL ステートメントがログに記録されることによるサーバーのパフォーマンスへの影響との間には、トレードオフがあります。 pg_stat_statements 拡張機能を使用していない場合は、pg_stat_statements.track
を none
に設定することをお勧めします。 一部のサード パーティ監視サービスではクエリ パフォーマンスの分析情報を生成するために pg_stat_statements に依存することがあるため、そのようなケースに該当するかどうかを確認してください。
dblink および postgres_fdw
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 関数が無効になっています。
次のステップ
- サポートされている+ PostgreSQL のバージョンについて確認します。