On 2023-Nov-09, Peter Smith wrote: > Notice that NOT QUOTED is the far more common pattern, so my vote > would be just to standardise on making everything this way. I know > there was some concern raised about ambiguous words like "timezone" > and "datestyle" etc but in practice, those are rare. Also, those GUCs > are different in that they are written as camel-case (e.g. > "DateStyle") in the guc_tables.c, so if they were also written > camel-case in the messages that could remove ambiguities with normal > words. YMMV.
Well, I think camel-casing is also a sufficient differentiator for these identifiers not being English words. We'd need to ensure they're always written that way, when not quoted. However, in cases where arbitrary values are expanded, I don't know that they would be expanded that way, so I would still go for quoting in that case. There's also a few that are not camel-cased nor have any underscores -- looking at postgresql.conf.sample, we have "port", "bonjour", "ssl", "fsync", "geqo", "jit", "autovacuum", "xmlbinary", "xmloption". (We also have "include", but I doubt that's ever used in an error message). But actually, there's more: every reloption is a candidate, and there we have "fillfactor", "autosummarize", "fastupdate", "buffering". So if we want to make generic advice on how to deal with option names in error messages, I think the wording on conditional quoting I proposed should go in (adding CamelCase as a reason not to quote), and then we can fix the code to match. Looking at your list, I think the changes to make are not too numerous. -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/ "Nadie está tan esclavizado como el que se cree libre no siéndolo" (Goethe)