Re: Set arbitrary GUC options during initdb
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>,
Robert Haas <robertmhaas@gmail.com>,
"David G. Johnston" <david.g.johnston@gmail.com>,
pgsql-hackers@lists.postgresql.org
Date: 2023-03-22T20:29:16Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > This commit unfortunately broke --wal-segsize. If I use a slightly larger than > the default setting, I get: > initdb --wal-segsize 64 somepath > running bootstrap script ... 2023-03-22 13:06:41.282 PDT [639848] FATAL: "min_wal_size" must be at least twice "wal_segment_size" [ confused... ] Oh, I see the problem. This: /* set default max_wal_size and min_wal_size */ snprintf(repltok, sizeof(repltok), "min_wal_size = %s", pretty_wal_size(DEFAULT_MIN_WAL_SEGS)); conflines = replace_token(conflines, "#min_wal_size = 80MB", repltok); looks like it's setting a compile-time-constant value of min_wal_size; at least that's what I thought it was doing when I revised the code. But it isn't, because somebody had the brilliant idea of making pretty_wal_size() depend on the wal_segment_size_mb variable. Will fix, thanks for report. 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