pg_resetwal: do not allow zero next multixact offset
Offset 0 is the "invalid" marker in pg_multixact/offsets since offsets
went 64-bit and the allocator stopped skipping it. pg_resetwal could
still produce it via -O 0 or guessed control values, breaking the first
multixact created after the reset ("MultiXact n has invalid offset",
and vacuum of the affected table fails from then on). Reject -O 0 like
-m and -o already do, and guess 1 like initdb does.
Author: Zsolt Parragi <[email protected]>
Discussion:
https://www.postgresql.org/message-id/CAN4CZFNoO6MUkg526TmA=mc_rjy2gp4vkcnvk6y12v3ppok...@mail.gmail.com
Backpatch-through: 19
Branch
------
REL_19_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/31974f64f029a29a6d7eeeb3f870030beee2066f
Modified Files
--------------
src/bin/pg_resetwal/pg_resetwal.c | 6 +++++-
src/bin/pg_resetwal/t/001_basic.pl | 4 ++++
2 files changed, 9 insertions(+), 1 deletion(-)