> 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.
How about just adding a "section" to the end of the file as needed: