Behaviour of failed Primary

Started by Santhosh Kumarover 5 years ago2 messages
#1Santhosh Kumar
krssanthosh@gmail.com

Hi Forum,
If I have a cluster with Synchronous replication enabled with three nodes,
for eg:

[primary] [hot stand by 1] [host stand by 2]

And for some unforeseen reasons, if primary fails, the failover will kick
in and hot stand by 1 will become new primary and cluster setup will look
like this

[new primary (hot stand by1)] [host stand by 2]

My question here is, what will happen if the original primary which has
failed comes back. Will it become part of this high available replica
cluster automatically or it will be stale and disconnected from the
cluster?

How can we automatically make the failed primary to be part of the
cluster with hot standby role? It would be of great help, if you can direct
me to any references details. Thank you, upfront.

Regards,
Santhosh

#2Amit Kapila
amit.kapila16@gmail.com
In reply to: Santhosh Kumar (#1)
Re: Behaviour of failed Primary

On Thu, May 21, 2020 at 5:38 PM Santhosh Kumar <krssanthosh@gmail.com> wrote:

Hi Forum,
If I have a cluster with Synchronous replication enabled with three nodes, for eg:

[primary] [hot stand by 1] [host stand by 2]

And for some unforeseen reasons, if primary fails, the failover will kick in and hot stand by 1 will become new primary and cluster setup will look like this

[new primary (hot stand by1)] [host stand by 2]

My question here is, what will happen if the original primary which has failed comes back. Will it become part of this high available replica cluster automatically or it will be stale and disconnected from the cluster?

It won't become standby automatically as it would have diverged from
the new master.

How can we automatically make the failed primary to be part of the cluster with hot standby role? It would be of great help, if you can direct me to any references details. Thank you, upfront.

I think pg_rewind can help in such situations. See the docs of pg_rewind [1]https://www.postgresql.org/docs/devel/app-pgrewind.html.

[1]: https://www.postgresql.org/docs/devel/app-pgrewind.html

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com