Re: Set arbitrary GUC options during initdb
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>,
pgsql-hackers@lists.postgresql.org
Date: 2023-01-27T15:53:42Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > The idea is that instead of: > replace_token(conflines, "#max_connections = 100", repltok); > You'd write something like: > replace_guc_value(conflines, "max_connections", repltok); > Which would look for a line matching /^#max_connections\s+=\s/, and > then identify everything following that point up to the first #. It > would replace all that stuff with repltok, but if the replacement is > shorter than the original, it would pad with spaces to get back to the > original length. And otherwise it would add a single space, so that if > you set a super long GUC value there's still at least one space > between the end of the value and the comment that follows. Well, yeah, I was trying to avoid writing that ;-). There's even one more wrinkle: we might already have removed the initial '#', if one does say "-c max_connections=N", because this logic won't know whether the -c switch matches one of initdb's predetermined substitutions. > There might be some quoting-related problems with this idea, not sure. '#' in a value might confuse it, but we could probably take the last '#' not the first. Anyway, it seems like I gotta work harder. I'll produce a new patch. regards, tom lane
Commits
-
Fix initdb's handling of min_wal_size and max_wal_size.
- b48af6d174bb 16.0 landed
-
Reduce memory leakage in initdb.
- 4fe2aa7656dc 16.0 landed
-
Add "-c name=value" switch to initdb.
- 3e51b278db6a 16.0 landed