Re: BUG #18384: It's not bug just question about documentation

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: junhkang91(at)gmail(dot)com
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #18384: It's not bug just question about documentation
Date: 2024-03-08 15:28:26
Message-ID: 794154.1709911706@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

PG Bug reporting form <noreply(at)postgresql(dot)org> writes:
> "The internal transaction ID type xid is 32 bits wide and wraps around every
> 4 billion transactions."
> "it is necessary to vacuum every table in every database at least once every
> two billion transactions."

> why Postgresql needs to vacuum in every 2B transactions even though txid
> wraps on every 4 billion transactions (double time)?

Because an XID that's more than 2B transactions in the past will wrap
around and be seen as a bit less than 2B transactions in the future,
causing any rows bearing that XID to become invisible to current
transactions.

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Hayato Kuroda (Fujitsu) 2024-03-09 04:50:02 RE: RE: Re:BUG #18369: logical decoding core on AssertTXNLsnOrder()
Previous Message Amit Kapila 2024-03-08 12:59:21 Re: RE: Re:BUG #18369: logical decoding core on AssertTXNLsnOrder()