Matt Doucleff <matt(at)digitalfountain(dot)com> writes:
> For example, say I want to create a file when a row is inserted, and
> modify that file when the row is modified. If a transaction fails, I
> need to undo my changes to the filesystem.
Unless you want to implement your own undo log, I'd suggest rethinking
this. What you really want is a trigger fired at commit time, ie a
deferred trigger, so that you don't have to worry about rolling back
your outside actions. I believe we have that facility for foreign key
triggers, not sure if it's available for general use yet ...
regards, tom lane