Hi, If you build with --with-wal-blocksize=/-Dwal_blocksize= anything but 8, this breaks:
running bootstrap script ... LOG: GUC (PGC_INT) wal_writer_flush_after, boot_val=256, C-var=128 TRAP: failed Assert("check_GUC_init(hentry->gucvar)"), File: "guc.c", Line: 1519, PID: 84605
From 48d971e0b19f770991e334b8dc38422462b4485e Mon Sep 17 00:00:00 2001 From: Thomas Munro <thomas.mu...@gmail.com> Date: Sat, 8 Apr 2023 13:12:48 +1200 Subject: [PATCH] Fix default wal_writer_flush_after value. Commit a73952b7956 requires default values in guc_table.c and C variable initializers to match. This one only matched for XLOG_BLCKSZ == 8kB. Fix by using the same expression in both places with a new DEFAULT_XXX macro, as done for other GUCs. diff --git a/src/backend/postmaster/walwriter.c b/src/backend/postmaster/walwriter.c index 65e84be39b..266fbc2339 100644 --- a/src/backend/postmaster/walwriter.c +++ b/src/backend/postmaster/walwriter.c @@ -68,7 +68,7 @@ * GUC parameters */ int WalWriterDelay = 200; -int WalWriterFlushAfter = 128; +int WalWriterFlushAfter = DEFAULT_WAL_WRITER_FLUSH_AFTER; /* * Number of do-nothing loops before lengthening the delay time, and the diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c index cf7f465ddb..916f6e2cfa 100644 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@ -2778,7 +2778,7 @@ struct config_int ConfigureNamesInt[] = GUC_UNIT_XBLOCKS }, &WalWriterFlushAfter, - (1024 * 1024) / XLOG_BLCKSZ, 0, INT_MAX, + DEFAULT_WAL_WRITER_FLUSH_AFTER, 0, INT_MAX, NULL, NULL, NULL }, diff --git a/src/include/postmaster/walwriter.h b/src/include/postmaster/walwriter.h index 22281a97ba..af25cf0025 100644 --- a/src/include/postmaster/walwriter.h +++ b/src/include/postmaster/walwriter.h @@ -16,6 +16,8 @@ extern PGDLLIMPORT int WalWriterDelay; extern PGDLLIMPORT int WalWriterFlushAfter; +#define DEFAULT_WAL_WRITER_FLUSH_AFTER ((1024 * 1024) / XLOG_BLCKSZ) + extern void WalWriterMain(void) pg_attribute_noreturn(); #endif /* _WALWRITER_H */ -- 2.40.0