Re: Libpq support to connect to standby server as priority

From: Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: laurenz(dot)albe(at)cybertec(dot)at, Jing Wang <jingwangian(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>
Subject: Re: Libpq support to connect to standby server as priority
Date: 2018-09-28 07:31:47
Message-ID: CAJrrPGcMq9YgG-aMzLK051EndUgjdnpp8_dJwJaNDZbu=sS0qQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox
Thread:
Lists: pgsql-hackers

On Thu, Jul 19, 2018 at 10:59 PM Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>
wrote:

>
> On Wed, Jul 18, 2018 at 10:53 PM Robert Haas <robertmhaas(at)gmail(dot)com>
> wrote:
>
>> On Wed, Jul 4, 2018 at 9:14 AM, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
>> wrote:
>> > 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.
>>
>> I like this idea. If I recall correctly, the logic in this area is
>> getting pretty complex, so we might need to refactor it for better
>> readability and maintainability.
>>
>
> OK. I will work on the code refactoring first and then provide the
> prefer-read option on top it.
>

commits d1c6a14bacf and 5ca00774194 have refactored the logic
of handling the different connection states.

Attached is a rebased patch after further refactoring the new option
code for easier maintenance.

Regards,
Haribabu Kommi
Fujitsu Australia

Attachment Content-Type Size
0001-Allow-taget-session-attrs-to-accept-prefer-read-opti_v3.patch application/octet-stream 14.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2018-09-28 07:35:48 Re: transction_timestamp() inside of procedures
Previous Message Christoph Berg 2018-09-28 07:24:50 Re: Collation versioning