From: | PG Doc comments form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-docs(at)lists(dot)postgresql(dot)org |
Cc: | knut(dot)b(dot)haus(at)gmail(dot)com |
Subject: | Minor necessary/sufficient slip-up? |
Date: | 2025-09-02 08:22:12 |
Message-ID: | 175680133226.771.1421809976333381466@wrigleys.postgresql.org |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-docs |
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/17/routine-vacuuming.html
Description:
This is a most pedantic point, but since the postgres documentation is
incredibly accurate and well written I indulge my pedantry this one time:
Regarding the last sentence of the first paragraph of 24.1.5: I sure hope
vacuuming every table in every database at least once every two billion
transactions is not only necessary to avoid catastrophic data loss, but also
sufficient. Indeed if I understand the subsequent explanation, it is
sufficient but not necessary.
Here is the full paragraph:
24.1.5. Preventing Transaction ID Wraparound Failures
PostgreSQL's MVCC transaction semantics depend on being able to compare
transaction ID (XID) numbers: a row version with an insertion XID greater
than the current transaction's XID is “in the future” and should not be
visible to the current transaction. But since transaction IDs have limited
size (32 bits) a cluster that runs for a long time (more than 4 billion
transactions) would suffer transaction ID wraparound: the XID counter wraps
around to zero, and all of a sudden transactions that were in the past
appear to be in the future — which means their output become invisible. In
short, catastrophic data loss. (Actually the data is still there, but that's
cold comfort if you cannot get at it.) To avoid this, it is necessary to
vacuum every table in every database at least once every two billion
transactions.
Suggested change for the last sentence:
To avoid this, it suffices to vacuum every table in every database at least
once every two billion transactions.
Bets regards,
Knut Bjarte Haus
From | Date | Subject | |
---|---|---|---|
Next Message | Artem Gavrilov | 2025-09-02 09:22:15 | Re: Inaccurate statement about log shipping replication mode |
Previous Message | Laurenz Albe | 2025-09-02 07:34:20 | Re: Inaccurate statement about log shipping replication mode |