Re: Disallow setting client_min_messages > ERROR?
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2018-11-08T15:56:33Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > On 2018-11-06 11:37:40 -0500, Tom Lane wrote: >> Andres Freund <andres@anarazel.de> writes: >>> Seems reasonable. I do think it's probably sensible to backpatch, >>> although I wonder if we shouldn't clamp the value to ERROR at log >>> emission error time, rather than via guc.c, so we don't prevent old code >>> / postgresql.conf that set client_min_messages to > ERROR. >> Hm, do you really think there is any? > I'm not sure. But it sounds like it'd possibly slow adoption of the > minor releases if we said "hey, make sure that you nowhere set > client_min_messages > ERROR", even if it's not particularly meaningful > thing to do, as it'd still imply a fair bit of work for bigger > applications with not great standards. OK, so the consensus seems to be that the back branches should continue to allow you to set client_min_messages = FATAL/PANIC, but then ignore that and act as though it were ERROR. We could implement the clamp either in elog.c or in a GUC assignment hook. If we do the latter, then SHOW and pg_settings would report the effective value rather than what you set. That seems a bit cleaner to me, and not without precedent. As far as the backwards compatibility angle goes, you can invent scenarios in which either choice could be argued to break something; but I think the most likely avenue for trouble is if the visible setting doesn't match the actual behavior. So I'm leaning to the assign-hook approach; comments? regards, tom lane
Commits
-
Disallow setting client_min_messages higher than ERROR.
- c09daa910409 10.7 landed
- 7b08b4a8adbb 11.2 landed
- 3d360e20c9ae 12.0 landed
- 88275ac19900 9.5.16 landed
- 2407d4807fdc 9.4.21 landed
- 041ad9a66d28 9.6.12 landed