Jeff Davis wrote: > On Thu, 2011-04-07 at 15:46 -0400, Bruce Momjian wrote: > > OK, so the only other idea I have is to write some pretty complicated > > query function that does a sequential scan of each toast table and pulls > > the earliest xmin/xmax from the tables and use that to set the > > relfrozenxid (pretty complicated because it has to deal with the freeze > > horizon and wraparound). > > That sounds like the correct way to fix the situation, although it's a > little more work to install another function just for this one-time > purpose. TransactionIdPrecedes() should already account for wraparound, > so I don't think that it will be too complicated (make sure to read > every tuple though, not just the ones currently visible).
I want to avoid anything that requires a compile because they are hard for many sites to install so TransactionIdPrecedes() is out. We will need to do this in PL/pgSQL probably. > Stepping back a second to make sure I understand the problem: the only > problem is that relfrozenxid on the toast table after an upgrade is > wrong. Correct? Yes, it was not restored from the old cluster. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers