Subject: Fixing Integrity check errors

From: flik <[email-masked]>
Date: Mon, 14 Mar 2022 21:14:55 +0100

Hi!

What would be the best way to solve integrity errors (unique 
constraints) caused by a badly done dump/restore? My best guess as 
ignorant ass, it's simply to dump the current data (only), start a new 
project, apply the migrations and loading back data.
Given that the schema is exactly the same, would this work? If so, how 
can I do it with postgres?
I already tried to pg_dump --data-only but I keep getting weird errors.

Sorry if my message is confusing-confused, I'm quite new with databases!

---

From: Tom Lane <[email-masked]>
Date: Mon, 14 Mar 2022 17:33:02 -0400

> I already tried to pg_dump --data-only but I keep getting weird errors.

--data-only is really the source of your problem, probably.
If you do a normal (full) pg_dump and restore into an empty
database, then pg_dump should see to loading your data and
installing constraints in the correct order.  With --data-only
it can't make as many guarantees.

Usually, however, that only comes up with foreign key constraints.
If you're seeing unique-constraint failures then there might be
something else going on, such as
* you forgot to make sure the tables are empty before adding data
* or there's something corrupt about the indexes

			regards, tom lane