Re: Proposal: Implement failover on libpq connect level.

From: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "'Victor Wagner *EXTERN*'" <vitus(at)wagner(dot)pp(dot)ru>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Proposal: Implement failover on libpq connect level.
Date: 2015-08-18 08:32:28
Message-ID: A737B7A37273E048B164557ADEF4A58B50F92F7C@ntex2010i.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-jdbc

Victor Wagner wrote:
> Rationale
> =========
>
> Since introduction of the WAL-based replication into the PostgreSQL, it is
> possible to create high-availability and load-balancing clusters.
>
> However, there is no support for failover in the client libraries. So, only
> way to provide transparent for client application failover is IP address
> migration. This approach has some limitation, i.e. it requires that
> master and backup servers reside in the same subnet or may not be
> feasible for other reasons.
>
> Commercial RDBMS, such as Oracle, employ more flexible approach. They
> allow to specify multiple servers in the connect string, so if primary
> server is not available, client library tries to connect to other ones.
>
> This approach allows to use geographically distributed failover clusters
> and also is a cheap way to implement load-balancing (which is not
> possible with IP address migration).

I wonder how useful this is at the present time.

If the primary goes down and the client gets connected to the standby,
it would have read-only access there. Most applications wouldn't cope
well with that.

Once we have multi-master replication that can be used for fail-over,
the picture will change. Then a feature like that would be very useful indeed.

> "host=main-server host=standby1 host=standby2 port=5432 dbname=database"

It seems a bit arbitrary to require that all servers use the same port.

Maybe parameters like host2, port2, host3, port3 etc. might be better.

Yours,
Laurenz Albe

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message PostgreSQL - Hans-Jürgen Schönig 2015-08-18 08:49:50 Re: Proposal: Implement failover on libpq connect level.
Previous Message Victor Wagner 2015-08-18 04:18:50 Proposal: Implement failover on libpq connect level.

Browse pgsql-hackers by date

  From Date Subject
Next Message Kouhei Kaigai 2015-08-18 08:47:09 Re: [Proposal] Table partition + join pushdown
Previous Message Oleg Bartunov 2015-08-18 08:20:03 Re: jsonb array-style subscripting