Re: Constraint Triggers request - Mailing list pgadmin-support

From Andreas Pflug
Subject Re: Constraint Triggers request
Date
Msg-id 44622B0C.502@pse-consulting.de
Whole thread Raw
In response to Re: Constraint Triggers request  ("Donald Fraser" <postgres@kiwi-fraser.net>)
List pgadmin-support
Donald Fraser wrote:
>> Donald Fraser wrote:
>>     
>>> Do you think in a later version you can show non-system constraint
>>> triggers that have been created by the user via:
>>> CREATE CONSTRAINT TRIGGER ?
>>>       
>
> Andreas Pflug wrote:
>   
>> Definitively not. Creating constraint triggers directly is horribly
>> outdated (pre-7.3), and still available for backwards compatibility
>> only. Use contrib/adddepend to fix your database.
>>     
>
> I'm not talking about old versions of PostgreSQL that have been upgraded to
> later versions.
> Prior to version 8.x.x all AFTER trigger events were deferred until the end
> of all statements for the current transaction.
> As of version 8.x.x AFTER trigger events occur after each statement in the
> transaction - basically they are not deferred any more.
> Unfortunately, for some of us, having deferred AFTER trigger events was a
> nice feature.
> There are some things you simply cannot do unless the trigger event is
> deferred! I shouldn't need to qualify that statement, but the fact that
> referential integrity requires them points out one example of when its nice
> to have deferred trigger events.
> Moving forward I am trying to upgrade a 7.4.x system to 8.0.x and I cannot
> upgrade it without converting a lot of trigger functions from standard AFTER
> trigger events to constraint trigger events, simply because I need them to
> be deferred until the end of the transaction.
> So after converting these "normal" trigger functions to "constraint" trigger
> functions they disappear from view in pgAdmin...
> They are not system generated trigger functions, they are not missing any
> dependencies, they are there in that form because I need them to be there
> and I created them using a PostgreSQL command "CREATE CONSTRAINT TRIGGER..."
> I know that the documentation says "...It is not intended for general use."
> Personally I don't see what's wrong with deferred trigger events, they are
> useful, PostgreSQL already supports them, there is no other way of creating
> deferred events yet!
>   

I'm still disinclined to offer this to the normal pgadmin user. 
constraint triggers are internal implementation details, subject to 
change without prior notice blablabla. I didn't follow the deferred 
constraint discussion back then, but I really wonder why there's no such 
option for CREATE TRIGGER. How about contacting pgsql-hackers, maybe 
this could go into 8.2.

Regards,
Andreas



pgadmin-support by date:

Previous
From: "alexis83@mail.ru"
Date:
Subject: Possible bug.
Next
From: blacknoz@club-internet.fr
Date:
Subject: Re: Re: [pgadmin-support] Demande de su pport en français