On Mon, May 2, 2016 at 12:30 PM, Alvaro Herrera <alvhe...@2ndquadrant.com> 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). > > While I understand that manual system catalog modifications are frowned > upon, it seems to me that we should handle this better. The failure is > very confusing and hard to diagnose, and hard to fix also.
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. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers