Re: set_config(‘search_path’) does not truncate names over 63 bytes, unlike SET

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: daniel(at)yesql(dot)se
Cc: mkumar(at)yugabyte(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: set_config(‘search_path’) does not truncate names over 63 bytes, unlike SET
Date: 2026-11-04 21:05:33
Message-ID: CAGRkXqQsVegdUGRioXVCyihRG=VA2cB-QqWPRizEhP_ZQUCHGA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Daniel,

> I'm sure it isn't weakening protections to handle a synthetic case.

My original thought was that we already had a mechanism for messages
over 30k, so why not just reuse it.

Going back, if we want to fix this, I see two directions.

1. Client side. I guess your concern is that adding
PqMsg_ParameterStatus turns off the protection for all ParameterStatus
messages. I did that because other GUCs like application_name could
also run into this issue. But given there are only a handful of
GUC_REPORT parameters, I thought at first it might not be a big deal.

If we want to keep the fix on the client side, we may need a whitelist
for these GUCs which is complex

2. Limit the length in guc. A long value then fails with a normal guc
error instead of a disconnect. I can do it in a check hook one by one
or create a new mechanism to limit the size of string guc?

I feel if we want to do that in server side we can start with check hook
on these two GUC, what do you think?

Thanks,
Shihao

In response to

Browse pgsql-bugs by date

  From Date Subject
Previous Message Andrey Rachitskiy 2026-11-04 16:28:56 Re: BUG #19621: Unexpected results of JSON_VALUE with DEFAULT ON EMPTY