Re: Libpq support to connect to standby server as priority
Haribabu Kommi <kommi.haribabu@gmail.com>
From: Haribabu Kommi <kommi.haribabu@gmail.com>
To: laurenz.albe@cybertec.at
Cc: Jing Wang <jingwangian@gmail.com>,
Pg Hackers <pgsql-hackers@postgresql.org>, "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>
Date: 2018-07-16T08:14:57Z
Lists: pgsql-hackers
On Wed, Jul 11, 2018 at 6:00 PM Haribabu Kommi <kommi.haribabu@gmail.com> wrote: > > > On Wed, Jul 4, 2018 at 11:14 PM Laurenz Albe <laurenz.albe@cybertec.at> > wrote: > >> Haribabu Kommi wrote: >> >> > - I think the construction with "read_write_host_index" makes the code >> even more >> complicated than it already is. >> >> What about keeping the first successful connection open and storing it >> in a >> variable if we are in "prefer-read" mode. >> If we get the read-only connection we desire, close that cached >> connection, >> otherwise use it. >> > > Even if we add a variable to cache the connection, I don't think the logic > of checking > the next host for the read-only host logic may not change, but the extra > connection > request to the read-write host again will be removed. > I evaluated your suggestion of caching the connection and reuse it when there is no read only server doesn't find, but I am thinking that it will add more complexity and also the connection to the other servers delays, the cached connection may be closed by the server also because of timeout. I feel the extra time during connection may be fine, if user is preferring the prefer-read mode, instead of adding more complexity in handling the cached connection? comments? Regards, Haribabu Kommi Fujitsu Australia
Commits
-
Make test_target_session_attrs more robust against connection failure.
- 3769e11a3183 14.0 landed
-
Extend the abilities of libpq's target_session_attrs parameter.
- ee28cacf619f 14.0 landed
-
Mark default_transaction_read_only as GUC_REPORT.
- d16f8c8e416d 14.0 landed
-
Introduce a new GUC_REPORT setting "in_hot_standby".
- bf8a662c9afa 14.0 landed
-
Avoid spamming the client with multiple ParameterStatus messages.
- 2432b1a04087 14.0 landed
-
Avoid harmless Valgrind no-buffer-pin errors.
- a766d6ca22ac 14.0 cited
-
Restructure libpq code to remove some duplicity
- b438e7e7a1c5 13.0 landed
-
libpq: Add target_session_attrs parameter.
- 721f7bd3cbcc 10.0 cited