Add support for pg_stat_reset_slru without argument
pg_stat_reset_slru currently requires an input argument, either: - NULL to reset the SLRU counters of everything. - A specific value to reset a single SLRU cache. This commit adds support for a new pattern: pg_stat_reset_slru without any argument works the same way as pg_stat_reset_slru(NULL), relying on a DEFAULT in the function definition to handle this case. This makes the function more consistent with 23c8c0c8f472. Bump catalog version. Author: Bharath Rupireddy Reviewed-by: Atsushi Torikoshi Discussion: https://postgr.es/m/CALj2ACW1VizYg01EeH_cA-7qA+4NzWVAoZ5Lw9_XYO1RRHAZbA@mail.gmail.com
This commit is contained in:
parent
a70f2a57f2
commit
e5cca6288a
@ -4781,14 +4781,15 @@ description | Waiting for a newly initialized WAL file to reach durable storage
|
|||||||
<indexterm>
|
<indexterm>
|
||||||
<primary>pg_stat_reset_slru</primary>
|
<primary>pg_stat_reset_slru</primary>
|
||||||
</indexterm>
|
</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>
|
<returnvalue>void</returnvalue>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Resets statistics to zero for a single SLRU cache, or for all SLRUs in
|
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
|
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>CommitTs</literal>,
|
||||||
<literal>MultiXactMember</literal>,
|
<literal>MultiXactMember</literal>,
|
||||||
<literal>MultiXactOffset</literal>,
|
<literal>MultiXactOffset</literal>,
|
||||||
|
@ -628,6 +628,13 @@ LANGUAGE INTERNAL
|
|||||||
CALLED ON NULL INPUT VOLATILE PARALLEL SAFE
|
CALLED ON NULL INPUT VOLATILE PARALLEL SAFE
|
||||||
AS 'pg_stat_reset_shared';
|
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.
|
-- The default permissions for functions mean that anyone can execute them.
|
||||||
-- A number of functions shouldn't be executable by just anyone, but rather
|
-- A number of functions shouldn't be executable by just anyone, but rather
|
||||||
|
@ -57,6 +57,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* yyyymmddN */
|
/* yyyymmddN */
|
||||||
#define CATALOG_VERSION_NO 202311121
|
#define CATALOG_VERSION_NO 202311141
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -5897,7 +5897,8 @@
|
|||||||
{ oid => '2307',
|
{ oid => '2307',
|
||||||
descr => 'statistics: reset collected statistics for a single SLRU',
|
descr => 'statistics: reset collected statistics for a single SLRU',
|
||||||
proname => 'pg_stat_reset_slru', proisstrict => 'f', provolatile => 'v',
|
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',
|
{ oid => '6170',
|
||||||
descr => 'statistics: reset collected statistics for a single replication slot',
|
descr => 'statistics: reset collected statistics for a single replication slot',
|
||||||
proname => 'pg_stat_reset_replication_slot', proisstrict => 'f',
|
proname => 'pg_stat_reset_replication_slot', proisstrict => 'f',
|
||||||
|
@ -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
|
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
|
-- 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
|
pg_stat_reset_slru
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
@ -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
|
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
|
-- 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_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';
|
SELECT stats_reset > :'slru_notify_reset_ts'::timestamptz FROM pg_stat_slru WHERE name = 'Notify';
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user