Behaviour of failed Primary

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Behaviour of failed Primary

Santhosh Kumar-2
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


Reply | Threaded
Open this post in threaded view
|

Re: Behaviour of failed Primary

akapila
On Thu, May 21, 2020 at 5:38 PM Santhosh Kumar <[hidden email]> 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].


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

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