Re: SET ROLE and reserved roles - Mailing list pgsql-hackers

From Robert Haas
Subject Re: SET ROLE and reserved roles
Date
Msg-id CA+TgmoaVu0cB4wVwfp4LNwRJQ83fAoXZWf3FPh85kqLRPz0=YA@mail.gmail.com
Whole thread Raw
In response to Re: SET ROLE and reserved roles  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-hackers
On Wed, Apr 13, 2016 at 8:49 AM, Michael Paquier
<michael.paquier@gmail.com> wrote:
> On Wed, Apr 13, 2016 at 5:58 PM, Amit Langote
> <Langote_Amit_f8@lab.ntt.co.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

But is it even intended behavior that you can't set to these reserved roles?

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Missing PG_INT32_MIN in numutils.c
Next
From: Tom Lane
Date:
Subject: Re: pg_upgrade documentation improvement patch