diff --git a/guc.c b/guc.c index 25823d8..ed47241 100644 --- a/guc.c +++ b/guc.c @@ -33,6 +33,7 @@ bool pgsm_enable_query_plan; bool pgsm_enable_overflow; bool pgsm_normalized_query; bool pgsm_track_utility; +bool pgsm_track_application_names; bool pgsm_enable_pgsm_query_id; int pgsm_track; static int pgsm_overflow_target; /* Not used since 2.0 */ @@ -190,6 +191,18 @@ init_guc(void) NULL /* show_hook */ ); + DefineCustomBoolVariable("pg_stat_monitor.pgsm_track_application_names", /* name */ + "Enable/Disable application names tracking.", /* short_desc */ + NULL, /* long_desc */ + &pgsm_track_application_names, /* value address */ + true, /* boot value */ + PGC_USERSET, /* context */ + 0, /* flags */ + NULL, /* check_hook */ + NULL, /* assign_hook */ + NULL /* show_hook */ + ); + DefineCustomBoolVariable("pg_stat_monitor.pgsm_enable_pgsm_query_id", /* name */ "Enable/disable PGSM specific query id calculation which is very useful in comparing same query across databases and clusters..", /* short_desc */ NULL, /* long_desc */ diff --git a/pg_stat_monitor.c b/pg_stat_monitor.c index bca75cf..91f1a2b 100644 --- a/pg_stat_monitor.c +++ b/pg_stat_monitor.c @@ -43,7 +43,7 @@ PG_MODULE_MAGIC; #define PG_STAT_MONITOR_COLS_V1_0 52 #define PG_STAT_MONITOR_COLS_V2_0 64 #define PG_STAT_MONITOR_COLS_V2_1 70 -#define PG_STAT_MONITOR_COLS PG_STAT_MONITOR_COLS_V2_0 /* maximum of above */ +#define PG_STAT_MONITOR_COLS PG_STAT_MONITOR_COLS_V2_1 /* maximum of above */ #define PGSM_TEXT_FILE PGSTAT_STAT_PERMANENT_DIRECTORY "pg_stat_monitor_query" @@ -106,8 +106,8 @@ static struct rusage rusage_start; static struct rusage rusage_end; /* Application name and length; set each time when an entry is created locally */ -char app_name[APPLICATIONNAME_LEN]; -int app_name_len; +static char app_name[APPLICATIONNAME_LEN]; +static int app_name_len; /* Query buffer, store queries' text. */ @@ -1334,6 +1334,12 @@ pgsm_hash_string(const char *str, int len) static PgBackendStatus * pg_get_backend_status(void) { + +#if PG_VERSION_NUM >= 170000 + return pgstat_get_beentry_by_proc_number(MyProcPid); +#elif PG_VERSION_NUM >= 160000 + return &(pgstat_get_local_beentry_by_backend_id(MyBackendId)->backendStatus); +#else LocalPgBackendStatus *local_beentry; int num_backends = pgstat_fetch_stat_numbackends(); int i; @@ -1341,11 +1347,8 @@ pg_get_backend_status(void) for (i = 1; i <= num_backends; i++) { PgBackendStatus *beentry; -#if PG_VERSION_NUM < 160000 + local_beentry = pgstat_fetch_stat_local_beentry(i); -#else - local_beentry = pgstat_get_local_beentry_by_index(i); -#endif if (!local_beentry) continue; @@ -1355,6 +1358,8 @@ pg_get_backend_status(void) return beentry; } return NULL; + +#endif } /* @@ -1531,7 +1536,7 @@ pgsm_update_entry(pgsmEntry * entry, /* Only should process this once when storing the data */ if (kind == PGSM_STORE) { - if (app_name_len > 0 && !e->counters.info.application_name[0]) + if (pgsm_track_application_names && app_name_len > 0 && !e->counters.info.application_name[0]) _snprintf(e->counters.info.application_name, app_name, app_name_len + 1, APPLICATIONNAME_LEN); e->counters.info.num_relations = num_relations; @@ -1787,7 +1792,6 @@ pgsm_create_hash_entry(uint64 bucket_id, uint64 queryid, PlanInfo * plan_info) pgsmEntry *entry; int sec_ctx; bool found_client_addr = false; - char *app_name_ptr = app_name; MemoryContext oldctx; char *datname = NULL; char *username = NULL; @@ -1802,9 +1806,12 @@ pgsm_create_hash_entry(uint64 bucket_id, uint64 queryid, PlanInfo * plan_info) */ GetUserIdAndSecContext((Oid *) &entry->key.userid, &sec_ctx); - /* Get the application name and set appid */ - app_name_len = pg_get_application_name(app_name, APPLICATIONNAME_LEN); - entry->key.appid = pgsm_hash_string((const char *) app_name_ptr, app_name_len); + if (pgsm_track_application_names) + { + /* Get the application name and set appid */ + app_name_len = pg_get_application_name(app_name, APPLICATIONNAME_LEN); + entry->key.appid = pgsm_hash_string((const char *) app_name, app_name_len); + } /* client address */ if (!pgsm_client_ip_is_valid()) diff --git a/pg_stat_monitor.h b/pg_stat_monitor.h index 4d21536..c4a23d5 100644 --- a/pg_stat_monitor.h +++ b/pg_stat_monitor.h @@ -521,6 +521,7 @@ extern bool pgsm_enable_query_plan; extern bool pgsm_enable_overflow; extern bool pgsm_normalized_query; extern bool pgsm_track_utility; +extern bool pgsm_track_application_names; extern bool pgsm_enable_pgsm_query_id; extern int pgsm_track; diff --git a/regression/expected/application_name.out b/regression/expected/application_name.out index 969a6a4..2fc4947 100644 --- a/regression/expected/application_name.out +++ b/regression/expected/application_name.out @@ -24,4 +24,32 @@ SELECT pg_stat_monitor_reset(); (1 row) +SELECT 1 AS num; + num +----- + 1 +(1 row) + +SET pg_stat_monitor.pgsm_track_application_names='no'; +SELECT 1 AS num; + num +----- + 1 +(1 row) + +SELECT query,application_name FROM pg_stat_monitor ORDER BY query, application_name COLLATE "C"; + query | application_name +-------------------------------------------------------+----------------------------- + SELECT 1 AS num | pg_regress/application_name + SELECT 1 AS num | + SELECT pg_stat_monitor_reset() | pg_regress/application_name + SET pg_stat_monitor.pgsm_track_application_names='no' | +(4 rows) + +SELECT pg_stat_monitor_reset(); + pg_stat_monitor_reset +----------------------- + +(1 row) + DROP EXTENSION pg_stat_monitor; diff --git a/regression/expected/guc.out b/regression/expected/guc.out index dd84374..8246c16 100644 --- a/regression/expected/guc.out +++ b/regression/expected/guc.out @@ -16,25 +16,26 @@ WHERE name LIKE 'pg_stat_monitor.%' ORDER BY name COLLATE "C"; - name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart --------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- - pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f - pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f - pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f - pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f - pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f - pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f - pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f - pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f - pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f - pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f - pg_stat_monitor.pgsm_track_planning | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f -(17 rows) + name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart +----------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- + pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f + pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f + pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f + pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f + pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f + pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f + pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f + pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f + pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f + pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f + pg_stat_monitor.pgsm_track_application_names | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_track_planning | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f +(18 rows) DROP EXTENSION pg_stat_monitor; diff --git a/regression/expected/guc_1.out b/regression/expected/guc_1.out index 6c73f2e..afd8a02 100644 --- a/regression/expected/guc_1.out +++ b/regression/expected/guc_1.out @@ -16,24 +16,25 @@ WHERE name LIKE 'pg_stat_monitor.%' ORDER BY name COLLATE "C"; - name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart --------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- - pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f - pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f - pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f - pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f - pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f - pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f - pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f - pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f - pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f - pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f - pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f -(16 rows) + name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart +----------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- + pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f + pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f + pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f + pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f + pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f + pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f + pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f + pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f + pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f + pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f + pg_stat_monitor.pgsm_track_application_names | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f +(17 rows) DROP EXTENSION pg_stat_monitor; diff --git a/regression/expected/guc_2.out b/regression/expected/guc_2.out index 06d0864..093f8c6 100644 --- a/regression/expected/guc_2.out +++ b/regression/expected/guc_2.out @@ -16,24 +16,25 @@ WHERE name LIKE 'pg_stat_monitor.%' ORDER BY name COLLATE "C"; - name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart --------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- - pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f - pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f - pg_stat_monitor.pgsm_histogram_max | 100000 | | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f - pg_stat_monitor.pgsm_histogram_min | 1 | | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f - pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f - pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f - pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f - pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f - pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f - pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f - pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f -(16 rows) + name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart +----------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- + pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f + pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f + pg_stat_monitor.pgsm_histogram_max | 100000 | | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f + pg_stat_monitor.pgsm_histogram_min | 1 | | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f + pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f + pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f + pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f + pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f + pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f + pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f + pg_stat_monitor.pgsm_track_application_names | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f +(17 rows) DROP EXTENSION pg_stat_monitor; diff --git a/regression/sql/application_name.sql b/regression/sql/application_name.sql index c566eaf..7cb8f6f 100644 --- a/regression/sql/application_name.sql +++ b/regression/sql/application_name.sql @@ -1,6 +1,14 @@ CREATE EXTENSION pg_stat_monitor; SELECT pg_stat_monitor_reset(); + SELECT 1 AS num; SELECT query,application_name FROM pg_stat_monitor ORDER BY query COLLATE "C"; SELECT pg_stat_monitor_reset(); + +SELECT 1 AS num; +SET pg_stat_monitor.pgsm_track_application_names='no'; +SELECT 1 AS num; +SELECT query,application_name FROM pg_stat_monitor ORDER BY query, application_name COLLATE "C"; +SELECT pg_stat_monitor_reset(); + DROP EXTENSION pg_stat_monitor; diff --git a/t/expected/001_settings_default.out b/t/expected/001_settings_default.out index 5a99aee..f7c3f6e 100644 --- a/t/expected/001_settings_default.out +++ b/t/expected/001_settings_default.out @@ -6,26 +6,27 @@ SELECT pg_stat_monitor_reset(); (1 row) SELECT name, setting, unit, context, vartype, source, min_val, max_val, enumvals, boot_val, reset_val, pending_restart FROM pg_settings WHERE name LIKE '%pg_stat_monitor%'; - name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart --------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- - pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f - pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f - pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f - pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f - pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f - pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f - pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f - pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f - pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f - pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f - pg_stat_monitor.pgsm_track_planning | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f -(17 rows) + name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart +----------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- + pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f + pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f + pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f + pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f + pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f + pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f + pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f + pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f + pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f + pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f + pg_stat_monitor.pgsm_track_application_names | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_track_planning | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f +(18 rows) SELECT datname, substr(query,0,100) AS query, calls FROM pg_stat_monitor ORDER BY datname, query, calls DESC Limit 20; datname | query | calls @@ -35,26 +36,27 @@ SELECT datname, substr(query,0,100) AS query, calls FROM pg_stat_monitor ORDER B (2 rows) SELECT name, setting, unit, context, vartype, source, min_val, max_val, enumvals, boot_val, reset_val, pending_restart FROM pg_settings WHERE name LIKE '%pg_stat_monitor%'; - name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart --------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- - pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f - pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f - pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f - pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f - pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f - pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f - pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f - pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f - pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f - pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f - pg_stat_monitor.pgsm_track_planning | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f -(17 rows) + name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart +----------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- + pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f + pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f + pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f + pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f + pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f + pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f + pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f + pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f + pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f + pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f + pg_stat_monitor.pgsm_track_application_names | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_track_planning | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f +(18 rows) SELECT pg_stat_monitor_reset(); pg_stat_monitor_reset diff --git a/t/expected/001_settings_default.out.12 b/t/expected/001_settings_default.out.12 index 4933ae9..2d1058a 100644 --- a/t/expected/001_settings_default.out.12 +++ b/t/expected/001_settings_default.out.12 @@ -6,25 +6,26 @@ SELECT pg_stat_monitor_reset(); (1 row) SELECT name, setting, unit, context, vartype, source, min_val, max_val, enumvals, boot_val, reset_val, pending_restart FROM pg_settings WHERE name LIKE '%pg_stat_monitor%'; - name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart --------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- - pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f - pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f - pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f - pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f - pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f - pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f - pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f - pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f - pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f - pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f - pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f -(16 rows) + name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart +----------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- + pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f + pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f + pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f + pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f + pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f + pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f + pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f + pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f + pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f + pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f + pg_stat_monitor.pgsm_track_application_names | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f +(17 rows) SELECT datname, substr(query,0,100) AS query, calls FROM pg_stat_monitor ORDER BY datname, query, calls DESC Limit 20; datname | query | calls @@ -34,25 +35,26 @@ SELECT datname, substr(query,0,100) AS query, calls FROM pg_stat_monitor ORDER B (2 rows) SELECT name, setting, unit, context, vartype, source, min_val, max_val, enumvals, boot_val, reset_val, pending_restart FROM pg_settings WHERE name LIKE '%pg_stat_monitor%'; - name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart --------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- - pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f - pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f - pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f - pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f - pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f - pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f - pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f - pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f - pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f - pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f - pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f - pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f - pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f -(16 rows) + name | setting | unit | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | pending_restart +----------------------------------------------+---------+------+------------+---------+---------+---------+------------+----------------+----------+-----------+----------------- + pg_stat_monitor.pgsm_bucket_time | 60 | s | postmaster | integer | default | 1 | 2147483647 | | 60 | 60 | f + pg_stat_monitor.pgsm_enable_overflow | on | | postmaster | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_pgsm_query_id | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_enable_query_plan | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_extract_comments | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_histogram_buckets | 20 | | postmaster | integer | default | 2 | 50 | | 20 | 20 | f + pg_stat_monitor.pgsm_histogram_max | 100000 | ms | postmaster | real | default | 10 | 5e+07 | | 100000 | 100000 | f + pg_stat_monitor.pgsm_histogram_min | 1 | ms | postmaster | real | default | 0 | 5e+07 | | 1 | 1 | f + pg_stat_monitor.pgsm_max | 256 | MB | postmaster | integer | default | 10 | 10240 | | 256 | 256 | f + pg_stat_monitor.pgsm_max_buckets | 10 | | postmaster | integer | default | 1 | 20000 | | 10 | 10 | f + pg_stat_monitor.pgsm_normalized_query | off | | user | bool | default | | | | off | off | f + pg_stat_monitor.pgsm_overflow_target | 1 | | postmaster | integer | default | 0 | 1 | | 1 | 1 | f + pg_stat_monitor.pgsm_query_max_len | 2048 | | postmaster | integer | default | 1024 | 2147483647 | | 2048 | 2048 | f + pg_stat_monitor.pgsm_query_shared_buffer | 20 | MB | postmaster | integer | default | 1 | 10000 | | 20 | 20 | f + pg_stat_monitor.pgsm_track | top | | user | enum | default | | | {none,top,all} | top | top | f + pg_stat_monitor.pgsm_track_application_names | on | | user | bool | default | | | | on | on | f + pg_stat_monitor.pgsm_track_utility | on | | user | bool | default | | | | on | on | f +(17 rows) SELECT pg_stat_monitor_reset(); pg_stat_monitor_reset