Re: [GENERAL] clarification about standby promotion - Mailing list pgsql-general

From Venkata B Nagothi
Subject Re: [GENERAL] clarification about standby promotion
Date
Msg-id CAEyp7J9XYYwoBPA07CG7EiuAS2R7Z3_fhWJijGUQmsc8DkE1FQ@mail.gmail.com
Whole thread Raw
In response to [GENERAL] clarification about standby promotion  (Benoit Lobréau <benoit.lobreau@gmail.com>)
Responses Re: [GENERAL] clarification about standby promotion  (Benoit Lobréau <benoit.lobreau@gmail.com>)
Re: [GENERAL] clarification about standby promotion  (Jehan-Guillaume de Rorthais <ioguix@free.fr>)
List pgsql-general

On Thu, Feb 9, 2017 at 4:53 AM, Benoit Lobréau <benoit.lobreau@gmail.com> wrote:

Hi, 


I would like to clarify something about standby promotion. From the sentence below. I understand that, during the promotion process, postgres will replay all the available wals (from the archive or pg_xlog).


Yes, that is correct.
 

https://www.postgresql.org/docs/9.5/static/warm-standby.html#STREAMING-REPLICATION


25.2.2. Standby Server Operation
...
Standby mode is exited and the server switches to normal operation when pg_ctl promote is run or a trigger file is found (trigger_file). Before failover, any WAL immediately available in the archive or in pg_xlog will be restored, but no attempt is made to connect to the master.

I have seen several articles like this one (https://www.enterprisedb.com/switchoverswitchback-postgresql-93) where they say that pg_last_xlog_receive_location() and pg_last_xlog_replay_location() should be checked before promotion. I don't understand why since they will be replayed anyway. Did something changed since 9.3 about this ?

The above link is about improvements related to switch-over/switch-back process from the version 9.3. What you are asking is about standby promotion process. When the standby is promoted, as mentioned in the docs, the standby server attempts to apply the available WAL during the promotion process and will not attempt to connect to master. Which means, you would not know if there are any pending WALs yet to be streamed from master or in other words, standby may not know if the master is a-head. It is important that you know the standby current position by executing the above mentioned *xlog* functions. Hope i answered your question.

Regards,

Venkata B N
Database Consultant

pgsql-general by date:

Previous
From: PAWAN SHARMA
Date:
Subject: [GENERAL] LDAP configuration
Next
From: Thomas Güttler
Date:
Subject: Re: [GENERAL] PostgreSQL on eMMC - Corrupt file system