Right now, pg_receivexlog sets: replymsg->write = InvalidXLogRecPtr; replymsg->flush = InvalidXLogRecPtr;
replymsg->apply = InvalidXLogRecPtr;
when it sends it's status updates.
I'm thinking it sohuld set replymsg->write = blockpos instad.
Why? That way you can see in pg_stat_replication what has actually
been received by pg_receivexlog - not just what we last sent. This can
be useful in combination with an archive_command that can block WAL
recycling until it has been saved to the standby. And it would be
useful as a general monitoring thing as well.
I think the original reason was that it shouldn't interefer with
synchronous replication - but it does take away a fairly useful
usecase...
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/