Re: [PATCH] Allow complex data for GUC extra.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bryan Green <dbryan(dot)green(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: [PATCH] Allow complex data for GUC extra.
Date: 2025-12-30 02:24:20
Message-ID: 3258096.1767061460@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bryan Green <dbryan(dot)green(at)gmail(dot)com> writes:
> On 12/29/2025 7:44 PM, Tom Lane wrote:
>> Bryan Green <dbryan(dot)green(at)gmail(dot)com> writes:
>>> One notable behavioral change: check hooks using GUC_EXTRA_IS_CONTEXT
>>> now use palloc() instead of guc_malloc().

>> Why? It seems both inconsistent and unsafe.

> Fair enough to call me on that. I mainly thought that if we are having
> problems allocating what is usually a few bytes then throwing an error
> would have been acceptable.

The key reason I'm allergic to this is that throwing elog(ERROR) in
the postmaster process will take down the postmaster. So we really
do not want code that will execute during SIGHUP configuration
reloads to be doing that. I grant that there will probably always
be edge cases where that happens, but I'm not okay with building
such a hazard into the GUC APIs.

> Based on your comment about unsafe and a
> bit deeper thinking I can see where this is probably not a welcome
> change in behavior. I suppose we could catch the error and convert it
> to a false return.

Does

palloc_extended(..., MCXT_ALLOC_NO_OOM)

help?

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Lukas Fittl 2025-12-30 02:34:18 Re: Refactor query normalization into core query jumbling
Previous Message Xuneng Zhou 2025-12-30 02:12:28 Re: Implement waiting for wal lsn replay: reloaded