how to know current xlog location on standby after primary is down
Hello,
I'm working on a high availability project for PG(v9.6).
Suppose I have a priamry-standby setup, I need to do promote once
primary is down, but only when standby is as new as primary (before it
is down). Therefore, I need a way to know the wal replay location on
standby.
I tried to set a hot standby, but it failed to run
`pg_current_xlog_location()` on it; I also tried `pg_xlogdump` on
standby, but it has following cavets:
- hard to identify latest used wal segment, since there are some
renamed reservations
- sometimes `pg_xlogdump` will raise errors like: "pg_xlogdump:
FATAL: error in WAL record at 0/9F88F0F8: record with incorrect prev-
link 2020/20202020 at 0/9F88F130"
So I want to know what is the correct way to do it. Thank you in
advance!
On Sun, Sep 09, 2018 at 10:29:08PM +0800, magodo wrote:
So I want to know what is the correct way to do it. Thank you in
advance!
There are pg_last_wal_receive_lsn() and pg_last_wal_replay_lsn() which
allow you to know what is the last LSN received and replayed on a
standby. Those can be used when an instance is in recovery.
--
Michael