Re: Set arbitrary GUC options during initdb

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Set arbitrary GUC options during initdb
Date: 2023-01-27 16:01:51
Message-ID: CAKFQuwauwt+w8HbtU_-Mqo-aZ1Qjsah13E5_iFEUTVpVc1PTAw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jan 27, 2023 at 8:53 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Robert Haas <robertmhaas(at)gmail(dot)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.
>
>
How about just adding a "section" to the end of the file as needed:

# AdHoc Settings Specified During InitDB
max_connections=75
...

David J.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2023-01-27 16:17:13 Re: improving user.c error messages
Previous Message Robert Haas 2023-01-27 15:53:54 Re: improving user.c error messages