Re: Possible regression setting GUCs on \connect

Jonathan S. Katz <jkatz@postgresql.org>

From: "Jonathan S. Katz" <jkatz@postgresql.org>
To: Pavel Borisov <pashkin.elfe@gmail.com>
Cc: Alexander Korotkov <aekorotkov@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Nathan Bossart <nathandbossart@gmail.com>, David Steele <david@pgmasters.net>, Pg Hackers <pgsql-hackers@postgresql.org>, rmt@lists.postgresql.org
Date: 2023-04-30T16:25:20Z
Lists: pgsql-hackers
On 4/28/23 12:29 PM, Pavel Borisov wrote:
> Hi!
> 
> On Fri, 28 Apr 2023 at 17:42, Jonathan S. Katz <jkatz@postgresql.org> wrote:
>>
>> On 4/27/23 8:04 PM, Alexander Korotkov wrote:
>>> On Fri, Apr 28, 2023 at 2:30 AM Alexander Korotkov <aekorotkov@gmail.com> wrote:
>>>> Additionally, I think if we start recording role OID, then we need a
>>>> full set of management clauses for each individual option ownership.
>>>> Otherwise, we would leave this new role OID without necessarily
>>>> management facilities.  But with them, the whole stuff will look like
>>>> awful overengineering.
>>>
>>> I can also predict a lot of ambiguous cases.  For instance, we
>>> existing setting can be overridden with a different role OID.  If it
>>> has been overridden can the overwriter turn it back?
>>
>> [RMT hat]
>>
>> While the initial bug has been fixed, given there is discussion on
>> reverting 096dd80f3, I've added this as an open item.
>>
>> I want to study this a bit more before providing my own opinion on revert.
> 
> I see that 096dd80f3 is a lot simpler in implementation than
> a0ffa885e, so I agree Alexander's opinion that it's good not to
> overengineer what could be done simple. If we patched corner cases of
> a0ffa885e before (by 13d838815), why not patch minor things in
> 096dd80f3 instead of reverting?
> 
> As I see in [1] there is some demand from users regarding this option.

[RMT hat]

I read through the original thread[1] to understand the use case and 
also the concerns, but I need to study [1] and this thread a bit more 
before I can form an opinion.

The argument that there is "demand from users" is certainly one I relate 
to, but there have been high-demand features in the past (e.g. MERGE, 
SQL/JSON) that have been reverted and released later due to various 
concerns around implementation, etc. The main job of the RMT is to 
ensure a major release is on time and is as stable as possible, which 
will be a major factor into any decisions if there is lack of community 
consensus on an open item.

Thanks,

Jonathan

[1] 
https://postgr.es/m/CAGRrpzawQSbuEedicOLRjQRCmSh6nC3HeMNvnQdBVmPMg7AvQw%40mail.gmail.com

Commits

  1. Revert "Add USER SET parameter values for pg_db_role_setting"

  2. Fix wrong construct_array_builtin() call in GUCArrayDelete()

  3. In hstore_plpython, avoid crashing when return value isn't a mapping.

  4. Allow granting SET and ALTER SYSTEM privileges on GUC parameters.