Re: dumping table contents in a sensible order
От | Adrian Klaver |
---|---|
Тема | Re: dumping table contents in a sensible order |
Дата | |
Msg-id | 07a80bb6-9750-2d4a-b39d-a0040e101903@aklaver.com обсуждение исходный текст |
Ответ на | dumping table contents in a sensible order (Chris Withers <chris@simplistix.co.uk>) |
Ответы |
Re: dumping table contents in a sensible order
|
Список | pgsql-general |
On 11/15/2016 02:56 PM, Chris Withers wrote: > Hi All, > > I have a database that I want to dump three tables from, for use in > development. They form a subset of the data, so I was dumping like this: > > pg_dump thedatabase --inserts -t table_one -t depends_on_table_one -t > depends_on_previous_two > dump.sql > > However, when I try to load this using the following: > > psql thedatabase_dev < dump.sql > > I get the following: > > SET > ERROR: unrecognized configuration parameter "lock_timeout" > SET > SET > SET > SET > ERROR: unrecognized configuration parameter "row_security" > SET > SET > SET > ERROR: relation "table_one" already exists > ALTER TABLE > ERROR: relation "depends_on_previous_two" already exists > ALTER TABLE > ERROR: relation "depends_on_previous_two_id_seq" already exists Use the -c switch as previously suggested. > ALTER TABLE > ALTER SEQUENCE > ALTER TABLE > INSERT 0 1 > ... > INSERT 0 1 > ERROR: insert or update on table "table_one" violates foreign key > constraint "table_one_parent_id_fkey" > DETAIL: Key (parent_id)=(xxx) is not present in table "table_one". > > So, the problem appears to be that table_one is self-referential by way > of a parent_id field. > > How can I either: > > - dump the table in an insertable order? Don't use --inserts, instead let the data be entered via COPY(the default) which does it a single transaction. > - have the load only apply the foreign key constraint at the end of each > table import? See previous suggestion. > > cheers, > > Chris > > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: