enhance wraparound warnings
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: pgsql-hackers@postgresql.org
Date: 2025-11-14T17:05:13Z
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 →
-
Add percentage of available IDs to wraparound warnings.
- e646450e609d 19 (unreleased) landed
-
Bump transaction/multixact ID warning limits to 100M.
- 48f11bfa06c6 19 (unreleased) landed
Attachments
varsup.c has the following comment: /* * We'll start complaining loudly when we get within 40M transactions of * data loss. This is kind of arbitrary, but if you let your gas gauge * get down to 2% of full, would you be looking for the next gas station? * We need to be fairly liberal about this number because there are lots * of scenarios where most transactions are done by automatic clients that * won't pay attention to warnings. (No, we're not gonna make this * configurable. If you know enough to configure it, you know enough to * not get in this kind of trouble in the first place.) */ I don't know about you, but I start getting antsy around a quarter tank. In any case, I'm told that even 40M transactions aren't enough time to react these days. Attached are a few patches to enhance the wraparound warnings. * 0001 adds a "percent remaining" detail message to the existing WARNING. The idea is that "1.86% of transaction IDs" is both easier to understand and better indicates urgency than "39985967 transactions". * 0002 bumps the warning limit from 40M to 100M to give folks some more time to react. * 0003 adds an early warning system for when fewer than 500M transactions remain. This system sends a LOG only to the server log every 1M transactions. The hope is that this gets someone's attention sooner without flooding the application and server log. Thoughts? -- nathan