Re: Challenges preventing us moving to 64 bit transaction id (XID)?

From: Jim Finnerty <jfinnert(at)amazon(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Challenges preventing us moving to 64 bit transaction id (XID)?
Date: 2017-07-06 14:29:07
Message-ID: 1499351347212-5970238.post@n3.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

re: "The problem is if you want to delete from such a page. Then you need to
update the tuple's xmax and stick the new xid epoch somewhere."

When the xid's on a single page span a range of more than 2^32, as could
occur in the scenario above, then a single xid base value won't suffice. Do
we have a proposed solution for this problem?

If not, then allow me to put out a 'straw man' proposal: perhaps we could
mark such a row with a 'tombstone' that points off to some other page in yet
another page format that contains full 64-bit xids. Rows in this 64-bit xid
format page would all be deleted rows, and would be vacuumed away, along
with the tombstone row, when there are no more transactions that can see it.
Under the assumption that deletion of such very old rows is rare, this may
have very little impact on performance. One negative is that rarely
executed code can be a maintainability problem, but we can probably cope
with that.

Feel free to knock down this 'straw man' and propose something better!

--
View this message in context: http://www.postgresql-archive.org/Challenges-preventing-us-moving-to-64-bit-transaction-id-XID-tp5964779p5970238.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kaare Rasmussen 2017-07-06 14:47:33 Rust bindings to pgtypes lib
Previous Message Heikki Linnakangas 2017-07-06 13:48:26 Re: AdvanceXLInsertBuffer vs. WAL segment compressibility