From: | Chris Withers <chris(at)simplistix(dot)co(dot)uk> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | dumping table contents in a sensible order |
Date: | 2016-11-15 22:56:11 |
Message-ID: | 1529acd7-8454-959b-5199-dd92eb774504@simplistix.co.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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
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?
- have the load only apply the foreign key constraint at the end of each
table import?
cheers,
Chris
From | Date | Subject | |
---|---|---|---|
Next Message | Jerry Sievers | 2016-11-15 23:17:31 | Re: dumping table contents in a sensible order |
Previous Message | Rich Shepard | 2016-11-15 22:37:27 | Upgrade from 9.5.4 to 9.6.1 |