mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-06 03:27:35 +08:00
Fix pg_stat_reset_single_table_counters() for shared relations
This commit fixes the function of $subject for shared relations. This feature has been added by e042678. Unfortunately, this new behavior got removed by 5891c7a when moving statistics to shared memory. Reported-by: Mitsuru Hinata Author: Masahiro Ikeda Reviewed-by: Kyotaro Horiguchi, Masahiko Sawada Discussion: https://postgr.es/m/7cc69f863d9b1bc677544e3accd0e4b4@oss.nttdata.com Backpatch-through: 15
This commit is contained in:
@ -376,6 +376,36 @@ COMMIT;
|
||||
SELECT seq_scan, :'test_last_seq' = last_seq_scan AS seq_ok, idx_scan, :'test_last_idx' < last_idx_scan AS idx_ok
|
||||
FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass;
|
||||
|
||||
-----
|
||||
-- Test reset of some stats for shared table
|
||||
-----
|
||||
|
||||
-- This updates the comment of the database currently in use in
|
||||
-- pg_shdescription with a fake value, then sets it back to its
|
||||
-- original value.
|
||||
SELECT shobj_description(d.oid, 'pg_database') as description_before
|
||||
FROM pg_database d WHERE datname = current_database() \gset
|
||||
|
||||
-- force some stats in pg_shdescription.
|
||||
BEGIN;
|
||||
SELECT current_database() as datname \gset
|
||||
COMMENT ON DATABASE :"datname" IS 'This is a test comment';
|
||||
SELECT pg_stat_force_next_flush();
|
||||
COMMIT;
|
||||
|
||||
-- check that the stats are reset.
|
||||
SELECT (n_tup_ins + n_tup_upd) > 0 AS has_data FROM pg_stat_all_tables
|
||||
WHERE relid = 'pg_shdescription'::regclass;
|
||||
SELECT pg_stat_reset_single_table_counters('pg_shdescription'::regclass);
|
||||
SELECT (n_tup_ins + n_tup_upd) > 0 AS has_data FROM pg_stat_all_tables
|
||||
WHERE relid = 'pg_shdescription'::regclass;
|
||||
|
||||
-- set back comment
|
||||
\if :{?description_before}
|
||||
COMMENT ON DATABASE :"datname" IS :'description_before';
|
||||
\else
|
||||
COMMENT ON DATABASE :"datname" IS NULL;
|
||||
\endif
|
||||
|
||||
-----
|
||||
-- Test that various stats views are being properly populated
|
||||
|
||||
Reference in New Issue
Block a user