Andres Freund <and...@anarazel.de> writes: > On 2018-11-06 11:37:40 -0500, Tom Lane wrote: >> Andres Freund <and...@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