Re: PG_update to 9.0.4 in ubuntu lucid 64

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: PG_update to 9.0.4 in ubuntu lucid 64
Дата
Msg-id 201102232337.p1NNbfc05564@momjian.us
обсуждение исходный текст
Ответ на Re: PG_update to 9.0.4 in ubuntu lucid 64  (Bruce Momjian <bruce@momjian.us>)
Ответы Re: PG_update to 9.0.4 in ubuntu lucid 64  (Bernhard Rohrer <graylion@sm-wg.net>)
Список 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@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

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

В списке pgsql-admin по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: PG_update to 9.0.4 in ubuntu lucid 64
Следующее
От: H S
Дата:
Сообщение: BLP Model on Postgresql