On Thu, Sep 4, 2014 at 03:48:17PM -0400, Robert Haas wrote: > On Thu, Sep 4, 2014 at 3:35 PM, Bruce Momjian <br...@momjian.us> wrote: > >> At any rate, I've additionally observed that the relation which is blowing > >> up > >> pg_upgrade is a VIEW in the source cluster but gets created as a TABLE in > >> the > >> upgraded cluster, which may better explain why it had no toast table > >> before and > >> now it does. Is this some kind of expected behavior for views? > > > > Uh, it certainly should not be creating a table instead of a view, > > though it will get a pg_class entry. > > Actually, there's a way this can happen. If you create two (or more) > views with circular dependencies between them, then pg_dump will emit > commands to create one of them as a table first, then create the > others as views, then convert the first table to a view by adding a > _SELECT rule to it.
Wow, that's super-interesting. > If pg_upgrade's logic can't cope with that, that's a bug in > pg_upgrade, because there's no other way to restore views with > circular dependency chains. I don't see why pg_upgrade would have any problem with it as it just looks at the old schema and post-restore schema. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers