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