From: | Greg Nancarrow <gregn4422(at)gmail(dot)com> |
---|---|
To: | vignesh C <vignesh21(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru>, Peter Smith <smithpb2250(at)gmail(dot)com>, "Smith, Peter" <peters(at)fast(dot)au(dot)fujitsu(dot)com>, David Steele <david(at)pgmasters(dot)net>, "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)fujitsu(dot)com>, Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Dave Cramer <pg(at)fastcrypt(dot)com>, Jing Wang <jingwangian(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Elvis Pranskevichus <elprans(at)gmail(dot)com> |
Subject: | Re: Libpq support to connect to standby server as priority |
Date: | 2021-02-09 08:57:06 |
Message-ID: | CAJcOf-fgr0QkW+fvfevVcBBJSzPTWHyEJRpvhwDk5ETWxVgGoA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Feb 8, 2021 at 8:17 PM vignesh C <vignesh21(at)gmail(dot)com> wrote:
>
> >
> > I think what we want to do is mark default_transaction_read_only as
> > GUC_REPORT, instead. That will give a reliable report of what the
> > state of its GUC is, and you can combine it with is_hot_standby
> > to decide whether the session should be considered read-only.
> > If you don't get those two GUC values during connection, then you
> > can fall back on "SHOW transaction_read_only".
> >
>
> I have made a patch for the above with the changes suggested and
> rebased it with the head code.
> Attached v21 patch which has the changes for the same.
> Thoughts?
Further to my other doc change feedback, I can only spot the following
minor things (otherwise the changes that you have made seek OK to me).
1) doc/src/sgml/protocol.sgml
<varname>default_transaction_read_only</varname> and
<varname>in_hot_standby</varname> were not reported by releases before
14.)
should be:
<varname>default_transaction_read_only</varname> and
<varname>in_hot_standby</varname> were not reported by releases before
14.0)
2) doc/src/sgml/high-availability,sgml
<para>
During hot standby, the parameter <varname>in_hot_standby</varname> and
<varname>default_transaction_read_only</varname> are always true and may
not be changed.
should be:
<para>
During hot standby, the parameters <varname>in_hot_standby</varname> and
<varname>transaction_read_only</varname> are always true and may
not be changed.
[I believe that there's only checks on attempts to change
"transaction_read_only" when in hot_standby, not
"default_transaction_read_only"; see check_transaction_read_only()]
3) src/interfaces/libpq/fe-connect.c
In rejectCheckedReadOrWriteConnection() and
rejectCheckedStandbyConnection(), now that host and port info are
emitted separately and are not included in each error message string
(as parameters in a format string), I think those functions should use
appendPQExpBufferStr() instead of appendPQExpBuffer(), as it's more
efficient if there is just a single string argument.
Regards,
Greg Nancarrow
Fujitsu Australia
From | Date | Subject | |
---|---|---|---|
Next Message | Konstantin Knizhnik | 2021-02-09 09:06:23 | Re: libpq compression |
Previous Message | Heikki Linnakangas | 2021-02-09 08:54:50 | Re: Online checksums patch - once again |