aboutsummaryrefslogtreecommitdiff
path: root/src/backend/replication/walsender.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/replication/walsender.c')
-rw-r--r--src/backend/replication/walsender.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c
index 06b22e2abac..048367af299 100644
--- a/src/backend/replication/walsender.c
+++ b/src/backend/replication/walsender.c
@@ -67,6 +67,7 @@
#include "utils/builtins.h"
#include "utils/guc.h"
#include "utils/memutils.h"
+#include "utils/pg_lsn.h"
#include "utils/ps_status.h"
#include "utils/resowner.h"
#include "utils/timeout.h"
@@ -2137,7 +2138,6 @@ pg_stat_get_wal_senders(PG_FUNCTION_ARGS)
{
/* use volatile pointer to prevent code rearrangement */
volatile WalSnd *walsnd = &WalSndCtl->walsnds[i];
- char location[MAXFNAMELEN];
XLogRecPtr sentPtr;
XLogRecPtr write;
XLogRecPtr flush;
@@ -2171,28 +2171,19 @@ pg_stat_get_wal_senders(PG_FUNCTION_ARGS)
else
{
values[1] = CStringGetTextDatum(WalSndGetStateString(state));
-
- snprintf(location, sizeof(location), "%X/%X",
- (uint32) (sentPtr >> 32), (uint32) sentPtr);
- values[2] = CStringGetTextDatum(location);
+ values[2] = LSNGetDatum(sentPtr);
if (write == 0)
nulls[3] = true;
- snprintf(location, sizeof(location), "%X/%X",
- (uint32) (write >> 32), (uint32) write);
- values[3] = CStringGetTextDatum(location);
+ values[3] = LSNGetDatum(write);
if (flush == 0)
nulls[4] = true;
- snprintf(location, sizeof(location), "%X/%X",
- (uint32) (flush >> 32), (uint32) flush);
- values[4] = CStringGetTextDatum(location);
+ values[4] = LSNGetDatum(flush);
if (apply == 0)
nulls[5] = true;
- snprintf(location, sizeof(location), "%X/%X",
- (uint32) (apply >> 32), (uint32) apply);
- values[5] = CStringGetTextDatum(location);
+ values[5] = LSNGetDatum(apply);
values[6] = Int32GetDatum(sync_priority[i]);