Re: SET ROLE and reserved roles

From: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
To: Stephen Frost <sfrost(at)snowman(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: SET ROLE and reserved roles
Date: 2016-04-14 01:42:09
Message-ID: 570EF571.7090206@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Hi Stephen,

On 2016/04/14 2:10, Stephen Frost wrote:
>> Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp <javascript:;>> writes:
>>> I observe this:
>>
>>> postgres=# SET ROLE TO NONE;
>>> SET
>>> postgres=# SET ROLE TO nonexistent;
>>> ERROR: role "nonexistent" does not exist
>>> postgres=# SET ROLE TO pg_signal_backend;
>>> ERROR: invalid value for parameter "role": "pg_signal_backend"
>>
>>> Is that behavior deliberate? Might it be better to handle the case
>>> specially much as setting to "none" works?
>
> I don't think it makes sense to say the role doesn't exist when it does, in
> fact, exist.

Sorry, I didn't mean to say that we should error with "<reserved-role>
does not exist" on such SET ROLE attempts. Like Michael, I was a bit
surprised to find that it output "invalid value for parameter".

So, if consensus emerges that we should indeed disallow SET ROLE
<reserved-role-spec>, I would +1 Michael's proposed GUC_check_err*()-based
patch.

Thanks,
Amit

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Etsuro Fujita 2016-04-14 01:44:52 Re: Optimization for updating foreign tables in Postgres FDW
Previous Message Chapman Flack 2016-04-14 01:30:02 Safe to apply HeapTupleHeaderGetDatum to a tuple from syscache?