Re: Patch: Implement failover on libpq connect level.
Tsunakawa, Takayuki <tsunakawa.takay@jp.fujitsu.com>
From: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>
To: 'Robert Haas' <robertmhaas@gmail.com>, Craig Ringer <craig@2ndquadrant.com>
Cc: Mithun Cy <mithun.cy@enterprisedb.com>, Peter van Hardenberg <pvh@pvh.ca>, Peter Eisentraut <peter_e@gmx.net>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2016-11-21T01:48:19Z
Lists: pgsql-hackers
From: pgsql-hackers-owner@postgresql.org > [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Robert Haas > On Thu, Nov 17, 2016 at 10:08 PM, Craig Ringer <craig@2ndquadrant.com> > wrote: > > We can and probably should have both. > > > > If the server tells us on connect whether it's a standby or not, use that. > > > > Otherwise, ask it. > > > > That way we don't pay the round-trip cost and get the log spam when > > talking to newer servers that send us something useful in the startup > > packet, but we can still query it on older servers. Graceful fallback. > > > > Every round trip is potentially very expensive. Having libpq do them > > unnecessarily is bad. > > True, but raising the bar for this feature so that it doesn't get done is > also bad. It can be improved in a later patch. I thought you are very strict about performance, so I hesitate to believe you forgive the additional round trip. libpq failover is a new feature in v10, so I think it should provide the best user experience for v10 client+server users from the start. If the concern is the time for development, then support for older releases can be added in a later patch. There are still several months left for v10. Why don't we try the best? Could you share the difficulty? Regards Takayuki Tsunakawa
Commits
-
libpq: Add target_session_attrs parameter.
- 721f7bd3cbcc 10.0 landed
-
Remove superuser checks in pgstattuple
- fd321a1dfd64 10.0 cited
-
Fix unwanted flushing of libpq's input buffer when socket EOF is seen.
- c405918858c0 9.6.0 cited