Invalid name syntax on to_regrole(session_user)

From: Ц <pfunk(at)mail(dot)ru>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Invalid name syntax on to_regrole(session_user)
Date: 2020-04-14 12:47:59
Message-ID: 1586868479.588975920@f425.i.mail.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello!

I store pg_roles.oid::int as numeric representation of database role.
Now I need to get this number for session user.
I used to_regrole(session_user) function.

Everything works fine till I allow roles with dots in role`s name.

create role "dot.net"
set session authorization 'dot.net';
select to_regrole(session_user); ERROR: invalid name syntax

Is it expected behavior that session_user produces non quoted output and I should use quote_ident anywhere in code session_user?

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

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2020-04-14 14:04:43 Re: Invalid name syntax on to_regrole(session_user)
Previous Message Zwettler Markus (OIZ) 2020-04-14 09:01:16 AW: Which commands are guaranteed to drop role