diff options
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/recovery/t/029_stats_restart.pl | 6 | ||||
-rw-r--r-- | src/test/regress/expected/rules.out | 13 | ||||
-rw-r--r-- | src/test/regress/expected/stats.out | 27 | ||||
-rw-r--r-- | src/test/regress/sql/stats.sql | 13 |
4 files changed, 44 insertions, 15 deletions
diff --git a/src/test/recovery/t/029_stats_restart.pl b/src/test/recovery/t/029_stats_restart.pl index 742bd57e289..f6368ab1d3c 100644 --- a/src/test/recovery/t/029_stats_restart.pl +++ b/src/test/recovery/t/029_stats_restart.pl @@ -173,7 +173,7 @@ is($wal_start->{reset}, $wal_restart->{reset}, ## Check that checkpoint stats are reset, WAL stats aren't affected -$node->safe_psql($connect_db, "SELECT pg_stat_reset_shared('bgwriter')"); +$node->safe_psql($connect_db, "SELECT pg_stat_reset_shared('checkpointer')"); $sect = "post ckpt reset"; my $ckpt_reset = checkpoint_stats(); @@ -323,9 +323,9 @@ sub checkpoint_stats my %results; $results{count} = $node->safe_psql($connect_db, - "SELECT checkpoints_timed + checkpoints_req FROM pg_stat_bgwriter"); + "SELECT num_timed + num_requested FROM pg_stat_checkpointer"); $results{reset} = $node->safe_psql($connect_db, - "SELECT stats_reset FROM pg_stat_bgwriter"); + "SELECT stats_reset FROM pg_stat_checkpointer"); return \%results; } diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out index 798d1610f25..1442c43d9c5 100644 --- a/src/test/regress/expected/rules.out +++ b/src/test/regress/expected/rules.out @@ -1816,15 +1816,16 @@ pg_stat_archiver| SELECT archived_count, last_failed_time, stats_reset FROM pg_stat_get_archiver() s(archived_count, last_archived_wal, last_archived_time, failed_count, last_failed_wal, last_failed_time, stats_reset); -pg_stat_bgwriter| SELECT pg_stat_get_bgwriter_timed_checkpoints() AS checkpoints_timed, - pg_stat_get_bgwriter_requested_checkpoints() AS checkpoints_req, - pg_stat_get_checkpoint_write_time() AS checkpoint_write_time, - pg_stat_get_checkpoint_sync_time() AS checkpoint_sync_time, - pg_stat_get_bgwriter_buf_written_checkpoints() AS buffers_checkpoint, - pg_stat_get_bgwriter_buf_written_clean() AS buffers_clean, +pg_stat_bgwriter| SELECT pg_stat_get_bgwriter_buf_written_clean() AS buffers_clean, pg_stat_get_bgwriter_maxwritten_clean() AS maxwritten_clean, pg_stat_get_buf_alloc() AS buffers_alloc, pg_stat_get_bgwriter_stat_reset_time() AS stats_reset; +pg_stat_checkpointer| SELECT pg_stat_get_checkpointer_num_timed() AS num_timed, + pg_stat_get_checkpointer_num_requested() AS num_requested, + pg_stat_get_checkpointer_write_time() AS write_time, + pg_stat_get_checkpointer_sync_time() AS sync_time, + pg_stat_get_checkpointer_buffers_written() AS buffers_written, + pg_stat_get_checkpointer_stat_reset_time() AS stats_reset; pg_stat_database| SELECT oid AS datid, datname, CASE diff --git a/src/test/regress/expected/stats.out b/src/test/regress/expected/stats.out index 94187e59cfb..32ad7f3dcc3 100644 --- a/src/test/regress/expected/stats.out +++ b/src/test/regress/expected/stats.out @@ -828,8 +828,8 @@ SELECT sessions > :db_stat_sessions FROM pg_stat_database WHERE datname = (SELEC t (1 row) --- Test pg_stat_bgwriter checkpointer-related stats, together with pg_stat_wal -SELECT checkpoints_req AS rqst_ckpts_before FROM pg_stat_bgwriter \gset +-- Test pg_stat_checkpointer checkpointer-related stats, together with pg_stat_wal +SELECT num_requested AS rqst_ckpts_before FROM pg_stat_checkpointer \gset -- Test pg_stat_wal (and make a temp table so our temp schema exists) SELECT wal_bytes AS wal_bytes_before FROM pg_stat_wal \gset CREATE TEMP TABLE test_stats_temp AS SELECT 17; @@ -839,7 +839,7 @@ DROP TABLE test_stats_temp; -- results of the first. CHECKPOINT; CHECKPOINT; -SELECT checkpoints_req > :rqst_ckpts_before FROM pg_stat_bgwriter; +SELECT num_requested > :rqst_ckpts_before FROM pg_stat_checkpointer; ?column? ---------- t @@ -930,6 +930,21 @@ SELECT stats_reset > :'bgwriter_reset_ts'::timestamptz FROM pg_stat_bgwriter; (1 row) SELECT stats_reset AS bgwriter_reset_ts FROM pg_stat_bgwriter \gset +-- Test that reset_shared with checkpointer specified as the stats type works +SELECT stats_reset AS checkpointer_reset_ts FROM pg_stat_checkpointer \gset +SELECT pg_stat_reset_shared('checkpointer'); + pg_stat_reset_shared +---------------------- + +(1 row) + +SELECT stats_reset > :'checkpointer_reset_ts'::timestamptz FROM pg_stat_checkpointer; + ?column? +---------- + t +(1 row) + +SELECT stats_reset AS checkpointer_reset_ts FROM pg_stat_checkpointer \gset -- Test that reset_shared with wal specified as the stats type works SELECT stats_reset AS wal_reset_ts FROM pg_stat_wal \gset SELECT pg_stat_reset_shared('wal'); @@ -964,6 +979,12 @@ SELECT stats_reset = :'bgwriter_reset_ts'::timestamptz FROM pg_stat_bgwriter; t (1 row) +SELECT stats_reset = :'checkpointer_reset_ts'::timestamptz FROM pg_stat_checkpointer; + ?column? +---------- + t +(1 row) + SELECT stats_reset = :'wal_reset_ts'::timestamptz FROM pg_stat_wal; ?column? ---------- diff --git a/src/test/regress/sql/stats.sql b/src/test/regress/sql/stats.sql index 1e21e55c6d9..8bfeed607fa 100644 --- a/src/test/regress/sql/stats.sql +++ b/src/test/regress/sql/stats.sql @@ -417,8 +417,8 @@ SELECT sessions AS db_stat_sessions FROM pg_stat_database WHERE datname = (SELEC SELECT pg_stat_force_next_flush(); SELECT sessions > :db_stat_sessions FROM pg_stat_database WHERE datname = (SELECT current_database()); --- Test pg_stat_bgwriter checkpointer-related stats, together with pg_stat_wal -SELECT checkpoints_req AS rqst_ckpts_before FROM pg_stat_bgwriter \gset +-- Test pg_stat_checkpointer checkpointer-related stats, together with pg_stat_wal +SELECT num_requested AS rqst_ckpts_before FROM pg_stat_checkpointer \gset -- Test pg_stat_wal (and make a temp table so our temp schema exists) SELECT wal_bytes AS wal_bytes_before FROM pg_stat_wal \gset @@ -432,7 +432,7 @@ DROP TABLE test_stats_temp; CHECKPOINT; CHECKPOINT; -SELECT checkpoints_req > :rqst_ckpts_before FROM pg_stat_bgwriter; +SELECT num_requested > :rqst_ckpts_before FROM pg_stat_checkpointer; SELECT wal_bytes > :wal_bytes_before FROM pg_stat_wal; -- Test pg_stat_get_backend_idset() and some allied functions. @@ -470,6 +470,12 @@ SELECT pg_stat_reset_shared('bgwriter'); SELECT stats_reset > :'bgwriter_reset_ts'::timestamptz FROM pg_stat_bgwriter; SELECT stats_reset AS bgwriter_reset_ts FROM pg_stat_bgwriter \gset +-- Test that reset_shared with checkpointer specified as the stats type works +SELECT stats_reset AS checkpointer_reset_ts FROM pg_stat_checkpointer \gset +SELECT pg_stat_reset_shared('checkpointer'); +SELECT stats_reset > :'checkpointer_reset_ts'::timestamptz FROM pg_stat_checkpointer; +SELECT stats_reset AS checkpointer_reset_ts FROM pg_stat_checkpointer \gset + -- Test that reset_shared with wal specified as the stats type works SELECT stats_reset AS wal_reset_ts FROM pg_stat_wal \gset SELECT pg_stat_reset_shared('wal'); @@ -480,6 +486,7 @@ SELECT stats_reset AS wal_reset_ts FROM pg_stat_wal \gset SELECT pg_stat_reset_shared(NULL); SELECT stats_reset = :'archiver_reset_ts'::timestamptz FROM pg_stat_archiver; SELECT stats_reset = :'bgwriter_reset_ts'::timestamptz FROM pg_stat_bgwriter; +SELECT stats_reset = :'checkpointer_reset_ts'::timestamptz FROM pg_stat_checkpointer; SELECT stats_reset = :'wal_reset_ts'::timestamptz FROM pg_stat_wal; -- Test that reset works for pg_stat_database |