From f84d15872b9e29911d8c5d165d483165f613c9e6 Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Wed, 27 Aug 2025 14:53:02 -0400 Subject: [PATCH 1/3] feat: include pg_stat_monitor in shared_preload_libraries add our default settings to GUC --- ansible/files/postgresql_config/postgresql.conf.j2 | 4 +++- ansible/vars.yml | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ansible/files/postgresql_config/postgresql.conf.j2 b/ansible/files/postgresql_config/postgresql.conf.j2 index 5d4237068..06f30a612 100644 --- a/ansible/files/postgresql_config/postgresql.conf.j2 +++ b/ansible/files/postgresql_config/postgresql.conf.j2 @@ -688,7 +688,7 @@ default_text_search_config = 'pg_catalog.english' #local_preload_libraries = '' #session_preload_libraries = '' -shared_preload_libraries = 'pg_stat_statements, pgaudit, plpgsql, plpgsql_check, pg_cron, pg_net, pgsodium, timescaledb, auto_explain, pg_tle, plan_filter, supabase_vault' # (change requires restart) +shared_preload_libraries = 'pg_stat_statements, pg_stat_monitor, pgaudit, plpgsql, plpgsql_check, pg_cron, pg_net, pgsodium, timescaledb, auto_explain, pg_tle, plan_filter, supabase_vault, pg_stat_monitor' # (change requires restart) jit_provider = 'llvmjit' # JIT library to use # - Other Defaults - @@ -776,3 +776,5 @@ include = '/etc/postgresql-custom/read-replica.conf' # Add settings for extensions here auto_explain.log_min_duration = 10s cron.database_name = 'postgres' +pg_stat_monitor.pgsm_bucket_time = 300 +pg_stat_monitor.pgsm_max_buckets = 2016 diff --git a/ansible/vars.yml b/ansible/vars.yml index 385f29f7d..46883f2af 100644 --- a/ansible/vars.yml +++ b/ansible/vars.yml @@ -9,9 +9,9 @@ postgres_major: # Full version strings for each major version postgres_release: - postgresorioledb-17: "17.5.1.021-orioledb" - postgres17: "17.4.1.078" - postgres15: "15.8.1.135" + postgresorioledb-17: "17.5.1.019-orioledb-psm-1" + postgres17: "17.4.1.076-psm-1" + postgres15: "15.8.1.133-psm-1" # Non Postgres Extensions pgbouncer_release: "1.19.0" From 93b8e7b64fe713e19df82cbc91eae529b3ca5c70 Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Wed, 27 Aug 2025 14:57:19 -0400 Subject: [PATCH 2/3] fix: remove dup --- ansible/files/postgresql_config/postgresql.conf.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/files/postgresql_config/postgresql.conf.j2 b/ansible/files/postgresql_config/postgresql.conf.j2 index 06f30a612..3082f062c 100644 --- a/ansible/files/postgresql_config/postgresql.conf.j2 +++ b/ansible/files/postgresql_config/postgresql.conf.j2 @@ -688,7 +688,7 @@ default_text_search_config = 'pg_catalog.english' #local_preload_libraries = '' #session_preload_libraries = '' -shared_preload_libraries = 'pg_stat_statements, pg_stat_monitor, pgaudit, plpgsql, plpgsql_check, pg_cron, pg_net, pgsodium, timescaledb, auto_explain, pg_tle, plan_filter, supabase_vault, pg_stat_monitor' # (change requires restart) +shared_preload_libraries = 'pg_stat_statements, pgaudit, plpgsql, plpgsql_check, pg_cron, pg_net, pgsodium, timescaledb, auto_explain, pg_tle, plan_filter, supabase_vault, pg_stat_monitor' # (change requires restart) jit_provider = 'llvmjit' # JIT library to use # - Other Defaults - From c447a3c3e8a6fbf3d1ed80e1047418148c71e765 Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Tue, 2 Sep 2025 12:43:07 -0400 Subject: [PATCH 3/3] feat: adj pg_stat_monitor defaults --- ansible/files/postgresql_config/postgresql.conf.j2 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ansible/files/postgresql_config/postgresql.conf.j2 b/ansible/files/postgresql_config/postgresql.conf.j2 index 3082f062c..548ce1662 100644 --- a/ansible/files/postgresql_config/postgresql.conf.j2 +++ b/ansible/files/postgresql_config/postgresql.conf.j2 @@ -776,5 +776,9 @@ include = '/etc/postgresql-custom/read-replica.conf' # Add settings for extensions here auto_explain.log_min_duration = 10s cron.database_name = 'postgres' -pg_stat_monitor.pgsm_bucket_time = 300 -pg_stat_monitor.pgsm_max_buckets = 2016 +pg_stat_monitor.pgsm_max = 256 +pg_stat_monitor.pgsm_query_shared_buffer = 20 +pg_stat_monitor.pgsm_bucket_time = 3600 +pg_stat_monitor.pgsm_max_buckets = 12 +pg_stat_monitor.pgsm_enable_overflow = false +pg_stat_monitor.pgsm_query_max_len = 1024