Triggers for FK on Views - can they be made deferrable?

Started by ezra epsteinover 22 years ago3 messagesgeneral
Jump to latest
#1ezra epstein
ee_newsgroup_post@prajnait.com

I've got the case of a table which has unusual FK constraints. I'm
implementing them as triggers against a view. It all works, BUT I don't see
a way to make the triggers executed only on Commit -- i.e., I'd like the
same "deferrable" behavior that true FKs provide. Does anyone know how to
do this?

Thanks,

Ezra E.

#2Jan Wieck
JanWieck@Yahoo.com
In reply to: ezra epstein (#1)
Re: Triggers for FK on Views - can they be made deferrable?

There is a way to create them as CONSTRAINT triggers. It's totally
non-standard, not guaranteed to exist in future releases, yadda, yadda.
But it get's you where you want to be now().

Jan

ezra epstein wrote:

I've got the case of a table which has unusual FK constraints. I'm
implementing them as triggers against a view. It all works, BUT I don't see
a way to make the triggers executed only on Commit -- i.e., I'd like the
same "deferrable" behavior that true FKs provide. Does anyone know how to
do this?

Thanks,

Ezra E.

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #

#3Ezra Epstein
news-reader@prajnait.com
In reply to: ezra epstein (#1)
Re: Triggers for FK on Views - can they be made deferrable?

Hi Jan,

Thanks for the reply. I did come across the CREATE CONSTRAINT TRIGGER
doc page after my posting. It's not too well documented and seems to want
various parameters yet it's not clear what they'd be, so any pointers are
appreciated. My other two approaches were:

(a) Update the pg_trigger table, setting tgdeferrable and
tginitdeferred
accordingly (--hey, if you're gonna live on the wild side....)

(b) Force users to make changes via a stored proc/function that
sort-of does what I want. (Not ideal, but stays on the "safe" side of
everything.)

EE

"Jan Wieck" <JanWieck@Yahoo.com> wrote in message
news:3FE71BB5.1080809@Yahoo.com...

There is a way to create them as CONSTRAINT triggers. It's totally
non-standard, not guaranteed to exist in future releases, yadda, yadda.
But it get's you where you want to be now().

Jan

ezra epstein wrote:

I've got the case of a table which has unusual FK constraints. I'm
implementing them as triggers against a view. It all works, BUT I don't

see

a way to make the triggers executed only on Commit -- i.e., I'd like the
same "deferrable" behavior that true FKs provide. Does anyone know how

to

Show quoted text

do this?

Thanks,

Ezra E.

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend