このセクションでは、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 データベースでベクトル エンベディングを保存および検索するためのオープンソースの拡張機能。 |