🐘
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上 - 補足資料
はじめに
PostgreSQL Conference Japan 2023で本記事のタイトルで講演を行いました。
資料は以下になります。
この講演では、PostgreSQLの機能と、それらの機能がPostgreSQL本体に入るまでクラウドのマネージドPostgreSQLではどのような対応がされているか、ということをお話しました。
講演ではすべてを話すことはできなかったので、表にして載せておきます。
検証環境
製品名 | バージョン |
---|---|
Amazon RDS for PostgreSQL | PostgreSQL 14.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit |
Azure Database for PostgreSQL(フレキシブルサーバ) | PostgreSQL 14.7 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit |
Cloud SQL for PostgreSQL | PostgreSQL 14.7 on x86_64-pc-linux-gnu, compiled by Debian clang version 12.0.1, 64-bit |
検証結果
SQLコマンド
SQL | AWS | Azure | GCP |
---|---|---|---|
ANALYZE (to global catalogs) | Yes | No | No |
ANALYZE (to local catalogs) | Yes | Yes | Yes |
CHECKPOINT | Yes | Yes | No |
CLUSTER (to catalogs) | No | No | No |
CREATE ACCESS METHOD | No | No | No |
CREATE EVENT TRIGGER | Yes | Yes | Yes |
CREATE EXTENSION (not trusted) | Yes | Yes | Yes |
CREATE FOREIGN DATA WRAPPER | No | No | No |
CREATE FUNCTION LANGUAGE C | No | No | No |
CREATE LANGUAGE | No | No | No |
CREATE OPERATOR CLASS | Yes | No | No |
CREATE OPERATOR FAMILY | Yes | No | No |
CREATE ROLE (SUPERUSER, NOSUPERUSER) | No | No | No |
CREATE ROLE (REPLICATION, NOREPLICATION) | No | Yes | Yes |
CREATE ROLE (BYPASSRLS, NOBYPASSRLS) | Yes | No | Yes |
CREATE TABLESPACE | Yes | No | No |
CREATE TEXT SEARCH PARSER | No | No | No |
CREATE TEXT SEARCH TEMPLATE | No | No | No |
CREATE TYPE (Base Types) | No | No | No |
GRANT <any> to <superuser> | No | Yes | Yes |
GRANT <superuser> to <any> | No | No | No |
REINDEX (to catalogs) | Yes | No | No |
REVOKE <any> FROM <superuser> | No | Yes | Yes |
REVOKE <superuser> FROM <any> | No | No | Yes |
SET ROLE (to SUPERUSER) | No | No | No |
SET SESSION AUTHORIZATION | Yes | No | No |
VACUUM (to global catalogs) | Yes | No | No |
VACUUM (to local catalogs) | Yes | Yes | Yes |
GUCパラメータ(context=superuserのみ)
GUCパラメータ | AWS | Azure | GCP |
---|---|---|---|
allow_in_place_tablespaces | No | No | No |
allow_system_table_mods | Yes | No | No |
backtrace_functions | No | No | No |
commit_delay | Yes | No | No |
compute_query_id | No | No | No |
deadlock_timeout | Yes | No | No |
debug_discard_caches | No | No | No |
dynamic_library_path | No | No | No |
ignore_checksum_failure | No | No | No |
jit_dump_bitcode | No | No | No |
lc_messages | Yes | No | No |
lo_compat_privileges | No | No | No |
log_duration | Yes | No | No |
log_error_verbosity | Yes | No | No |
log_executor_stats | Yes | No | No |
log_lock_waits | Yes | No | No |
log_min_duration_sample | Yes | No | No |
log_min_duration_statement | Yes | No | No |
log_min_error_statement | Yes | No | No |
log_min_messages | Yes | No | No |
log_parameter_max_length | No | No | No |
log_parser_stats | Yes | No | No |
log_planner_stats | Yes | No | No |
log_replication_commands | Yes | No | No |
log_statement | Yes | No | No |
log_statement_sample_rate | Yes | No | No |
log_statement_stats | Yes | No | No |
log_temp_files | Yes | No | No |
log_transaction_sample_rate | Yes | No | No |
max_stack_depth | No | No | No |
session_preload_libraries | No | No | No |
session_replication_role | Yes | Yes | No |
temp_file_limit | Yes | No | No |
track_activities | Yes | No | No |
track_counts | Yes | No | No |
track_functions | Yes | No | No |
track_io_timing | Yes | No | No |
track_wal_io_timing | Yes | No | No |
update_process_title | No | No | No |
wal_compression | No | No | No |
wal_consistency_checking | No | No | No |
wal_init_zero | No | No | No |
wal_recycle | No | No | No |
zero_damaged_pages | No | No | No |
参考
Discussion