| From: | Bruce Momjian <bruce(at)momjian(dot)us> |
|---|---|
| To: | Jeff Davis <pgsql(at)j-davis(dot)com> |
| Cc: | RhodiumToad on IRC <andrew(at)tao11(dot)riddles(dot)org(dot)uk>, Robert Haas <robertmhaas(at)gmail(dot)com>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: pg_upgrade bug found! |
| Date: | 2011-04-07 21:06:42 |
| Message-ID: | 201104072106.p37L6gl25454@momjian.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
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 <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2011-04-07 21:12:34 | Re: pg_upgrade bug found! |
| Previous Message | Jan Urbański | 2011-04-07 21:06:38 | Re: [COMMITTERS] pgsql: Add traceback information to PL/Python errors |