Re: display hot standby state in psql prompt - Mailing list pgsql-hackers

From Jim Jones
Subject Re: display hot standby state in psql prompt
Date
Msg-id c7748940-b2f6-4022-8c80-66dd8304c42e@uni-muenster.de
Whole thread Raw
In response to Re: display hot standby state in psql prompt  (Fujii Masao <masao.fujii@gmail.com>)
Responses Re: display hot standby state in psql prompt
List pgsql-hackers

On 24/10/2025 17:21, Fujii Masao wrote:
> + const char *hs = PQparameterStatus(pset.db, "in_hot_standby");
> + const char *ro = PQparameterStatus(pset.db, "default_transaction_read_only");
> 
> When either hs or ro is NULL, the displayed status can be incorrect.
> For example, connecting to a standby server running PostgreSQL 10
> incorrectly shows "read/write". In such cases, wouldn't it be clearer
> to display something like "unknown", similar to how the "Hot Standby"
> column in \conninfo reports "unknown"?

Oh, it didn't occur to me to test this edge case. Thanks for the hint!

Would this be what you have in mind?

if (!hs || !ro)
    strlcpy(buf, "unknown", sizeof(buf));
else if ((hs && strcmp(hs, "on") == 0) ||
    (ro && strcmp(ro, "on") == 0))
    strlcpy(buf, "read-only", sizeof(buf));
else
    strlcpy(buf, "read/write", sizeof(buf));


Best, Jim



pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: List TAP test files in makefiles
Next
From: Jeff Davis
Date:
Subject: Re: Change initdb default to the builtin collation provider