Re: BUG #14888: Need to recheck contraints

From: Daniel Migowski <dmigowski(at)ikoffice(dot)de>
To: Piotr Stefaniak <postgres(at)piotr-stefaniak(dot)me>, "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #14888: Need to recheck contraints
Date: 2017-11-06 06:50:17
Message-ID: 41ED3F5450C90F4D8381BC4D8DF6BBDCD3A950D3@EXCHANGESERVER.ikoffice.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Okey,

my current workaround is just setting convalidated in pg_constraint to false just prior to checking it. Also nice because the constraint stays invalidated until fixed.

Regards,
Daniel Migowski

-----Ursprüngliche Nachricht-----
Von: Piotr Stefaniak [mailto:postgres(at)piotr-stefaniak(dot)me]
Gesendet: Montag, 6. November 2017 07:48
An: Daniel Migowski; pgsql-bugs(at)postgresql(dot)org
Betreff: Re: [BUGS] BUG #14888: Need to recheck contraints

On 2017-11-06 06:50, dmigowski(at)ikoffice(dot)de wrote:
> The is no way to VALIDATE constraints that PostgreSQL already thinks
> of as VALID. I would love a "force" option here, because when
> disabling all triggers there is still the possibility for errors and I
> would love to check our databases for them.
>
> How do I do it?

This is a feature request, but I need it too.

My work-around is to use a DO statement that iterates over pg_constraint to duplicate all interesting constraints giving each a new name and ends with a RAISE EXCEPTION 'OK'. If the execution ends with that "error", all constraints are valid. I guess you could wrap it into a BEGIN ...
ROLLBACK to get the same effect.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message mahmoud.alorfaly 2017-11-06 06:50:21 BUG #14889: explain analyze is taking much more time than actual execution
Previous Message Piotr Stefaniak 2017-11-06 06:48:05 Re: BUG #14888: Need to recheck contraints