前提
- PostgreSQLのEXTENSIONについて、パフォーマンスに関するもの(性能監視や、SQL/DBのチューニングに役立つもの)を網羅的に確認
- 各クラウド(AWS/Azure/GCP)でマネージド/Paasとして提供されているPostgreSQLで利用可能なEXTENSIONについても調査
- 調査結果を一覧化
調査対象のクラウド
- AWS
- Amazon Aurora PostgreSQL (*一覧表ではAuroraと表記)
- Amazon RDS for PostgreSQL (*一覧表ではRDSと表記)
- Azure
- Azure Database for PostgreSQL – フレキシブル サーバー (*一覧表ではAzureと表記)
- GCP
- Cloud SQL for PostgreSQL (*一覧表ではGCPと表記)
調査バージョン
- PostgreSQL 14
- 2023.7.25時点で各クラウドのリファレンスにPostgreSQL14や15が最新verで掲載されていた。バージョンを合わせるため14を確認
EXTENSION一覧 (EXTENSION名順)
No. | EXTENSION | Aurora | RDS | Azure | GCP | 説明 |
1 | apg_plan_mgmt *aurora独自 | Aurora | – | – | – | 実行計画の固定 (*pg_dbms_stats同義) |
2 | aurora_stat_utils *aurora独自 | Aurora | – | – | – | 待機イベント確認 |
3 | auto_explain | Aurora | RDS | – | GCP | 遅いSQLの実行計画を自動的にロギング |
4 | pg_buffercache | Aurora | RDS | Azure | GCP | 共有バッファの確認 |
5 | pg_dbms_stats | – | – | – | – | 実行計画の固定 |
6 | pg_freespacemap | – | RDS | Azure | GCP | 空き領域マップ(FSM)の確認 (*VACUUM間隔のチューニングに利用可) |
7 | pg_hint_plan | Aurora | RDS | Azure | GCP | ヒント句 |
8 | pg_partman | Aurora | RDS | Azure | GCP | パーティション管理の自動化 |
9 | pg_prewarm | Aurora | RDS | Azure | GCP | キャッシュ温め |
10 | pg_proctab | – | RDS | – | GCP | OSプロセス情報を取得(CPU, IOなど) |
11 | pg_repack | Aurora | RDS | Azure | GCP | オンラインCLUSTER/VACUUM FULLなどを実現 |
12 | pg_reporter | – | – | – | – | pg_statsinfoで取得した情報のグラフ化 |
13 | pg_stat_statements | Aurora | RDS | Azure | GCP | SQL実行の統計(テーブルの統計情報ではなく各SQLの実行時間/回数などの集計) |
14 | pg_statsinfo | – | – | – | – | 様々な性能関連の情報、統計情報の管理など |
15 | pg_visibility | Aurora | RDS | Azure | GCP | 各テーブルの可視性マップ(VM)の確認 (*トランザクションからアクセスできるタプルかなど) |
16 | pg_wait_sampling | – | – | – | GCP | DBレベルで待機イベントの統計を確認 |
17 | pgBadger | – | – | – | – | PostgreSQLのログを解析して性能レポートを作成 (*) |
18 | pgfincore | – | – | – | GCP | OSのディスク キャッシュにのったテーブル/インデックスの確認 |
19 | pgrowlocks | Aurora | RDS | Azure | GCP | 行ロックの確認 |
20 | pgstattuple | Aurora | RDS | Azure | GCP | タプルレベルの統計の確認 |
考察
全クラウドで非サポートのEXTENSION
- pg_dbms_stats
- pg_reporter
- pg_statsinfo
- pgBadger
一覧に記載していないもの
- pg_bulkload
- データを高速にロードするツール
- SQL/DBのチューニング/性能監視系ではない
- pgFouine (pgフウイン)
- 2010年に開発終了
- pgBadger(pgバジャー)が代替的なもの
- pg_reorg
- 2016年に開発終了
- pg_repackがフォーク
- pg_monz
- zabbix用のPostgreSQL監視テンプレート
- 2021/10に開発終了、zabbix5以降に未対応
- zabbix5以降では標準テンプレートでのPostgreSQL監視を推奨
実行計画の固定について
全クラウドでpg_dbms_statsは利用不可。ただしAWSのAuroraでは独自EXTENSIONのapg_plan_mgmtで実現。Azure/GCPのマネージドだと固定できない?
改定履歴
2023/07/23 | 初回作成 |
2023/07/24 | pg_badgerをpgBadgerに修正。pg_bulkload, pg_reorg, pgFouineを未記載に追加。 |
2023/08/03 | pg_monzを未記載に追加(開発終了済みと知ったため) |
参照元
AWS) Amazon Aurora PostgreSQL
Extensions supported for Aurora PostgreSQL 14
The following table shows the PostgreSQL extension versions that are currently supported on Aurora PostgreSQL 14 versions. “NA” indicates that the extension isn’t available for that PostgreSQL version. For more information about PostgreSQL extensions, see Packaging Related Objects into an Extension in the PostgreSQL documentation.
Extension 14.8 14.7 14.6 14.5 14.4 14.3 address_standardizer 3.3.2 3.3.2 3.2.3 3.2.3 3.2.3 3.1.7 address_standardizer_data_us 3.3.2 3.3.2 3.2.3 3.2.3 3.2.3 3.1.7 amcheck 1.3 1.3 1.3 1.3 1.3 1.3 apg_plan_mgmt 2.4 2.4 2.4 2.3 2.2 2.2 aurora_stat_utils 1.0 1.0 1.0 1.0 1.0 1.0 auto_explain Yes Yes Yes Yes Yes Yes autoinc (contrib-spi) 1.0 1.0 1.0 1.0 1.0 1.0 aws_commons 1.2 1.2 1.2 1.2 1.2 1.2 aws_lambda 1.0 1.0 1.0 1.0 1.0 1.0 aws_ml 1.0 1.0 1.0 1.0 1.0 1.0 aws_s3 1.1 1.1 1.1 1.1 1.1 1.1 bloom 1.0 1.0 1.0 1.0 1.0 1.0 bool_plperl 1.3 1.3 1.3 1.3 1.3 1.3 btree_gin 1.3 1.3 1.3 1.3 1.3 1.3 btree_gist 1.6 1.6 1.6 1.6 1.6 1.6 citext 1.6 1.6 1.6 1.6 1.6 1.6 cube 1.5 1.5 1.5 1.5 1.5 1.5 dblink 1.2 1.2 1.2 1.2 1.2 1.2 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 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.1 hll 2.17 2.17 2.16 2.16 2.16 2.16 hstore 1.8 1.8 1.8 1.8 1.8 1.8 hstore_plperl 1.0 1.0 1.0 1.0 1.0 1.0 ICU module 60.2 60.2 60.2 60.2 60.2 60.2 insert_username (contrib-spi) 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 1.5 1.5 1.5 1.5 1.5 1.5 ip4r 2.4 2.4 2.4 2.4 2.4 2.4 isn 1.2 1.2 1.2 1.2 1.2 1.2 jsonb_plperl 1.0 1.0 1.0 1.0 1.0 1.0 lo 1.1 1.1 1.1 1.1 1.1 1.1 log_fdw 1.3 1.3 1.3 1.3 1.3 1.3 ltree 1.2 1.2 1.2 1.2 1.2 1.2 moddatetime (contrib-spi) 1.0 1.0 1.0 1.0 1.0 1.0 oracle_fdw 2.5.0 2.5.0 2.4.0 2.4.0 2.4.0 2.4.0 orafce 4.0.0 4.0.0 3.16 3.16 3.16 3.16 pg_bigm 1.2 1.2 1.2 1.2 1.2 1.2 pg_buffercache 1.3 1.3 1.3 1.3 1.3 1.3 pg_cron 1.5 1.4.2 1.4 1.4 1.4 1.4 pg_freespacemap 1.2 1.2 1.2 1.2 1.2 1.2 pg_hint_plan 1.4.1 1.4.1 1.4 1.4 1.4 1.4 pg_partman 4.7.3 4.6.0 4.6.0 4.6.0 4.6.0 4.6.0 pg_prewarm 1.2 1.2 1.2 1.2 1.2 1.2 pg_proctab 0.0.9 0.0.9 0.0.9 0.0.9 0.0.9 0.0.9 pg_repack 1.4.7 1.4.7 1.4.7 1.4.7 1.4.7 1.4.7 pg_similarity 1.0 1.0 1.0 1.0 1.0 1.0 pg_stat_statements 1.9 1.9 1.9 1.9 1.9 1.9 pg_tle 1.0.3 1.0.1 1.0.1 N/A N/A N/A pg_trgm 1.6 1.6 1.6 1.6 1.6 1.6 pg_visibility 1.2 1.2 1.2 1.2 1.2 1.2 pgAudit 1.7.0 1.7.0 1.6.1 1.6.1 1.6.1 1.6.1 pgcrypto 1.3 1.3 1.3 1.3 1.3 1.3 pglogical 2.4.2 2.4.2 2.4.1 2.4.1 2.4.1 2.4.1 pglogical_origin 1.0.0 1.0.0 1.0.0 1.0.0 1.0.0 1.0.0 pgrouting 3.4.1 3.4.1 3.2.0 3.2.0 3.2.0 3.2.0 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 pgtap 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 pgvector 0.4.1 N/A N/A N/A N/A N/A plcoffee 3.1.6 3.1.4 2.3.15 2.3.15 2.3.15 2.3.15 plls 3.1.6 3.1.4 2.3.15 2.3.15 2.3.15 2.3.15 plperl 1.0 1.0 1.0 1.0 1.0 1.0 plpgsql 1.0 1.0 1.0 1.0 1.0 1.0 plprofiler 4.1 4.1 4.1 4.1 4.1 4.1 pltcl 1.0 1.0 1.0 1.0 1.0 1.0 plv8 3.1.6 3.1.4 3.0.0 3.0.0 3.0.0 2.3.15 PostGIS 3.3.2 3.3.2 3.2.3 3.2.3 3.2.3 3.1.7 postgis_raster 3.3.2 3.3.2 3.2.3 3.2.3 3.2.3 3.1.7 postgis_tiger_geocoder 3.3.2 3.3.2 3.2.3 3.2.3 3.2.3 3.1.7 postgis_topology 3.3.2 3.3.2 3.2.3 3.2.3 3.2.3 3.1.7 postgres_fdw 1.1 1.1 1.1 1.1 1.1 1.1 prefix 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 rdkit 4.2 4.2 4.2 3.8 3.8 3.8 rds_activity_stream 1.3 1.3 1.3 1.3 1.3 1.3 rds_tools 1.0 1.0 1.0 1.0 1.0 1.0 refint (contrib-spi) 1.0 1.0 1.0 1.0 1.0 1.0 SEG 1.0 1.0 NA NA NA NA sslinfo 1.2 1.2 1.2 1.2 1.2 1.2 tablefunc 1.0 1.0 1.0 1.0 1.0 1.0 TCN 1.0 1.0 NA NA NA NA tds_fdw 2.0.3 2.0.2 2.0.2 2.0.2 2.0.2 2.0.2 test_parser 1.0 1.0 1.0 1.0 1.0 1.0 tsm_system_rows 1.0 1.0 1.0 1.0 1.0 1.0 tsm_system_time 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 uuid-ossp 1.1 1.1 1.1 1.1 1.1 1.1 wal2json 2.5 2.4 2.4 2.4 2.4 2.4
AWS) Amazon RDS for PostgreSQL
Extensions supported for RDS for PostgreSQL 14
The following table shows PostgreSQL extensions for PostgreSQL version 14 that are currently supported on Amazon RDS. For more information on PostgreSQL extensions, see Packaging related objects into an extension.
Extension 14.8-R2 14.8 14.7 14.6 14.5 14.4 14.3 14.2 14.1 address_standardizer 3.3.2 3.3.2 3.1.7 3.1.7 3.1.7 3.1.5 3.1.5 3.1.5 3.1.5 address_standardizer_data_us 3.3.2 3.3.2 3.1.7 3.1.7 3.1.7 3.1.5 3.1.5 3.1.5 3.1.5 amcheck 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 autoinc (contrib-spi) 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 auto_explain yes yes yes yes yes yes yes yes yes aws_commons 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 aws_lambda 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 aws_s3 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 bloom 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 bool_plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 btree_gin 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 btree_gist 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 citext 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 cube 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 dblink 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 dict_int 1.0 1.0 1.0 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 1.0 1.0 1.0 earthdistance 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 flow_control 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 fuzzystrmatch 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 hll 2.16 2.16 2.16 2.16 2.16 2.16 2.16 2.15 2.15 hstore 1.8 1.8 1.8 1.8 1.8 1.8 1.8 1.8 1.8 hstore_plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 hypopg 1.3.1 1.3.1 N/A N/A N/A N/A N/A N/A N/A ICU module 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2 60.2 insert_username (contrib-spi) 1.0 1.0 1.0 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 1.1 1.1 1.1 intarray 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 ip4r 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 isn 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 jsonb_plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 lo 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 log_fdw 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 ltree 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 mysql_fdw 2.7.0 2.7.0 2.7.0 2.7.0 2.7.0 2.7.0 2.7.0 2.7.0 N/A moddatetime (contrib-spi) 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 old_snapshot 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 oracle_fdw 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 orafce 3.24 3.24 3.24 3.24 3.15 3.15 3.15 3.15 3.15 pageinspect 1.9 1.9 1.9 1.9 1.9 1.9 1.9 1.9 1.9 pg_bigm 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 pg_buffercache 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 pg_cron 1.5.2 1.5.2 1.4.1 1.4.1 1.4.1 1.4 1.4 1.4 1.4 pg_freespacemap 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 pg_hint_plan 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.3.7 1.3.7 pg_partman 4.6.2 4.6.2 4.6.2 4.6.2 4.6.2 4.6.0 4.6.0 4.6.0 4.6.0 pg_prewarm 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 pg_proctab 0.0.9 0.0.9 0.0.9 0.0.9 0.0.9 0.0.9 0.0.9 0.0.9 0.0.9 pg_repack 1.4.7 1.4.7 1.4.7 1.4.7 1.4.7 1.4.7 1.4.7 1.4.7 1.4.7 pg_similarity 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 pg_stat_statements 1.9 1.9 1.9 1.9 1.9 1.9 1.9 1.9 1.9 pg_tle 1.0.4 1.0.4 1.0.1 1.0.1 1.0.1 N/A N/A N/A N/A pg_transport 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 pg_trgm 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 pg_visibility 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 pgAudit 1.6.2 1.6.2 1.6.2 1.6.2 1.6.1 1.6.1 1.6.1 1.6.1 1.6 pgcrypto 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 pglogical 2.4.2 2.4.2 2.4.1 2.4.1 2.4.1 2.4.1 2.4.1 2.4.0 2.4.0 pgrouting 3.2.2 3.2.2 3.2.2 3.2.2 3.2.2 3.2.0 3.2.0 3.2.0 3.2.0 pgrowlocks 1.2 1.2 1.2 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 1.5 1.5 1.5 pgTAP 1.2.0 1.2.0 1.2.0 1.2.0 1.1.0 1.1.0 1.1.0 1.1.0 1.1.0 pgvector 0.4.4 0.4.1 N/A N/A N/A N/A N/A N/A N/A plcoffee 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 plls 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 plperl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 plpgsql 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 plprofiler 4.1 4.1 4.1 4.1 4.1 4.1 4.1 4.1 4.1 pltcl 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 plv8 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 2.3.15 PostGIS 3.3.2 3.3.2 3.1.7 3.1.7 3.1.7 3.1.5 3.1.5 3.1.5 3.1.4 postgis_raster 3.3.2 3.3.2 3.1.7 3.1.7 3.1.7 3.1.5 3.1.5 3.1.5 3.1.4 postgis_tiger_geocoder 3.3.2 3.3.2 3.1.7 3.1.7 3.1.7 3.1.5 3.1.5 3.1.5 3.1.4 postgis_topology 3.3.2 3.3.2 3.1.7 3.1.7 3.1.7 3.1.5 3.1.5 3.1.5 3.1.4 postgres_fdw 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 prefix 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 1.2.0 rdkit 4.2.0 4.2.0 4.2.0 4.2.0 3.8 3.8 3.8 3.8 3.8 rds_tools 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 refint (contrib-spi) 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 seg 1.4 1.4 1.4 1.4 N/A N/A N/A N/A N/A sslinfo 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 tablefunc 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 tcn 1.0 1.0 1.0 1.0 N/A N/A N/A N/A N/A tds_fdw 2.0.2 2.0.2 2.0.2 2.0.2 2.0.2 2.0.2 2.0.2 2.0.2 N/A test_parser 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 tsm_system_rows 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 tsm_system_time 1.0 1.0 1.0 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 1.1 1.1 1.1 uuid-ossp 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 wal2json 2.5 2.5 2.5 2.5 2.3 2.3 2.3 2.3 2.3
Azure) Azure Database for PostgreSQL – フレキシブル サーバー
Postgres 14 の拡張機能
Postgres バージョン 14 を搭載した Azure Database for PostgreSQL – フレキシブル サーバーでは、次の拡張機能を使用できます。
拡張子 拡張機能のバージョン 説明 address_standardizer 3.1.1 構成要素へのアドレスの解析に使用されます。 address_standardizer_data_us 3.1.1 Address Standardizer US データセットの例 amcheck 1.2 関係の整合性を検証するための関数 bloom 1.0 bloom アクセス メソッド – シグネチャ ファイルに基づくインデックス btree_gin 1.3 GIN で一般的なデータ型のインデックスを作成するためのサポート btree_gist 1.5 GiST で一般的なデータ型のインデックスを作成するためのサポート citext 1.6 大文字と小文字を区別しない文字列のデータ型 cube 1.4 多次元キューブのデータ型 dblink 1.2 データベース内から他の PostgreSQL データベースに接続する dict_int 1.0 整数のテキスト検索辞書テンプレート dict_xsyn 1.0 拡張されたシノニム処理のためのテキスト検索ディクショナリのテンプレート earthdistance 1.1 地表面上の大圏距離を計算する fuzzystrmatch 1.1 文字列間の類似点と相違点を特定する hypopg 1.3.1 仮定のインデックスのサポートを追加する拡張機能 hstore 1.7 (キー、値) ペアのセットを格納するためのデータ型 intagg 1.1 整数のアグリゲーターと列挙子 (廃止) intarray 1.3 整数の 1 次元配列に対する関数、演算子、およびインデックスのサポート isn 1.2 国際対応の製品番号規格のデータ型 lo 1.1 ラージ オブジェクトのメンテナンス ltree 1.2 階層ツリー状の構造体のデータ型 orafce 3.18 Oracle データベースに不足している一部の関数を Postgres で実装 pageinspect 1.8 低レベルでデータベース ページの内容を検査する pg_buffercache 1.3 共有バッファー キャッシュを確認する pg_cron 1.4 PostgreSQL のジョブ スケジューラ pg_freespacemap 1.2 空き領域マップ (FSM) を確認する pg_partman 4.6.1 時刻または ID によってパーティション テーブルを管理するための拡張機能 pg_prewarm 1.2 関係データをプレウォームする pg_repack 1.4.7 テーブルとインデックスから肥大化を削除できます pg_stat_statements 1.8 実行されたすべての SQL ステートメントの実行統計情報を追跡する pg_trgm 1.5 trigram に基づくテキストの類似性の測定とインデックス検索 pg_hint_plan 1.4 SQL コメントでいわゆる “ヒント” を使って PostgreSQL 実行プランを微調整できるようにします pg_visibility 1.2 可視性マップ (VM) とページ レベルの可視性情報を調べる pgaudit 1.6.2 監査機能を提供する pgcrypto 1.3 暗号化関数 pglogical 2.3.2 論理ストリーミング レプリケーション pgrouting 3.3.0 地理空間ルーティングを提供する地理空間データベース pgrowlocks 1.2 行レベルのロック情報を表示する pgstattuple 1.5 タプルレベルの統計情報を表示する pgvector 0.4.0 Postgres のオープンソース ベクトルの類似性検索 plpgsql 1.0 PL/pgSQL 手続き型言語 plv8 3.0.0 信頼できる Javascript 言語拡張機能 postgis 3.2.0 PostGIS ジオメトリ、地理 postgis_raster 3.2.0 PostGIS ラスター型と関数 postgis_sfcgal 3.2.0 PostGIS SFCGAL 関数 postgis_tiger_geocoder 3.2.0 PostGIS Tiger ジオコーダとリバース ジオコーダ postgis_topology 3.2.0 PostGIS トポロジの空間型と関数 postgres_fdw 1.0 リモート PostgreSQL サーバー用の外部データ ラッパー sslinfo 1.2 SSL 証明書に関する情報 semver 0.32.0 セマンティック バージョンのデータ型 tablefunc 1.0 クロス集計を含む、テーブル全体を操作する関数 timescaledb 2.5.1 時系列と分析のためのオープンソースのリレーショナル データベース tsm_system_rows 1.0 行数を制限として受け取る TABLESAMPLE メソッド tsm_system_time 1.0 ミリ秒単位の時間を制限として受け取る TABLESAMPLE メソッド unaccent 1.1 アクセントを削除するテキスト検索辞書 uuid-ossp 1.1 汎用一意識別子 (UUID) を生成する
GCP) Cloud SQL for PostgreSQL
その他の拡張機能
拡張機能 説明 amcheck リレーション構造の論理的な整合性を検証する関数を提供し、pg_amcheck アプリケーションが破損をチェックできるようにします。 auto_explain トラブルシューティングなどのため、実行速度が遅いステートメントの実行プランを自動的にロギングします。EXPLAIN コマンドの機能を自動的に実行します。このドキュメントの auto_explain もご覧ください。 dblink データベース セッション内から PostgreSQL データベースに接続する関数を提供します。このドキュメントの dblink もご覧ください。
Cloud SQL for PostgreSQL はバージョン 1.2 を使用します。注: Private Service Connect を使用して Cloud SQL インスタンスに接続する場合、この拡張機能はインスタンスでは使用できません。decoderbufs 出力データを、Debezium 用に調整されたプロトコル バッファとして配信する PostgreSQL の論理デコーダ。 dict_int 整数のインデックス作成を制御する、全文検索用のアドオン辞書テンプレート。
Cloud SQL for PostgreSQL はバージョン 1.0 を使用します。earthdistance 地球上の大圏距離を計算する 2 つの方法を提供します。
Cloud SQL for PostgreSQL はバージョン 1.1 を使用します。fuzzystrmatch 文字列間の類似性と相違性を特定するためのいくつかの関数を提供します。
Cloud SQL for PostgreSQL はバージョン 1.1 を使用します。intagg 整数型のアグリゲータと列挙子を提供します。
Cloud SQL for PostgreSQL はバージョン 1.1 を使用します。intarray null を含まない整数の配列を操作し、インデックス検索を行う関数と演算子のセットを提供します。
Cloud SQL for PostgreSQL 9.6、10、11、12 はバージョン 1.2 を使用します。PostgreSQL 13 はバージョン 1.3 を使用します。PostgreSQL 14 はバージョン 1.5 を使用します。pageinspect データベース ページのコンテンツを低レベルで検査します。このドキュメントの pageinspect もご覧ください。
Cloud SQL for PostgreSQL 9.6 はバージョン 1.5 を使用します。PostgreSQL 10 はバージョン 1.6 を使用します。PostgreSQL 11、12 はバージョン 1.7 を使用します。PostgreSQL 13、14 はバージョン 1.8 を使用します。pgAudit 監査データを収集します。
Cloud SQL for PostgreSQL 9.6 は、pgAudit バージョン 1.1.4 を使用します。Cloud SQL for PostgreSQL 10 は、pgAudit バージョン 1.2.3 を使用します。Cloud SQL for PostgreSQL 11 は、pgAudit バージョン 1.3.3 を使用しますCloud SQL for PostgreSQL 12 は、pgAudit バージョン 1.4.2 を使用します。Cloud SQL for PostgreSQL 13 は、pgAudit バージョン 1.5.1 を使用します。Cloud SQL for PostgreSQL 14 は、pgAudit バージョン 1.6.1 を使用します。pgAudit のすべてのバージョンの監査ログファイルに設定できる値は、READ
、WRITE
、FUNCTION
、ROLE
、DDL
、MISC
、ALL
です。バージョン 1.4.2 から 1.6.1 では、MISC_SET
の値を設定することもできます。この拡張機能を Cloud SQL で使用する方法の詳細については、pgAudit を使用した PostgreSQL の監査をご覧ください。pg_bigm 全文検索を可能にし、全文検索の高速化に 2 グラム(バイグラム)インデックスを使用できるようにします。このドキュメントの pg_bigm もご覧ください。 pg_buffercache 共有バッファ キャッシュ内でリアルタイムで発生していることを調査する方法を提供します。
Cloud SQL for PostgreSQL 9.6 はバージョン 1.2 を使用します。PostgreSQL 10、11、12、13、14 はバージョン 1.3 を使用します。pg_cron cron ベースのジョブ スケジューラを提供します。この拡張機能を使用すると、cron 構文を使用してデータベースから直接 PostgreSQL コマンドのスケジュールを設定できます。拡張機能の詳細については、このドキュメントの pg_cron をご覧ください。
Cloud SQL for PostgreSQL はバージョン 10 以降を使用します。pgcrypto PostgreSQL に対応する暗号機能を提供します。
Cloud SQL for PostgreSQL はバージョン 1.3 を使用します。pglogical PostgreSQL の論理レプリケーションを提供します。論理レプリケーションとデコードの設定をご覧ください。
Cloud SQL for PostgreSQL はバージョン 2.4.1 を使用します。注: Private Service Connect を使用して Cloud SQL インスタンスに接続する場合、この拡張機能はインスタンスでは使用できません。pgfincore オペレーティング システムのディスク キャッシュ メモリ内のページを PostgreSQL から管理するための一連の関数。このドキュメントの pgfincore もご覧ください。
Cloud SQL for PostgreSQL はバージョン 1.2 を使用します。pg_freespacemap 空き領域マップ(FSM)を調べます。このドキュメントの pg_freespacemap もご覧ください。
Cloud SQL for PostgreSQL はバージョン 1.2 を使用します。pg_hint_plan SQL コメントの簡単な説明であるヒントを使用して、PostgreSQL の実行プランを改善できます。このドキュメントの pg_Hint_plan もご覧ください。 pgoutput このプラグインは、変更データ キャプチャ用の論理レプリケーションによって使用されます。 pgoutput
はデフォルトのプラグインであるため、Cloud SQL for PostgreSQL のすべてのバージョンでサポートされています。pg_partman 時間ベースおよびシリアル番号ベースのテーブル パーティション セットを作成して管理できます。このドキュメントの pg_partman もご覧ください。
Cloud SQL for PostgreSQL はバージョン 4.5.1 を使用します。pg_prewarm 関連データをオペレーティング システムのバッファ キャッシュ、または PostgreSQL バッファ キャッシュのいずれかに読み込むための便利な方法を提供します。
Cloud SQL for PostgreSQL 9.6、10 はバージョン 1.1 を使用します。PostgreSQL 11、12、13、14 はバージョン 1.2 を使用します。pg_proctab Cloud SQL for PostgreSQL で pg_top を使用し、オペレーティング システムのプロセス テーブルからレポートを生成できます。このドキュメントの pg_proctab もご覧ください。 pg_repack テーブルとインデックスから肥大化した部分を削除できます。必要に応じて、オンライン CLUSTER(cluster index 順にテーブルを並べ替える)を実行できます。このドキュメントの pg_repack もご覧ください。
Cloud SQL for PostgreSQL はバージョン 1.4.7 を使用します。pgrowlocks 指定した表の行のロック情報を提供します。
Cloud SQL for PostgreSQL はバージョン 1.2 を使用します。pgstattuple タプルレベルの統計情報を取得する、さまざまな関数を提供します。
Cloud SQL for PostgreSQL 9.6 はバージョン 1.4 を使用します。他のすべてのバージョンではバージョン 1.5 が使用されます。pg_similarity PostgreSQL で類似性クエリをサポートします。
Cloud SQL for PostgreSQL はバージョン 1.0 を使用します。pg_stat_statements 実行されたすべての SQL ステートメントの実行統計を追跡する方法を提供します。
Cloud SQL for PostgreSQL 9.6 はバージョン 1.4 を使用します。PostgreSQL 10、11 はバージョン 1.6 を使用します。PostgreSQL 12 はバージョン 1.7 を使用します。PostgreSQL 13 はバージョン 1.8 を使用します。PostgreSQL 14 はバージョン 1.9 を使用します。pgTAP PL/pgSQL と PL/SQL で記述された、PostgreSQL の単体テスト フレームワークを提供します。
Cloud SQL for PostgreSQL はバージョン 1.1.0 を使用します。pg_trgm トライグラム照合により英数字の類似性を判断する関数と演算子を提供します。また、類似文字列の高速検索をサポートするインデックス演算子クラスも提供します。
Cloud SQL for PostgreSQL 9.6、10 はバージョン 1.3 を使用します。PostgreSQL 11、12 はバージョン 1.4 を使用します。PostgreSQL 13 はバージョン 1.5 を使用します。PostgreSQL 14 はバージョン 1.6 を使用します。pgtt PostgreSQL データベースに DB2 または Oracle スタイルのグローバル一時テーブルを作成して管理します。Cloud SQL for PostgreSQL はバージョン 2.9.0 を使用します。 pgvector PostgreSQL データベースにベクトル エンベディングを保存、検索するためのオープンソース拡張機能。Cloud SQL for PostgreSQL はバージョン 0.4.2 を使用します。 pg_visibility テーブルの可視性マップ(VM)とページレベルの可視性情報を検査する手段を提供します。このドキュメントの pg_visibility もご覧ください。
Cloud SQL for PostgreSQL はバージョン 1.2 を使用します。pg_wait_sampling 待機イベントのサンプリング統計情報を収集し、サーバーのプロセス用に待機イベントデータを提供します。Cloud SQL for PostgreSQL はバージョン 1.1 を使用します。 PL/Proxy PostgreSQL データベース間でのリモート プロシージャ コールを可能にするプロシージャル言語ハンドラ。オプションでシャーディングを含みます。このドキュメントの PL/Proxy もご覧ください。
Cloud SQL for PostgreSQL はバージョン 2.10.0 を使用します。注: Private Service Connect を使用して Cloud SQL インスタンスに接続する場合、この拡張機能はインスタンスでは使用できません。postgres_fdw 複数のインスタンス内または複数インスタンスにわたる外部データラッパーを作成できます。このドキュメントの postgres_fdw もご覧ください。
Cloud SQL for PostgreSQL 9.6、10、11、12、13 はバージョン 1.0 を使用します。PostgreSQL 14 はバージョン 1.1 を使用します。
注: Private Service Connect を使用して Cloud SQL インスタンスに接続する場合、この拡張機能はインスタンスでは使用できません。postgresql_anonymizer PostgreSQL データベースから個人情報(PII)または機密データをマスクまたは置換します。詳細については、postgresql_anonymizer のセクションをご覧ください。Cloud SQL for PostgreSQL はバージョン 1.0.0 を使用します。 rdkit ケモインフォマティクスと機械学習のソフトウェアのコレクション。この拡張機能を使用すると、分子構造の比較、操作、識別を行うことができます。
Cloud SQL for PostgreSQL はバージョン 4.2.0 を使用します。refint 外部キーの制約、参照テーブル、被参照テーブルをチェックする関数が含まれています。また、この拡張機能はサーバー プログラミング インターフェース(SPI)の情報も提供します。Cloud SQL for PostgreSQL はバージョン 1.0 を使用します。 sslinfo インスタンスに接続されたときに現在のクライアントによって提供された SSL 証明書に関する情報を提供します。
Cloud SQL for PostgreSQL はバージョン 1.2 を使用します。tablefunc テーブル(複数行)を返すさまざまな関数が含まれています。
Cloud SQL for PostgreSQL はバージョン 1.0 を使用します。tsm_system_rows SELECT コマンドの TABLESAMPLE 句で使用できるテーブル サンプリング メソッド SYSTEM_ROWS を提供します。
Cloud SQL for PostgreSQL はバージョン 1.0 を使用します。tsm_system_time SELECT コマンドの TABLESAMPLE 句で使用できるテーブル サンプリング メソッド SYSTEM_TIME を提供します。
Cloud SQL for PostgreSQL はバージョン 1.0 を使用します。unaccent 語彙素からアクセント(分音符)を削除するテキスト検索辞書。
Cloud SQL for PostgreSQL はバージョン 1.1 を使用します。uuid-ossp 標準アルゴリズムの 1 つを使用して Universally Unique Identifier(UUID)を生成する関数を提供します。
Cloud SQL for PostgreSQL はバージョン 1.1 を使用します。
その他
各クラウドのリファレンスは更新されるので、今後サポートされる(またはサポートされなくなる)EXTENSIONもあると思うので、たまに見直す必要がありそうです。
最近PostgreSQLに触れるようになって、EXTENSIONについて全然分かりませんでしたが、一覧化したり各EXTENSIONを触ることでかなり把握できてきました
各EXTENSIONの検証内容について今後記事にしていく予定です。(各EXTENSIONの有用さや、今回表にしたEXTENSIONで有用なもののランキングなどしたいです)