Re: proposal: psql: show current user in prompt

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Kirk Wolak <wolakk(at)gmail(dot)com>, Corey Huinker <corey(dot)huinker(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: proposal: psql: show current user in prompt
Date: 2023-04-04 19:11:46
Message-ID: CAFj8pRD4Kb7XXj8O1z1AsLVf5M8H_LO6ocE1Dh-JSvgkUcDMqw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

út 4. 4. 2023 v 20:50 odesílatel Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
napsal:

>
>
> út 4. 4. 2023 v 19:55 odesílatel Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> napsal:
>
>> Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> writes:
>> > út 4. 4. 2023 v 18:42 odesílatel Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> napsal:
>> >> Basically, I want to reject this on the grounds that it's not
>> >> useful enough to justify the overhead of marking the "role" GUC
>> >> as GUC_REPORT. The problems with it not going to work properly
>> >> with old servers are an additional reason not to like it.
>>
>> > If I understand to next comment correctly, the overhead should not be
>> too
>> > big
>>
>> Yeah, but how big is the use-case? The reason I'm skeptical is that
>> half the time what you're going to get is "none":
>>
>> $ psql
>> psql (16devel)
>> Type "help" for help.
>>
>> regression=# show role;
>> role
>> ------
>> none
>> (1 row)
>>
>> That's required by SQL spec I believe, but that doesn't make it useful
>> data to keep in one's prompt.
>>
>
> Who needs it, and who uses different roles, then very quickly uses SET
> ROLE TO command.
>
> But I fully agree so current behavior can be a little bit messy. I like
> this feature, and I think it can have some benefits. Proposed
> implementation is minimalistic.
>
> One hard problem is translation of the oid of current_user to name. It
> requires an opened transaction, and then it cannot be postponed to the end
> of the statement. On the other hand, when the change of role is done inside
> a nested command, then it should not be visible from the client side.
>
> Can you accept the introduction of a new invisible GUC, that can be
> modified only by SET ROLE TO command when it is executed as top command?
>

It was stupid idea.

There can be implemented fallbacks. When the role is "none", then the :USER
can be displayed instead.

It can work, because the custom role "none" is not allowed

(2023-04-04 21:10:25) postgres=# create role none;
ERROR: role name "none" is reserved
LINE 1: create role none;

?

>
> Regards
>
> Pavel
>
>
>
>
>
>
>>
>> regards, tom lane
>>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2023-04-04 19:37:52 Re: Parallel Full Hash Join
Previous Message David G. Johnston 2023-04-04 19:02:25 Re: psql: Add role's membership options to the \du+ command