サポートされているデータベース拡張機能

次の表に、AlloyDB Omni 15.7.1 でサポートされているすべての拡張機能の一覧を示します。

これらの拡張機能は、すべての AlloyDB Omni インスタンスで使用できます。これらの拡張機能を有効にするには、拡張機能を有効にするをご覧ください。

拡張機能 説明
alloydb_ai_nl アプリケーションから自然言語を使用してデータを安全にクエリする関数を提供します。
alloydb_password_validation AlloyDB Omni のパスワード ポリシーを設定および管理するための関数を提供します。
alloydb_scann ScaNN インデックスを使用してベクトルクエリのパフォーマンスを改善するための機能を提供します。
amcheck リレーション構造の論理的な整合性を検証する関数を提供し、pg_amcheck アプリケーションが破損をチェックできるようにします。
anon 個人情報(PII)や商業上の機密データを非表示にする、または置換するのに役立ちます。
auto_explain トラブルシューティングなどのため、実行速度が遅いステートメントの実行プランを自動的にロギングします。これは、EXPLAIN コマンドの機能を自動化する手段となります。
autoinc フィールドを自動的にインクリメントするための関数を提供します。このトリガーによって、シーケンスの次の値が整数フィールドに格納されます。
bloom Bloom フィルタに基づくインデックス アクセス方法を提供します。
btree_gin B-tree と同等の動作を実装するサンプル GIN 演算子クラスを提供します。
btree_gist B-tree と同等の動作を実装する GiST インデックス演算子クラスを提供します。
citext 大文字と小文字を区別しない文字列型 citext を提供します。
cube 多次元キューブを表すためのデータ型 cube を実装します。
dblink データベース セッション内から PostgreSQL データベースに接続する関数を提供します。
dict_int 整数のインデックス作成を制御する、全文検索用のアドオン辞書テンプレート。
earthdistance 地球上の大圏距離を計算する 2 つの方法を提供します。
fuzzystrmatch 文字列間の類似性と相違性を特定するためのいくつかの関数を提供します。
google_columnar_engine AlloyDB Omni のカラム型エンジン機能を提供します。これは、HTAP(ハイブリッド トランザクション分析処理)および OLAP(オンライン分析処理)ワークロードの処理効率を大幅に向上させます。
google_db_advisor AlloyDB Omni のインデックス アドバイザー機能を提供します。これは、クエリ処理を高速化するためにどのインデックスを作成すればよいかを提案します。
google_ml_integration Vertex AI 予測エンドポイントにアクセスして SQL で予測を取得するために使用する関数を提供します。
hstore 単一の PostgreSQL 値に Key-Value ペアのセットを格納するための hstore データ型を実装します。
hypopg 仮想インデックスのサポートを提供します。
insert_username 現在のユーザーの名前をテキスト フィールドに保存するための関数を提供します。この関数を使用して、データベース テーブルの行を最後に変更したユーザーを追跡できます。
intagg 整数型のアグリゲータと列挙子を提供します。
intarray null を含まない整数配列の操作やそれらに対するインデックス検索を行う関数と演算子のセットを提供します。
ip4r IPv4 / v6 のアドレスとアドレス範囲、およびインデックスのサポートに対応するデータ型を提供します。
isn 一部の国際製品番号付け規則に対応するデータ型を提供します。
lo 大きいオブジェクト(LO や BLOB とも呼ばれる)を管理するためのサポート。
ltree 格納されているデータのラベルを階層型ツリー構造で表すためのデータ型 ltree を実装します。
moddatetime 現在の日時を timestamp フィールドに格納するための関数を提供します。この関数を使用して、データベース テーブルの行が最後に変更された日時を追跡できます。
pageinspect データベース ページのコンテンツを低レベルで検査します。
pg_bigm 2 グラム(バイグラム)インデックスを使用して PostgreSQL での全文検索を高速化する機能を提供します。
parameterized_views 自然言語クエリが SQL クエリに変換されるときにセキュリティ レイヤを追加する関数を提供します。この拡張機能は、alloydb_ai_nl 拡張機能と連携して機能します。
pg_buffercache 共有バッファ キャッシュ内でリアルタイムで発生していることを調査する方法を提供します。
pg_cron データベース内で拡張機能として実行される、PostgreSQL 用の cron ベースのジョブ スケジューラを提供します。構文は通常の cron と同じですが、データベースから直接 PostgreSQL コマンドをスケジュールできます。
pg_freespacemap 空き領域マップ(FSM)を調べます。
pg_hint_plan SQL コメントの簡単な説明であるヒントを使用して、PostgreSQL の実行プランを改善できます。
pg_ivm PostgreSQL に増分ビュー メンテナンス(IVM)機能を提供します。
pg_partman 時間ベースおよびシリアル番号ベースのテーブル パーティション セットを作成して管理できます。
pg_prewarm 関連データをオペレーティング システムのバッファ キャッシュ、または PostgreSQL バッファ キャッシュのいずれかに読み込むための便利な方法を提供します。
pg_proctab AlloyDB Omni で pg_top を使用し、オペレーティング システムのプロセス テーブルからレポートを生成できます。
pg_repack テーブルとインデックスから肥大化した部分を削除できます。必要に応じて、オンライン CLUSTER(cluster index 順にテーブルを並べ替える)を実行できます。
pg_similarity PostgreSQL で類似性クエリをサポートします。
pg_squeeze テーブルから未使用のスペースを削除します。必要に応じて、インデックスを使用してテーブルのレコードまたは行(タプル)を並べ替えることもできます。
g_stats パフォーマンス スナップショットを比較してデータベースのパフォーマンスを最適化できます。
pg_stat_statements 実行されたすべての SQL ステートメントの実行統計を追跡する方法を提供します。
pg_surgery 関連データに対して低レベルの変更を実行する関数を提供します。pg_surgery 拡張機能は、慎重な使用が求められる低レベルのツールであり、他の復元方法が失敗した場合の最後の手段として使用する必要があります。
pg_trgm トライグラム照合により英数字の類似性を判断する関数と演算子を提供します。また、類似文字列の高速検索をサポートするインデックス演算子クラスも提供します。
pg_visibility テーブルの可視性マップ(VM)とページレベルの可視性情報を検査する手段を提供します。
pg_wait_sampling 待機イベントのサンプリング統計情報を収集する機能を提供します。
pgaudit PostgreSQL に用意された標準ロギング機能を使用して、詳細なセッション監査ロギングとオブジェクト監査ロギングを提供します。
pgcrypto PostgreSQL に対応する暗号機能を提供します。
pgfincore オペレーティング システムのディスク キャッシュ メモリ内のページを PostgreSQL から管理するための一連の関数。
pglogical

パブリッシュ / サブスクライブ モデルを使用して、PostgreSQL の論理ストリーミング レプリケーションを提供します。

AlloyDB Omni には、pglogical 拡張機能によって使用される多数のプラグインが含まれています。

pgrowlocks 指定した表の行のロック情報を提供します。
pgstattuple タプルレベルの統計情報を取得する、さまざまな関数を提供します。
pgtap PL/pgSQL と PL/SQL で記述された、PostgreSQL の単体テスト フレームワークを提供します。
pgtt データベースにグローバル一時テーブルのサポートを追加します。
vector 標準の pgvector PostgreSQL 拡張機能を AlloyDB Omni 用にカスタマイズしたものを vector と呼びます。これは、生成されたエンベディングのベクトル列への格納、ベクトル最適化インデックスの生成、ベクトル エンベディングの検索をサポートしています。
plpgsql 関数、プロシージャ、トリガー作成用の読み込み可能なプロシージャル言語。この言語を使用して、DO ブロック内のコードを直接実行することもできます。
plproxy PostgreSQL データベース間でのリモート プロシージャ コールを可能にするプロシージャル言語ハンドラ。オプションでシャーディングを含みます。
plv8 JavaScript を有効にするためのプロシージャル言語を提供します。
postgres_fdw 外部 PostgreSQL サーバーに保存されているデータへのアクセスに使用できる外部データラッパーを提供します。
postgresql-hll 新しいデータ型 hll を導入します。これは HyperLogLog データ構造です。
prefix プレフィックス マッチングとインデックス サポートを提供します。
refint 外部キーの制約、参照テーブル、被参照テーブルをチェックする関数が含まれています。
sslinfo 現在のクライアントがインスタンスに接続したときに提供した SSL 証明書に関する情報を提供します。
tablefunc テーブル(複数行)を返すさまざまな関数を提供します。
tcn データベース テーブルの内容の変更をリスナーに通知するトリガー関数を提供します。
temporal_tables 時系列テーブルをサポートします。データベース内の時系列テーブルには、行が有効な期間が記録されます。
tsm_system_rows SELECT コマンドの TABLESAMPLE 句で使用できるテーブル サンプリング メソッド SYSTEM_ROWS を提供します。
tsm_system_time SELECT コマンドの TABLESAMPLE 句で使用できるテーブル サンプリング メソッド SYSTEM_TIME を提供します。
unaccent

語彙素からアクセントやその他の発音区別符号を削除するテキスト検索辞書。

PostgreSQL 15 互換データベースでこの拡張機能を使用するには、データベースの作成時に libcLOCALE_PROVIDER を指定します。AlloyDB Omni では、PostgreSQL 15 互換データベースとデフォルトの ICU ロケール プロバイダでこの拡張機能を使用することはできません。

uuid-ossp 標準アルゴリズムの 1 つを使用して Universally Unique Identifier(UUID)を生成する関数を提供します。

論理デコーディング プラグイン

AlloyDB Omni は、上記の拡張機能に加えて、pglogical 拡張機能によってこの拡張機能のストリーミング出力のフォーマットに使用される以下のプラグインをサポートしています。

プラグイン 説明
[decoderbufs] ストリーミング データを [プロトコル バッファ] としてフォーマットします。
[pgoutput] PostgreSQL の組み込み論理デコーディング プラグイン。
[test-decoding] ストリーミング データをテキスト形式にフォーマットします。
[wal2json] ストリーミング データを JSON としてフォーマットします。

PostGIS 拡張機能

以下の PostGIS 拡張機能は、サポートされてはいますが、AlloyDB Omni には含まれていません。

詳細については、AlloyDB Omni 用に PostGIS をインストールするをご覧ください。

Orafce 拡張機能

AlloyDB Omni には Orafce 拡張機能は含まれていませんが、AlloyDB Omni 用に Orafce をインストールするの手順に沿って既存の AlloyDB Omni インストールに Orafce を手動で追加することで、Oracle データベースから追加の関数と演算子を取得できます。

拡張機能を有効にする

拡張機能を有効にする手順は次のとおりです。

  1. AlloyDB Omni クラスタのプライマリ インスタンスでデータベースに接続します。

  2. CREATE EXTENSION コマンドを実行します。たとえば、プライマリ インスタンスに接続した後、psql を使用して citext 拡張機能を有効にできます。

    mydatabase=> CREATE EXTENSION IF NOT EXISTS citext;
    
  3. データベースを再起動して、拡張機能が使用可能であることを確認します。

拡張機能の共有ライブラリを PostgreSQL に追加する

拡張機能を有効にする手順は次のとおりです。

  1. AlloyDB Omni クラスタのプライマリ インスタンスでデータベースに接続します。

  2. 次のコマンドを実行して、拡張機能の共有ライブラリを PostgreSQL メモリにプリロードします。たとえば、次のコマンドは pg_stat_statements 拡張機能の共有ライブラリをプリロードします。

    # ALTER SYSTEM SET shared_preload_libraries=pg_stat_statements,pg_stat_statements;
    
  3. データベースを再起動して、拡張機能が使用可能であることを確認します。