Subject: Re: Customize psql prompt to show current_role

From: Adrian Klaver <[email-masked]>
Date: Mon, 23 Sep 2024 08:16:53 -0700

On 9/23/24 08:07, Dominique Devienne wrote:
> On Mon, Sep 23, 2024 at 4:55 PM Tom Lane <[email-masked]> wrote:
>> Laurenz Albe <[email-masked]> writes:
>>> To get the current role, psql would have to query the database whenever
>>> it displays the prompt.  That would be rather expensive...
>>
>> See previous discussion:
>> https://www.postgresql.org/message-id/flat/CAFj8pRBFU-WzzQhNrwRHn67N0Ug8a9-0-9BOo69PPtcHiBDQMA%40mail.gmail.com
>>
>> At the time I didn't like the idea too much, but now that we've seen
>> a second independent request, maybe our opinion of its value should
>> go up a notch.
> 
> Thanks for the reference Tom. I don't follow -hackers, so missed it.
> 
> Obviously I disagree with your "it's not useful enough" comment :)
> 
> I often lose track of which ROLE is active, in my many
> long-lived psql sessions, on various servers (mainly v14 and v16 these days),
> especially during my recent struggle to adapt our system to v16.
> I often resort to \conninfo, but it's less automatic and
> harder to visually parse (IMHO) compared to a custom ad-hoc prompt.

For me that shows the user that connected(session_user) not the 
current_user.

> 
> Therefore I want to respectfully re-iterate my interest in this enhancement.
> 
> Thanks, --DD
> 
> 

-- 
Adrian Klaver
[email-masked]

---

From: Tom Lane <[email-masked]>
Date: Mon, 23 Sep 2024 11:36:47 -0400

> For me that shows the user that connected(session_user) not the 

Worse than that: what it reports is libpq's PQuser(), that is the
name that was used to log in with.  But if what you want is the
session_user, psql prompts already have %n for that.

			regards, tom lane