Re: SET ROLE and reserved roles

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: SET ROLE and reserved roles
Date: 2016-04-13 12:49:13
Message-ID: CAB7nPqRMjyntWs3YNyJAaBBRezVv1rPm47W6mTaipahmKHpiJw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Apr 13, 2016 at 5:58 PM, Amit Langote
<Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
> Is that behavior deliberate? Might it be better to handle the case
> specially much as setting to "none" works? Such as:
>
> ERROR: cannot set to reserved role "pg_signal_backend"
>
> Sorry if I have missed any discussion where such a choice was deliberately
> made.

I agree that this is a bit surprising. We could do something like the
attached, and switch the error code to ERRCODE_RESERVED_NAME as well
without caring much if a system role exists or not, this does not seem
worth doing a catalog lookup:
=# set role to pg_test;
ERROR: 42939: role "pg_test" is reserved
LOCATION: call_string_check_hook, guc.c:9788
=# set role to pg_signal_backend;
ERROR: 42939: role "pg_signal_backend" is reserved
LOCATION: call_string_check_hook, guc.c:9788
--
Michael

Attachment Content-Type Size
set-system-role.patch text/x-diff 1.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2016-04-13 12:50:24 Re: Optimization for updating foreign tables in Postgres FDW
Previous Message Robert Haas 2016-04-13 12:46:22 Re: Optimization for updating foreign tables in Postgres FDW