Thread: Fixing Integrity check errors

Fixing Integrity check errors

From
flik
Date:

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!

Re: Fixing Integrity check errors

From
Tom Lane
Date:
flik <flikreview@gmail.com> writes:
> 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.

--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