Re: pg_stat_wal_receiver and flushedUpto/writtenUpto

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>, Thomas Munro <thomas.munro@gmail.com>
Date: 2020-05-15T23:34:46Z
Lists: pgsql-hackers
On 2020-May-16, Michael Paquier wrote:

> On Fri, May 15, 2020 at 01:43:11PM -0400, Alvaro Herrera wrote:
> > Why do you put the column at the end?  I would put written_lsn before
> > flushed_lsn.
> 
> Fine by me.  I was thinking yesterday about putting the written
> position after the flushed one, and finished with something that maps
> with the structure.

IIRC the only reason to put the written LSN where it is is so that it's
below the mutex, to indicate it's not protected by it.  Conceptually,
the written LSN is "before" the flushed LSN, which is why I propose to
put it ahead of it.

> > Since this requires a catversion bump, I think it'd be best to do it
> > before beta1 next week.
> 
> Yes.  What do you think of the attached?

Yeah, that seems good (I didn't verify the boilerplate in
pg_stat_get_wal_receiver or pg_proc.dat).  I propose

+       Last write-ahead log location already received and written to
+       disk, but not flushed.  This should not be used for data
+       integrity checks.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Doc: Replace reference to pg_stat_wal_receiver.received_lsn by flushed_lsn

  2. Make pg_stat_wal_receiver consistent with the WAL receiver's shmem info