pá 3. 2. 2023 v 21:21 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
Pavel Stehule <pavel.stehule@gmail.com> writes: > Both patches are very simple - and they use almost already prepared > infrastructure.
It's not simple at all to make the psql feature depend on marking "role" as GUC_REPORT when it never has been before. That will cause the feature to misbehave when using older servers. I'm even less impressed by having it fall back on PQuser(), which would be misleading at exactly the times when it matters.
It is a good note. This can be disabled for older servers, and maybe it can introduce its own GUC (and again - it can be disallowed for older servers).
Here is another version. For older servers it shows the string ERR0A000. That is ERR code of "feature is not supported"
My goal at this moment is to get some prototype. We can talk if this feature request is valid or not, and we can talk about implementation.
There is another possibility to directly execute "select current_user()" instead of looking at status parameters inside prompt processing. It can work too.
I tested using the query SELECT CURRENT_USER, but I don't think it is usable now, because it doesn't work in the broken transaction.
Regards
Pavel
Regards
Pavel
regards, tom lane
I've tested this w/regards to psql. Latest commit.
It works as described. 'none' is displayed for the default role. (SET ROLE DEFAULT), otherwise the specific ROLE is displayed.
I tried this patch on 15.2, but guc_files.c does not exist in that version, so it did not install.
I also tried applying the %T patch, but since they touch the same file, it would not install with it, without rebasing, repatching.
The Docs are updated, and it's a relatively contained patch.
Changed status to Ready for Committer. (100% Guessing here...)