Re: Fixes inconsistent behavior in vacuum when it processes multiple relations
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: shihao zhong <zhong950419@gmail.com>
Cc: Nathan Bossart <nathandbossart@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2025-06-25T22:47:22Z
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 →
-
Rationalize handling of VacuumParams
- 2252fcd4276c 19 (unreleased) landed
-
Avoid scribbling of VACUUM options
- 65c3223f93a0 13.22 landed
- c079ba3fc2a4 14.19 landed
- 354944663df3 15.14 landed
- d187cabddadc 16.10 landed
- 2e0b5d252b10 17.6 landed
- 661643dedad9 18.0 landed
On Wed, Jun 25, 2025 at 01:12:02PM -0400, shihao zhong wrote: > Just want to make sure, are we not going to include my original test > to catch the future regression? Also, could someone please let me know > how to check if the test is stable or not? On stable branches, you could reuse the patch I have posted upthread, even if it is not included in the tree. On HEAD and v17, you can run the tests of src/test/modules/injection_points/ with --enable-injection-points set. Making the index cleanup stable takes a certain amount of cycles because it requires a minimum amount of data, particularly for the btree of a TOAST index. The truncation check is halfly stable: it is possible to check that a truncation does not happen, but it can still be slightly unstable because the option may not trigger all the time. So, while the test success rate is perhaps close to 90%, with this rate going down on slower machines, it is just cheaper and more reliable to check directly the contents of VacuumParams. Note that your original set of tests only covered the case of multiple relations, and it missed coverage for the TOAST relation vacuumed after its main relation. -- Michael