From 03d51b776d88badbeb4452c1ab452feb78dce36a Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Tue, 20 Oct 2020 10:24:36 +0530 Subject: [PATCH] Change the attribute name in pg_stat_replication_slots view. Change the attribute 'name' to 'slot_name' in pg_stat_replication_slots view to make it clear and that way we will be consistent with the other places like pg_stat_wal_receiver view where we display the same attribute. In the passing, fix the typo in one of the macros in the related code. Bump the catversion as we have modified the name in the catalog as well. Reported-by: Noriyoshi Shinoda Author: Noriyoshi Shinoda Reviewed-by: Sawada Masahiko and Amit Kapila Discussion: https://postgr.es/m/CA+fd4k5_pPAYRTDrO2PbtTOe0eHQpBvuqmCr8ic39uTNmR49Eg@mail.gmail.com --- contrib/test_decoding/expected/stats.out | 14 +++++++------- contrib/test_decoding/sql/stats.sql | 8 ++++---- doc/src/sgml/monitoring.sgml | 2 +- src/backend/catalog/system_views.sql | 2 +- src/backend/utils/adt/pgstatfuncs.c | 6 +++--- src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_proc.dat | 2 +- src/test/regress/expected/rules.out | 4 ++-- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/contrib/test_decoding/expected/stats.out b/contrib/test_decoding/expected/stats.out index bfffd1ac21..dafca96520 100644 --- a/contrib/test_decoding/expected/stats.out +++ b/contrib/test_decoding/expected/stats.out @@ -21,7 +21,7 @@ BEGIN ELSE (spill_txns > 0) END INTO updated - FROM pg_stat_replication_slots WHERE name='regression_slot'; + FROM pg_stat_replication_slots WHERE slot_name='regression_slot'; exit WHEN updated; @@ -57,8 +57,8 @@ SELECT wait_for_decode_stats(false); (1 row) -SELECT name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots; - name | spill_txns | spill_count +SELECT slot_name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots; + slot_name | spill_txns | spill_count -----------------+------------+------------- regression_slot | t | t (1 row) @@ -76,8 +76,8 @@ SELECT wait_for_decode_stats(true); (1 row) -SELECT name, spill_txns, spill_count FROM pg_stat_replication_slots; - name | spill_txns | spill_count +SELECT slot_name, spill_txns, spill_count FROM pg_stat_replication_slots; + slot_name | spill_txns | spill_count -----------------+------------+------------- regression_slot | 0 | 0 (1 row) @@ -95,8 +95,8 @@ SELECT wait_for_decode_stats(false); (1 row) -SELECT name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots; - name | spill_txns | spill_count +SELECT slot_name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots; + slot_name | spill_txns | spill_count -----------------+------------+------------- regression_slot | t | t (1 row) diff --git a/contrib/test_decoding/sql/stats.sql b/contrib/test_decoding/sql/stats.sql index b95adb16fa..182df84030 100644 --- a/contrib/test_decoding/sql/stats.sql +++ b/contrib/test_decoding/sql/stats.sql @@ -19,7 +19,7 @@ BEGIN ELSE (spill_txns > 0) END INTO updated - FROM pg_stat_replication_slots WHERE name='regression_slot'; + FROM pg_stat_replication_slots WHERE slot_name='regression_slot'; exit WHEN updated; @@ -47,17 +47,17 @@ SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, -- exact stats count as that can vary if any background transaction (say by -- autovacuum) happens in parallel to the main transaction. SELECT wait_for_decode_stats(false); -SELECT name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots; +SELECT slot_name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots; -- reset the slot stats, and wait for stats collector to reset SELECT pg_stat_reset_replication_slot('regression_slot'); SELECT wait_for_decode_stats(true); -SELECT name, spill_txns, spill_count FROM pg_stat_replication_slots; +SELECT slot_name, spill_txns, spill_count FROM pg_stat_replication_slots; -- decode and check stats again. SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'skip-empty-xacts', '1'); SELECT wait_for_decode_stats(false); -SELECT name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots; +SELECT slot_name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots; DROP FUNCTION wait_for_decode_stats(bool); DROP TABLE stats_test; diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 66566765f0..f5cf163c8c 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -2590,7 +2590,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i - name text + slot_name text A unique, cluster-wide identifier for the replication slot diff --git a/src/backend/catalog/system_views.sql b/src/backend/catalog/system_views.sql index c29390760f..85cd147e21 100644 --- a/src/backend/catalog/system_views.sql +++ b/src/backend/catalog/system_views.sql @@ -798,7 +798,7 @@ CREATE VIEW pg_stat_replication AS CREATE VIEW pg_stat_replication_slots AS SELECT - s.name, + s.slot_name, s.spill_txns, s.spill_count, s.spill_bytes, diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 0d0d2e6d2b..472fa596e1 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -2153,7 +2153,7 @@ pg_stat_get_archiver(PG_FUNCTION_ARGS) Datum pg_stat_get_replication_slots(PG_FUNCTION_ARGS) { -#define PG_STAT_GET_REPLICATION_SLOT_CLOS 5 +#define PG_STAT_GET_REPLICATION_SLOT_COLS 5 ReturnSetInfo *rsinfo = (ReturnSetInfo *) fcinfo->resultinfo; TupleDesc tupdesc; Tuplestorestate *tupstore; @@ -2190,8 +2190,8 @@ pg_stat_get_replication_slots(PG_FUNCTION_ARGS) slotstats = pgstat_fetch_replslot(&nstats); for (i = 0; i < nstats; i++) { - Datum values[PG_STAT_GET_REPLICATION_SLOT_CLOS]; - bool nulls[PG_STAT_GET_REPLICATION_SLOT_CLOS]; + Datum values[PG_STAT_GET_REPLICATION_SLOT_COLS]; + bool nulls[PG_STAT_GET_REPLICATION_SLOT_COLS]; PgStat_ReplSlotStats *s = &(slotstats[i]); MemSet(values, 0, sizeof(values)); diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index 584c617284..f44a09b0c2 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 202010081 +#define CATALOG_VERSION_NO 202010201 #endif diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat index 22340baf1c..bbcac69d48 100644 --- a/src/include/catalog/pg_proc.dat +++ b/src/include/catalog/pg_proc.dat @@ -5263,7 +5263,7 @@ prorettype => 'record', proargtypes => '', proallargtypes => '{text,int8,int8,int8,timestamptz}', proargmodes => '{o,o,o,o,o}', - proargnames => '{name,spill_txns,spill_count,spill_bytes,stats_reset}', + proargnames => '{slot_name,spill_txns,spill_count,spill_bytes,stats_reset}', prosrc => 'pg_stat_get_replication_slots' }, { oid => '6118', descr => 'statistics: information about subscription', proname => 'pg_stat_get_subscription', proisstrict => 'f', provolatile => 's', diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out index cf2a9b4408..492cdcf74c 100644 --- a/src/test/regress/expected/rules.out +++ b/src/test/regress/expected/rules.out @@ -2018,12 +2018,12 @@ pg_stat_replication| SELECT s.pid, FROM ((pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid, application_name, state, query, wait_event_type, wait_event, xact_start, query_start, backend_start, state_change, client_addr, client_hostname, client_port, backend_xid, backend_xmin, backend_type, ssl, sslversion, sslcipher, sslbits, sslcompression, ssl_client_dn, ssl_client_serial, ssl_issuer_dn, gss_auth, gss_princ, gss_enc, leader_pid) JOIN pg_stat_get_wal_senders() w(pid, state, sent_lsn, write_lsn, flush_lsn, replay_lsn, write_lag, flush_lag, replay_lag, sync_priority, sync_state, reply_time) ON ((s.pid = w.pid))) LEFT JOIN pg_authid u ON ((s.usesysid = u.oid))); -pg_stat_replication_slots| SELECT s.name, +pg_stat_replication_slots| SELECT s.slot_name, s.spill_txns, s.spill_count, s.spill_bytes, s.stats_reset - FROM pg_stat_get_replication_slots() s(name, spill_txns, spill_count, spill_bytes, stats_reset); + FROM pg_stat_get_replication_slots() s(slot_name, spill_txns, spill_count, spill_bytes, stats_reset); pg_stat_slru| SELECT s.name, s.blks_zeroed, s.blks_hit,