Thread: pg_constraint and constraint triggers

pg_constraint and constraint triggers

From
"Dave Page"
Date:
Hi all,

I couldn't find anything obvious in the archives, but if I dump a
database created in 7.2, then foreign keys are created using CREATE
CONSTRAINT TRIGGER statement. These do not appear to create entries in
pg_constraint in 7.3.x, so as the database is developed further, we end
up with 2 'styles' of fkeys in the catalogues.

This is a pain in pgAdmin III as we we're hoping to use pg_constraint
for simplicity (figuring out the fkeys in 7.2 was always fun :-) ). Is
there any way to get the required entries in the catalog easily, or
should I look at writing some code to generate them (or alternatively,
is there a reason why I shouldn't)?

Regards, Dave.



Re: pg_constraint and constraint triggers

From
Tom Lane
Date:
"Dave Page" <dpage@vale-housing.co.uk> writes:
> I couldn't find anything obvious in the archives, but if I dump a
> database created in 7.2, then foreign keys are created using CREATE
> CONSTRAINT TRIGGER statement. These do not appear to create entries in
> pg_constraint in 7.3.x, so as the database is developed further, we end
> up with 2 'styles' of fkeys in the catalogues.

contrib/adddepend/ is supposed to help out with upgrading definitions
loaded from old databases.  Possibly you could adapt its logic into
a "fix things" operation in pgAdmin.
        regards, tom lane



Re: pg_constraint and constraint triggers

From
"Dave Page"
Date:
It's rumoured that Tom Lane once said:
> "Dave Page" <dpage@vale-housing.co.uk> writes:
>> I couldn't find anything obvious in the archives, but if I dump a
>> database created in 7.2, then foreign keys are created using CREATE
>> CONSTRAINT TRIGGER statement. These do not appear to create entries in
>> pg_constraint in 7.3.x, so as the database is developed further, we
>> end up with 2 'styles' of fkeys in the catalogues.
>
> contrib/adddepend/ is supposed to help out with upgrading definitions
> loaded from old databases.  Possibly you could adapt its logic into a
> "fix things" operation in pgAdmin.

Ahh thanks. I had a browse through /contrib but obviously missed that.

Regards, Dave.