Hi David,
> On 20. Nov, 2020, at 10:34, David G. Johnston <david.g.johnston@xxxxxxxxx> wrote:
>
>
> On Friday, November 20, 2020, Paul Förster <paul.foerster@xxxxxxxxx> wrote:
>
> > On 20. Nov, 2020, at 10:03, Thomas Kellerer <shammat@xxxxxxx> wrote:
>
> >
> > select pg_is_in_recovery();
>
> I usually don't recommend using pg_is_in_recovery() only because a database cluster can be in recovery for other reasons. This is why I always do the following:
>
> Do any of those other reasons allow connections that could execute that function to exist?
that always depends on what your application does. An application could still select a lot of things, maybe even wrongly so, even if the cluster is in recovery mode.
I don’t follow - i posit that if psql successfully connects to a server that reports it is is recovery that server is a secondary to some other server, period. Can you provide a counter-example for when that isn’t true (given the whole psql connects successfully bit).
David J.