Re[2]: Invalid name syntax on to_regrole(session_user) - Mailing list pgsql-general

From Ц
Subject Re[2]: Invalid name syntax on to_regrole(session_user)
Date
Msg-id 1586874776.795888157@f420.i.mail.ru
Whole thread Raw
In response to Re: Invalid name syntax on to_regrole(session_user)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Thank you for clarification!

PS: Re-reading initial message, I feel ashamed for such foolish questions.


Вторник, 14 апреля 2020, 17:04 +03:00 от Tom Lane <tgl@sss.pgh.pa.us>:

Ц <pfunk@mail.ru> writes:
> create role "dot.net"
> set session authorization 'dot.net';
> select to_regrole(session_user); ERROR: invalid name syntax

Well, we've got this:

regression=> select session_user;
 session_user
--------------
 dot.net
(1 row)

which is reasonable: that output shouldn't be quoted.
But then:

regression=> select 'dot.net'::regrole;
ERROR: invalid name syntax
LINE 1: select 'dot.net'::regrole;
               ^

which is also reasonable. So you need to provide the quoting if
you want to interface these.

regression=> select to_regrole(quote_ident(session_user));
 to_regrole
------------
 "dot.net"
(1 row)

> Is there other way (without extra type conversions) for getting oid of session_user?

select oid from pg_roles where rolname = session_user


regards, tom lane






pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Invalid name syntax on to_regrole(session_user)
Next
From: Matthias Apitz
Date:
Subject: pg_basebackup && long time storage of wal_archive/ content