Re: Proposal: Implement failover on libpq connect level.

Hans-Jürgen Schönig <postgres@cybertec.at>

From: PostgreSQL - Hans-Jürgen Schönig <postgres@cybertec.at>
To: Albe Laurenz <laurenz.albe@wien.gv.at>
Cc: Victor Wagner *EXTERN* <vitus@wagner.pp.ru>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2015-08-18T10:07:10Z
Lists: pgsql-hackers
> On 18 Aug 2015, at 11:19, Albe Laurenz <laurenz.albe@wien.gv.at> wrote:
> 
> Hans-Jürgen Schönig wrote:
>> in addition to that you have the “problem” of transactions. if you failover in the middle
>> of a transaction, strange things might happen from the application point of view.
>> 
>> the good thing, however, is that stupid middleware is sometimes not able to handle
>> failed connections. however, overall i think it is more of a danger than a benefit.
> 
> Maybe I misunderstood the original proposal, but my impression was that the alternative
> servers would be tried only at the time the connection is established, and there would be no
> such problems as you describe.



it would still leave the problem of having a read only on the other side unless you are using BDR or so.

	regards,

		hans




Commits

  1. libpq: Add target_session_attrs parameter.

  2. Remove superuser checks in pgstattuple

  3. Fix unwanted flushing of libpq's input buffer when socket EOF is seen.