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
>>
>
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 |