Commit 03d51b77 authored by Amit Kapila's avatar Amit Kapila

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
parent 8e5793ab
...@@ -21,7 +21,7 @@ BEGIN ...@@ -21,7 +21,7 @@ BEGIN
ELSE (spill_txns > 0) ELSE (spill_txns > 0)
END END
INTO updated INTO updated
FROM pg_stat_replication_slots WHERE name='regression_slot'; FROM pg_stat_replication_slots WHERE slot_name='regression_slot';
exit WHEN updated; exit WHEN updated;
...@@ -57,8 +57,8 @@ SELECT wait_for_decode_stats(false); ...@@ -57,8 +57,8 @@ SELECT wait_for_decode_stats(false);
(1 row) (1 row)
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;
name | spill_txns | spill_count slot_name | spill_txns | spill_count
-----------------+------------+------------- -----------------+------------+-------------
regression_slot | t | t regression_slot | t | t
(1 row) (1 row)
...@@ -76,8 +76,8 @@ SELECT wait_for_decode_stats(true); ...@@ -76,8 +76,8 @@ SELECT wait_for_decode_stats(true);
(1 row) (1 row)
SELECT name, spill_txns, spill_count FROM pg_stat_replication_slots; SELECT slot_name, spill_txns, spill_count FROM pg_stat_replication_slots;
name | spill_txns | spill_count slot_name | spill_txns | spill_count
-----------------+------------+------------- -----------------+------------+-------------
regression_slot | 0 | 0 regression_slot | 0 | 0
(1 row) (1 row)
...@@ -95,8 +95,8 @@ SELECT wait_for_decode_stats(false); ...@@ -95,8 +95,8 @@ SELECT wait_for_decode_stats(false);
(1 row) (1 row)
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;
name | spill_txns | spill_count slot_name | spill_txns | spill_count
-----------------+------------+------------- -----------------+------------+-------------
regression_slot | t | t regression_slot | t | t
(1 row) (1 row)
......
...@@ -19,7 +19,7 @@ BEGIN ...@@ -19,7 +19,7 @@ BEGIN
ELSE (spill_txns > 0) ELSE (spill_txns > 0)
END END
INTO updated INTO updated
FROM pg_stat_replication_slots WHERE name='regression_slot'; FROM pg_stat_replication_slots WHERE slot_name='regression_slot';
exit WHEN updated; exit WHEN updated;
...@@ -47,17 +47,17 @@ SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, ...@@ -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 -- exact stats count as that can vary if any background transaction (say by
-- autovacuum) happens in parallel to the main transaction. -- autovacuum) happens in parallel to the main transaction.
SELECT wait_for_decode_stats(false); 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 -- reset the slot stats, and wait for stats collector to reset
SELECT pg_stat_reset_replication_slot('regression_slot'); SELECT pg_stat_reset_replication_slot('regression_slot');
SELECT wait_for_decode_stats(true); 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. -- decode and check stats again.
SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'skip-empty-xacts', '1'); SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'skip-empty-xacts', '1');
SELECT wait_for_decode_stats(false); 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 FUNCTION wait_for_decode_stats(bool);
DROP TABLE stats_test; DROP TABLE stats_test;
......
...@@ -2590,7 +2590,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -2590,7 +2590,7 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
<tbody> <tbody>
<row> <row>
<entry role="catalog_table_entry"><para role="column_definition"> <entry role="catalog_table_entry"><para role="column_definition">
<structfield>name</structfield> <type>text</type> <structfield>slot_name</structfield> <type>text</type>
</para> </para>
<para> <para>
A unique, cluster-wide identifier for the replication slot A unique, cluster-wide identifier for the replication slot
......
...@@ -798,7 +798,7 @@ CREATE VIEW pg_stat_replication AS ...@@ -798,7 +798,7 @@ CREATE VIEW pg_stat_replication AS
CREATE VIEW pg_stat_replication_slots AS CREATE VIEW pg_stat_replication_slots AS
SELECT SELECT
s.name, s.slot_name,
s.spill_txns, s.spill_txns,
s.spill_count, s.spill_count,
s.spill_bytes, s.spill_bytes,
......
...@@ -2153,7 +2153,7 @@ pg_stat_get_archiver(PG_FUNCTION_ARGS) ...@@ -2153,7 +2153,7 @@ pg_stat_get_archiver(PG_FUNCTION_ARGS)
Datum Datum
pg_stat_get_replication_slots(PG_FUNCTION_ARGS) 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; ReturnSetInfo *rsinfo = (ReturnSetInfo *) fcinfo->resultinfo;
TupleDesc tupdesc; TupleDesc tupdesc;
Tuplestorestate *tupstore; Tuplestorestate *tupstore;
...@@ -2190,8 +2190,8 @@ pg_stat_get_replication_slots(PG_FUNCTION_ARGS) ...@@ -2190,8 +2190,8 @@ pg_stat_get_replication_slots(PG_FUNCTION_ARGS)
slotstats = pgstat_fetch_replslot(&nstats); slotstats = pgstat_fetch_replslot(&nstats);
for (i = 0; i < nstats; i++) for (i = 0; i < nstats; i++)
{ {
Datum values[PG_STAT_GET_REPLICATION_SLOT_CLOS]; Datum values[PG_STAT_GET_REPLICATION_SLOT_COLS];
bool nulls[PG_STAT_GET_REPLICATION_SLOT_CLOS]; bool nulls[PG_STAT_GET_REPLICATION_SLOT_COLS];
PgStat_ReplSlotStats *s = &(slotstats[i]); PgStat_ReplSlotStats *s = &(slotstats[i]);
MemSet(values, 0, sizeof(values)); MemSet(values, 0, sizeof(values));
......
...@@ -53,6 +53,6 @@ ...@@ -53,6 +53,6 @@
*/ */
/* yyyymmddN */ /* yyyymmddN */
#define CATALOG_VERSION_NO 202010081 #define CATALOG_VERSION_NO 202010201
#endif #endif
...@@ -5263,7 +5263,7 @@ ...@@ -5263,7 +5263,7 @@
prorettype => 'record', proargtypes => '', prorettype => 'record', proargtypes => '',
proallargtypes => '{text,int8,int8,int8,timestamptz}', proallargtypes => '{text,int8,int8,int8,timestamptz}',
proargmodes => '{o,o,o,o,o}', 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' }, prosrc => 'pg_stat_get_replication_slots' },
{ oid => '6118', descr => 'statistics: information about subscription', { oid => '6118', descr => 'statistics: information about subscription',
proname => 'pg_stat_get_subscription', proisstrict => 'f', provolatile => 's', proname => 'pg_stat_get_subscription', proisstrict => 'f', provolatile => 's',
......
...@@ -2018,12 +2018,12 @@ pg_stat_replication| SELECT s.pid, ...@@ -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) 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))) 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))); 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_txns,
s.spill_count, s.spill_count,
s.spill_bytes, s.spill_bytes,
s.stats_reset 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, pg_stat_slru| SELECT s.name,
s.blks_zeroed, s.blks_zeroed,
s.blks_hit, s.blks_hit,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment