データベース拡張機能を構成する

このセクションでは、Database Service がサポートするデータベース拡張機能の構成について説明します。

拡張機能をインストールする

拡張機能は、プライマリ DBCluster にのみインストールできます。インストールされると、拡張機能はスタンバイ インスタンスに複製されます。

ほとんどの拡張機能は、データベース クラスタに接続して CREATE EXTENSION コマンドを実行することで直接インストールできます。

ただし、追加の構成が必要な拡張機能もあります。そのため、ユーザーは データベース フラグを設定し、"dbs.enable_<extension-name>": "on" を実行してから、データベース クラスタに接続して CREATE EXTENSION コマンドを実行する必要があります。

CREATE EXTENSION コマンドを実行できるのは、cloudsqlsuperuser ロールまたは alloydbsuperuser ロールのメンバーであるデータベース ユーザーのみです。デフォルトでは、これには dbsadmin ユーザーが含まれます。

拡張機能をドロップする

拡張機能を削除するには、削除しようとしているデータベース ユーザーが拡張機能のオーナーである必要があります。これは、拡張機能を最初に作成したデータベース ユーザーのみが、拡張機能を削除する権限を持つことを意味します。他のデータベース ユーザーは拡張機能を削除できないため、拡張機能の管理が制御されます。

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

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

拡張機能 PostgreSQL に含まれています AlloyDB Omni に含まれています 説明
address_standardizer 住所を構成要素に解析するために使用されます。通常、ジオコーディング アドレスの正規化ステップをサポートするために使用されます。
address_standardizer_data_us Address Standardizer US データセットの例
alloydb_ai_nl AlloyDB AI と自然言語用の Google 拡張機能
amcheck リレーション構造の論理的な整合性を検証する関数を提供し、pg_amcheck アプリケーションが破損をチェックできるようにします。
anon PostgreSQL データベースの個人情報(PII)や機密データをマスキングまたは置換します。
autonic フィールドを自動的にインクリメントするための関数を提供します
ブルーム ブルーム フィルタに基づいてインデックスにアクセスするためのメソッドを提供します。ブルーム フィルタとは、ある要素がある集合のメンバーであるかどうかを判断するために使用できる、スペース効率の高いデータ構造です。
btree_gin B-tree と同等の動作を実装するサンプル GIN 演算子クラスを提供します。
btree_gist B-tree と同等の動作を実装する GiST インデックス演算子クラスを提供します。
citext 大文字と小文字を区別しない文字列型 citext を提供します。
cube 多次元キューブを表すためのデータ型キューブを実装します。
dblink データベース セッション内から PostgreSQL データベースに接続する関数を提供します
dict_int 整数のインデックス作成を制御する、全文検索用のアドオン辞書テンプレート。
dict_xsyn 拡張類義語処理用のテキスト検索辞書テンプレート
earthdistance 地球上の大圏距離を計算する 2 つの方法を提供します。
fuzzystrmatch 文字列間の類似性と相違性を判別するためのいくつかの機能を提供します。
google_columnar_engine AlloyDB のカラム型エンジン機能を提供します。これは、HTAP(ハイブリッド トランザクション分析処理)および OLAP(オンライン分析処理)ワークロードの処理効率を大幅に向上させます。
google_db_advisor AlloyDB のインデックス アドバイザー機能を提供します。これは、クエリ処理を高速化するためにどのインデックスを作成すればよいかを提案します。
google_ml_integration Vertex AI エンドポイントにアクセスして SQL で予測を取得するために使用する関数を提供します。
postgresql-hll 集合の基数を見積もる HyperLogLog(hll)データ構造を提供します。
hstore 1 つの PostgreSQL 値に Key-Value ペアのセットを格納するための hstore データ型を実装します。
hypopg 仮想インデックスのサポートを提供します。
insert_username 現在のユーザーの名前をテキスト フィールドに保存するための関数を提供します。この関数を使用して、データベース テーブルの行を最後に変更したユーザーを追跡できます。
intagg 整数型のアグリゲータと列挙子を提供します。
intarray null を含まない整数の配列を操作し、インデックス検索を実行する関数と演算子のセットを提供します。
ip4r IPv4 と v6 のアドレス、アドレス範囲に加え、インデックスのサポートに対応するデータ型を提供します。
isn 一部の国際製品番号付け規則に対応するデータ型を提供します。
lo 大きいオブジェクトを管理するためのサポート(LO や BLOB とも呼ばれる)。
ltree 階層型ツリー構造で格納されているデータのラベルを表すデータ型 ltree を実装します。
moddatetime 現在の日時を timestamp フィールドに格納するための関数を提供します。これを使用すると、データベース テーブル内の行が最後に変更された時刻を追跡できます。
orafce Oracle データベースの関数とパッケージのサブセットをエミュレートする関数と演算子を提供します。これらの関数を使用して、Oracle アプリケーションを PostgreSQL に移植します。
pageinspect データベース ページのコンテンツを低レベルで検査します。
pg_bigm 全文検索を可能にし、全文検索の高速化に 2 グラム(バイグラム)インデックスを使用できるようにします。
pg_buffercache 共有バッファ キャッシュ内でリアルタイムで発生していることを調査する方法を提供します。
pg_cron cron ベースのジョブ スケジューラを提供します。この拡張機能を使用すると、cron 構文を使用してデータベースから直接 PostgreSQL コマンドのスケジュールを設定できます。
pg_freespacemap 空き領域マップ(FSM)を調べます。
pg_hint_plan SQL コメントの説明であるヒントを使用して、PostgreSQL の実行プランを改善できます。
pg_partman 時間ベースおよびシリアル番号ベースのテーブル パーティション セットを作成して管理できます。
pg_prewarm 関連データをオペレーティング システムのバッファ キャッシュ、または PostgreSQL バッファ キャッシュのいずれかに読み込むための便利な方法を提供します。
pg_proctab pg_top を使用し、オペレーティング システムのプロセス テーブルからレポートを生成できます。
pg_repack テーブルとインデックスから肥大化した部分を削除できます。必要に応じて、オンライン CLUSTER(cluster index 順にテーブルを並べ替える)を実行できます。
pg_similarity PostgreSQL で類似性クエリをサポートします。
pg_squeeze テーブルから未使用のスペースを削除します。必要に応じて、インデックスを使用してテーブルのレコードまたは行(タプル)を並べ替えることもできます。
pg_stat_statements 実行されたすべての SQL ステートメントの実行統計を追跡する方法を提供します。
pg_trgm トライグラム照合により英数字の類似性を判断する関数と演算子を提供します。また、類似文字列の高速検索をサポートするインデックス演算子クラスも提供します。
pg_visibility テーブルの可視性マップ(VM)とページレベルの可視性情報を検査する手段を提供します。
pg_wait_sampling 待機イベントのサンプリング統計情報を収集し、サーバーのプロセス用に待機イベントデータを提供します。
pgaudit PostgreSQL に用意された標準ロギング機能を使用して、詳細なセッション監査ロギングとオブジェクト監査ロギングを提供します。
pgcrypto PostgreSQL に対応する暗号機能を提供します。
pgfincore オペレーティング システムのディスク キャッシュ メモリ内のページを PostgreSQL から管理するための一連の関数。
pglogical PostgreSQL の論理レプリケーションを提供します。
pgrouting PostGIS を拡張し、ネットワークのルーティングと分析を通じて地理空間処理を可能にします。
pgrowlocks 指定した表の行のロック情報を提供します。
pgstattuple タプルレベルの統計情報を取得する、さまざまな関数を提供します。
pgtap PL/pgSQL と PL/SQL で記述された、PostgreSQL の単体テスト フレームワークを提供します。
pgtt データベースにグローバル一時テーブルのサポートを追加します。
plpgsql 関数、プロシージャ、トリガー作成用の読み込み可能なプロシージャル言語。この言語を使用して、DO ブロック内のコードを直接実行することも可能です。
plproxy PostgreSQL データベース間でのリモート プロシージャ コールを可能にするプロシージャル言語ハンドラ。オプションでシャーディングを含みます。
plv8 JavaScript を有効にするためのプロシージャ言語を提供します。
postgis PostGIS の geometry と geography の空間型と関数
postgres_ann PostgreSQL ANN 検索
postgis_raster PostGIS ラスター型と関数
postgis_sfcgal PostGIS SFCGAL 関数
postgis_tiger_geocoder PostGIS tiger ジオコーダとリバース ジオコーダ
postgis_topology PostGIS トポロジの空間型と関数
postgres_fdw 複数のインスタンス内または複数インスタンスにわたる外部データラッパーを作成できます。
prefix プレフィックス マッチングとインデックス サポートを提供します。
rdkit 分子構造の比較、操作、識別を行うための関数を提供します。
refint 外部キーの制約、参照テーブル、被参照テーブルをチェックする関数が含まれています。
sslinfo 現在のクライアントがインスタンスに接続したときに提供した SSL 証明書に関する情報を提供します。
tablefunc テーブル(複数行)を返すさまざまな関数が含まれています。
tcn データベース テーブルの内容の変更をリスナーに通知するトリガー関数を提供します。
temporal_tables 時系列テーブルをサポートします。時系列テーブルは、データベースの観点から行が有効な期間を記録します。
tsm_system_rows SELECT コマンドの TABLESAMPLE 句で使用できるテーブル サンプリング メソッド SYSTEM_ROWS を提供します。
tsm_system_time SELECT コマンドの TABLESAMPLE 句で使用できるテーブル サンプリング メソッド SYSTEM_TIME を提供します。
unaccent 語彙素からアクセント(分音符)を削除するテキスト検索辞書。
uuid-ossp 標準アルゴリズムの 1 つを使用して Universally Unique Identifier(UUID)を生成する関数を提供します。
pgvector PostgreSQL データベースでベクトル エンベディングを保存および検索するためのオープンソースの拡張機能。