Re: display hot standby state in psql prompt

Fujii Masao <masao.fujii@gmail.com>

From: Fujii Masao <masao.fujii@gmail.com>
To: Jim Jones <jim.jones@uni-muenster.de>
Cc: Andreas Karlsson <andreas@proxel.se>, Nathan Bossart <nathandbossart@gmail.com>, Srinath Reddy Sadipiralla <srinath2133@gmail.com>, Greg Sabino Mullane <htamfids@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Chao Li <li.evan.chao@gmail.com>
Date: 2025-11-10T07:30:38Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. psql: Add %i prompt escape to indicate hot standby status.

  2. Mark search_path as GUC_REPORT

On Sat, Nov 8, 2025 at 7:21 PM Jim Jones <jim.jones@uni-muenster.de> wrote:
> > I personally lean towards that maybe we should keep it simple and go
> > back to the origins of the patch which just tried to show if it is a
> > standby or not given how complex it is to tell that we are in read-only
> > or not. The alternative would be to update the protocol so the client if
> > informed if a transaction is read-only or not but I do not think it
> > would be possible to convince people to update the protocol just for
> > psql. Maybe if some connection pooler would also be interest but I am
> > not sure what they would need this for.
>
>
> If we decide to not consider transaction_read_only for this feature, I
> guess we should prevent the prompt to show anything if inside of a
> transaction block. Simply ignoring it and showing a potentially wrong
> status wouldn't be a good idea.
>
> What do you guys think?

If the main goal of this feature is to help users easily determine
whether they're connected to a primary or a standby,
seems simply showing whether the server is in hot standby
should be sufficient. I'm not sure how useful it would be in practice
to show information based on default_transaction_read_only or
transaction_read_only.

Regards,

-- 
Fujii Masao