Re: A assert failure when initdb with track_commit_timestamp=on
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>,
Andy Fan <zhihuifan1213@163.com>,
"'Michael Paquier'" <michael@paquier.xyz>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-07-04T17:17:53Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Disable commit timestamps during bootstrap
- 8bca4476f9f9 13.22 landed
- b61ddcaf41cf 14.19 landed
- dcbbd43317c0 15.14 landed
- 7e7059abfd22 16.10 landed
- ae20c105f0b2 17.6 landed
- 29a4b63c6bc8 18.0 landed
- 5a6c39b6df33 19 (unreleased) landed
Attachments
- poc-survive-transaction_timeout-in-initdb.patch (text/x-diff) patch
Fujii Masao <masao.fujii@oss.nttdata.com> writes: > On 2025/07/05 0:30, Tom Lane wrote: >> As I remarked in the other thread, I don't like inventing a different >> solution for each GUC. So if there are even two that need something >> done, I think Hayato-san's idea has merit. > This code seems to assume that the processing mode is switched to bootstrap before > GUC parameters are processed. But is that actually the case? Oh, good point. But there doesn't seem to be any ill effect from making BootstrapModeMain set BootstrapProcessing a bit earlier. Attached is a proof-of-concept that I've actually tested. However, what I find with this POC is that initdb -c transaction_timeout=10s goes through fine, but (at least on my machine) initdb -c transaction_timeout=1 yields ... running bootstrap script ... ok performing post-bootstrap initialization ... 2025-07-04 13:08:04.225 EDT [261836] FATAL: terminating connection due to transaction timeout child process exited with exit code 1 because 1ms is not enough time to complete the post-bootstrap run. I would argue that that's pilot error and we did exactly what the user demanded, but is there anyone who wants to say that we should suppress such GUCs during post-bootstrap too? regards, tom lane