Josh Berkus <j...@agliodbs.com> writes: > Kevin, >> Perhaps the ease of writing something like that with sed or perl has >> caused me to underestimate the effort required in C. I am curious >> whether you actually mean that, or said it for rhetorical effect.
> I actually mean that. It *looks* easy in perl, and in fact *is* easy > for *your* postgresql.conf which you control. But writing a parser for > every postgresql.conf which exists in the world, no matter how someone > has hacked it up creatively? No matter how they've handled upgrades? The issue isn't even with writing a parser. The conf file is certainly machine-parsable; guc-file.l is an existence proof, and the relatively slow rate of change of that file indicates that it's been a reasonably stable format over time. The issue is that if you want to modify the file while preserving comments, commenting out superseded entries, putting new entries where the user would expect to find them, etc etc, you have a hard AI problem in front of you. This is why Robert keeps harping on the default commentary being a problem --- if you removed all comments (and didn't care about ordering etc), it would be easier. But short of telling people who prefer $EDITOR to get lost, that's not going to work. I think the point of the discussions here is that we want to establish an alternate config file (or set of config files) in which the expectations are different: no promise to preserve any comments, no intention to be human-friendly for editing, etc. In one sense this would be the same machine-readable format, since the backend is still going to parse it with guc-file.l; but changing the human expectations can make the editing problem much simpler. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers