Обсуждение: BUG #5698: pg_dump (8.3.11) does not consider constrains
The following bug has been logged online: Bug reference: 5698 Logged by: Johannes Meidert Email address: johannes.meider@rohde-schwarz.com PostgreSQL version: 8.3.11, 9.0.1 Operating system: Windows Description: pg_dump (8.3.11) does not consider constrains Details: pg_dump dumps tables in the worng order for constraints (table a refrences key of table b, but table a is dumped first). As a consequence an import fails, because the required foreign key (in table b) is missing when table a is imported. Work around: import twice. Is this fixed in version 9.0?
On Fri, Oct 08, 2010 at 11:46:31AM +0000, Johannes Meidert wrote: > pg_dump dumps tables in the worng order for constraints (table a refrences > key of table b, but table a is dumped first). As a consequence an import > fails, because the required foreign key (in table b) is missing when table a > is imported. > Work around: import twice. > Is this fixed in version 9.0? Could you give details of exactly what pg_dump commands you used? By default pg_dump dumps tables and data without any constraints first, and then adds constraints in a valid order. If, however, you do something like dump the schema first, and then dump data into that schema, there's little pg_dump can do to avoid problems such as you describe. -- Joshua Tolley / eggyknap End Point Corporation http://www.endpoint.com
Re: BUG #5698: pg_dump (8.3.11) does not consider constrains
От
Johannes.Meidert@rohde-schwarz.com
Дата:
> On Fri, Oct 08, 2010 at 11:46:31AM +0000, Johannes Meidert wrote:
> > pg_dump dumps tables in the worng order for constraints (table a
refrences
> > key of table b, but table a is dumped first). As a consequence an
import
> > fails, because the required foreign key (in table b) is missing when
table a
> > is imported.
> > Work around: import twice.
> > Is this fixed in version 9.0?
>
> Could you give details of exactly what pg_dump commands you used? By
default
> pg_dump dumps tables and data without any constraints first, and then
adds
> constraints in a valid order. If, however, you do something like dump
the
> schema first, and then dump data into that schema, there's little
pg_dump can
> do to avoid problems such as you describe.
>
Thank you for the explanation.
I dumped with --data-only because my setup creates the tables in advance.
The correct procedure seems to be
if a database exists
dump db
import db
else
create tables