diff options
-rw-r--r-- | doc/src/sgml/monitoring.sgml | 7 | ||||
-rw-r--r-- | src/backend/catalog/system_functions.sql | 7 | ||||
-rw-r--r-- | src/include/catalog/catversion.h | 2 | ||||
-rw-r--r-- | src/include/catalog/pg_proc.dat | 3 | ||||
-rw-r--r-- | src/test/regress/expected/stats.out | 2 | ||||
-rw-r--r-- | src/test/regress/sql/stats.sql | 2 |
6 files changed, 16 insertions, 7 deletions
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index b8495b64989..6b237d41cb4 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -4781,14 +4781,15 @@ description | Waiting for a newly initialized WAL file to reach durable storage <indexterm> <primary>pg_stat_reset_slru</primary> </indexterm> - <function>pg_stat_reset_slru</function> ( <type>text</type> ) + <function>pg_stat_reset_slru</function> ( [ <parameter>target</parameter> <type>text</type> <literal>DEFAULT</literal> <literal>NULL</literal> ] ) <returnvalue>void</returnvalue> </para> <para> Resets statistics to zero for a single SLRU cache, or for all SLRUs in - the cluster. If the argument is NULL, all counters shown in + the cluster. If <parameter>target</parameter> is + <literal>NULL</literal> or is not specified, all the counters shown in the <structname>pg_stat_slru</structname> view for all SLRU caches are - reset. The argument can be one of + reset. The argument can be one of <literal>CommitTs</literal>, <literal>MultiXactMember</literal>, <literal>MultiXactOffset</literal>, diff --git a/src/backend/catalog/system_functions.sql b/src/backend/catalog/system_functions.sql index 8079f1cd7ff..4206752881d 100644 --- a/src/backend/catalog/system_functions.sql +++ b/src/backend/catalog/system_functions.sql @@ -628,6 +628,13 @@ LANGUAGE INTERNAL CALLED ON NULL INPUT VOLATILE PARALLEL SAFE AS 'pg_stat_reset_shared'; +CREATE OR REPLACE FUNCTION + pg_stat_reset_slru(target text DEFAULT NULL) +RETURNS void +LANGUAGE INTERNAL +CALLED ON NULL INPUT VOLATILE PARALLEL SAFE +AS 'pg_stat_reset_slru'; + -- -- The default permissions for functions mean that anyone can execute them. -- A number of functions shouldn't be executable by just anyone, but rather diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index ff1f3925578..f2af8eb0dc2 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -57,6 +57,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 202311121 +#define CATALOG_VERSION_NO 202311141 #endif diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat index bd0b8873d35..ee351bb7621 100644 --- a/src/include/catalog/pg_proc.dat +++ b/src/include/catalog/pg_proc.dat @@ -5897,7 +5897,8 @@ { oid => '2307', descr => 'statistics: reset collected statistics for a single SLRU', proname => 'pg_stat_reset_slru', proisstrict => 'f', provolatile => 'v', - prorettype => 'void', proargtypes => 'text', prosrc => 'pg_stat_reset_slru' }, + prorettype => 'void', proargtypes => 'text', proargnames => '{target}', + prosrc => 'pg_stat_reset_slru' }, { oid => '6170', descr => 'statistics: reset collected statistics for a single replication slot', proname => 'pg_stat_reset_replication_slot', proisstrict => 'f', diff --git a/src/test/regress/expected/stats.out b/src/test/regress/expected/stats.out index 0694de736a0..6ed3584a763 100644 --- a/src/test/regress/expected/stats.out +++ b/src/test/regress/expected/stats.out @@ -882,7 +882,7 @@ SELECT stats_reset > :'slru_commit_ts_reset_ts'::timestamptz FROM pg_stat_slru W SELECT stats_reset AS slru_commit_ts_reset_ts FROM pg_stat_slru WHERE name = 'CommitTs' \gset -- Test that multiple SLRUs are reset when no specific SLRU provided to reset function -SELECT pg_stat_reset_slru(NULL); +SELECT pg_stat_reset_slru(); pg_stat_reset_slru -------------------- diff --git a/src/test/regress/sql/stats.sql b/src/test/regress/sql/stats.sql index 13db45d4dc4..fd8afeeae51 100644 --- a/src/test/regress/sql/stats.sql +++ b/src/test/regress/sql/stats.sql @@ -454,7 +454,7 @@ SELECT stats_reset > :'slru_commit_ts_reset_ts'::timestamptz FROM pg_stat_slru W SELECT stats_reset AS slru_commit_ts_reset_ts FROM pg_stat_slru WHERE name = 'CommitTs' \gset -- Test that multiple SLRUs are reset when no specific SLRU provided to reset function -SELECT pg_stat_reset_slru(NULL); +SELECT pg_stat_reset_slru(); SELECT stats_reset > :'slru_commit_ts_reset_ts'::timestamptz FROM pg_stat_slru WHERE name = 'CommitTs'; SELECT stats_reset > :'slru_notify_reset_ts'::timestamptz FROM pg_stat_slru WHERE name = 'Notify'; |