Robert Haas wrote:
> On Mon, May 2, 2016 at 12:30 PM, Alvaro Herrera
> <> wrote:
> > A customer of ours was unable to pg_upgrade a database, with this error:
> >
> >   old and new databases "postgres" have a mismatched number of relations
> >   Failure, exiting
> >
> > After some research, it turned out that pg_largeobject had acquired a
> > toast table.  After some more research, we determined that it was
> > because right after initdb of the old database (months or years prior)
> > they moved pg_largeobject to another, slower tablespace, because for
> > their case it is very bulky and not used as much as the other data.
> > (This requires restarting postmaster with the -O parameter).

> I think that if you use -O, and it breaks something, you get to keep
> both pieces.  pg_largeobject is a big problem, and we should replace
> it with something better.  And maybe in the meantime we should support
> moving it to a different tablespace.  But if it's not officially
> supported and you do it anyway, I don't think it's pg_upgrade's job to
> cope.

I'm happy with the solution that pg_upgrade has a step in the check
stage that says "catalog XYZ has a toast table but shouldn't, aborting
the upgrade".  (Well, not _happy_, but at least it's a lot easier to

Álvaro Herrera      
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to