Re: PG_update to 9.0.4 in ubuntu lucid 64

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Bernhard Rohrer <graylion(at)sm-wg(dot)net>, Bernhard Schrader <bernhard(dot)schrader(at)innogames(dot)de>, pgsql-admin(at)postgresql(dot)org
Subject: Re: PG_update to 9.0.4 in ubuntu lucid 64
Date: 2011-02-23 23:37:40
Message-ID: 201102232337.p1NNbfc05564@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Bruce Momjian wrote:
> Bernhard Rohrer wrote:
> > Thanks that worked. :)
> >
> > After this and some more entertainment we are now here:
> >
> > Restoring database schema to new cluster
> > psql:/usr/lib/postgresql/9.0/bin/pg_upgrade_dump_db.sql:24606: ERROR:
> > column "name" in child table must be marked NOT NULL
> >
> >
> > There were problems executing "/usr/lib/postgresql/9.0/bin/psql" --set
> > ON_ERROR_STOP=on --no-psqlrc --port 5432 --username "postgres" -f
> > "/usr/lib/postgresql/9.0/bin/pg_upgrade_dump_db.sql" --dbname template1
> > >> "/dev/null"
> >
> >
> > does that mean line24606? it looks like manual edititng required ...
>
> I checked the source code and the check it is failing on has this comment:
>
> /*
> * Check columns in child table match up with columns in parent, and increment
> * their attinhcount.
> *
> * Called by ATExecAddInherit
> *
> * Currently all parent columns must be found in child. Missing columns are an
> * error. One day we might consider creating new columns like CREATE TABLE
> * does. However, that is widely unpopular --- in the common use case of
> * partitioned tables it's a foot-gun.
> *
> * The data type must match exactly. If the parent column is NOT NULL then
> * the child must be as well. Defaults are not compared, however.
> */
> MergeAttributesIntoExisting()
>
> It seems somehow your schema is corrupt --- it is pg_dump that is
> failing, and threfore pg_upgrade. We need to find out how you got into
> that state. Do a manual pg_dump and see what table is being referenced
> on line 24606. It is saying that that table has a 'name' column that is
> not marked NOT NULL, while the parent table does have a NOT NULL
> specification. Those should match. I don't remember hearing about a
> bug in that area of the code.

FYI, you can easily reproduce the failure by trying to restore a pg_dump
--schema dump into an empty database.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message H S 2011-02-23 23:59:40 BLP Model on Postgresql
Previous Message Bruce Momjian 2011-02-23 23:22:25 Re: PG_update to 9.0.4 in ubuntu lucid 64