Search Postgresql Archives

Re: Real application clustering in postgres.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Failover is easy but failback is little bit tricky.
I have implemented failback by doing following steps:

1. Start original primary which will be doing crash recovery. It should be designed in such a way that once it is up application should not start connecting to it otherwise there will be split brain and data-mistach between two instances. I implemented it by using a virtual IP mounting on server which is actual primary using keepalived.
2. Shutdown original primary and do a pg_rewind to make that as slave for new primary.
3. Once slave (original primary) is caught up with primary do failback
4. Repeat steps #1-#3 to make failed over instance slave again.

Regards,
Virendra


On Thursday, March 5, 2020, 8:48:54 AM PST, Daulat Ram <daulat.ram@xxxxxxxxxxxxxxx> wrote:


Thanks for your inputs Laurenz Albe.

Would you please explain single-master failover solution.

Suppose we have promoted  standby (replica) as master after the h/w issue at Master.
If after few hours we recovered  the h/w then how we can switchback on the old primary. .

As in Oracle we have switchover method for Dataguard. How we can do in Postgres.

Thanks,

-----Original Message-----
From: Laurenz Albe <laurenz.albe@xxxxxxxxxxx>
Sent: Thursday, March 5, 2020 5:37 PM
To: Daulat Ram <Daulat.Ram@xxxxxxxxxxxxxxx>; pgsql-general@xxxxxxxxxxxxxxxxxxxx
Subject: Re: Real application clustering in postgres.

On Thu, 2020-03-05 at 07:45 +0000, Daulat Ram wrote:
> Is there any possibility/options to setup a real application clustering in Postgres as in Oracle we have a  RAC feature.

No, and as far as I know nobody feels interested in providing it.

RAC is a complicated architecture that doesn't do much good, so most people feel that it would be a waste of time and effort.

RAC ist not really a scaling solution: because of the shared storage, you can only scale for more CPUs; I/O remains the bottleneck.

RAC is not really a high availability solution: because of the shared storage, it has a sibgle point of failure.

Today, people use shared-nothing architectures for high avaliability, like Patroni.

> What about multi-master replication in Postgres. would you please suggest how it is useful and how can setup it.

There is no support for that in core PostgreSQL.

There is a closed-source implementation that you can buy:
https://www.2ndquadrant.com/en/resources/postgres-bdr-2ndquadrant/

But multi-master replication is complicated to get right, and an applicatoin that uses it has to be specifically designed for that.
Very often a single-master failover solution is a better solution.

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux