I understand that xmin is limited to 2^32-1, about 4 billion entries. Vacuum cleans up dead tuples, postgres maintains a transaction for every update to a row and those are cleaned up as a process of vacuum. Lets say, i am just inserting 5 billion records all independent transactions.
What is the dead tuple, in the above scenario?
When does the vacuum run automatically, around the 2 billion entries, what does it clean at this point?
what happens to the xmin for the 1st 2 billion records as the vacuum process starts ?
Let's say, i stored the xmin of the 100,000 transactions, as in keep pushing the insert transactions. After i inserted the 5 billion transactions, i want to query for all of my transaction after the 100,000 xmin and xmin < 500,000. Will this work?