mirror of
https://github.com/postgres/postgres.git
synced 2025-04-29 13:56:47 +03:00
Fix initdb's handling of min_wal_size and max_wal_size.
In commit 3e51b278d, I misinterpreted the coding in setup_config() as setting min_wal_size and max_wal_size to compile-time-constant values. But it's not: there's a hidden dependency on --wal-segsize. Therefore leaving these variables commented out is the wrong thing. Per report from Andres Freund. Discussion: https://postgr.es/m/20230322200751.jvfvsuuhd3hgm6vv@awork3.anarazel.de
This commit is contained in:
parent
4fe2aa7656
commit
b48af6d174
@ -1279,6 +1279,13 @@ setup_config(void)
|
||||
conflines = replace_guc_value(conflines, "dynamic_shared_memory_type",
|
||||
dynamic_shared_memory_type, false);
|
||||
|
||||
/* Caution: these depend on wal_segment_size_mb, they're not constants */
|
||||
conflines = replace_guc_value(conflines, "min_wal_size",
|
||||
pretty_wal_size(DEFAULT_MIN_WAL_SEGS), false);
|
||||
|
||||
conflines = replace_guc_value(conflines, "max_wal_size",
|
||||
pretty_wal_size(DEFAULT_MAX_WAL_SEGS), false);
|
||||
|
||||
/*
|
||||
* Fix up various entries to match the true compile-time defaults. Since
|
||||
* these are indeed defaults, keep the postgresql.conf lines commented.
|
||||
@ -1289,12 +1296,6 @@ setup_config(void)
|
||||
conflines = replace_guc_value(conflines, "port",
|
||||
DEF_PGPORT_STR, true);
|
||||
|
||||
conflines = replace_guc_value(conflines, "min_wal_size",
|
||||
pretty_wal_size(DEFAULT_MIN_WAL_SEGS), true);
|
||||
|
||||
conflines = replace_guc_value(conflines, "max_wal_size",
|
||||
pretty_wal_size(DEFAULT_MAX_WAL_SEGS), true);
|
||||
|
||||
#if DEFAULT_BACKEND_FLUSH_AFTER > 0
|
||||
snprintf(repltok, sizeof(repltok), "%dkB",
|
||||
DEFAULT_BACKEND_FLUSH_AFTER * (BLCKSZ / 1024));
|
||||
|
Loading…
x
Reference in New Issue
Block a user