A patch was done for replication hooks which implements global database-level triggers for connection startup and shutdown, and transaction begin, commit, and rollback; they may help you out in this situation.
First, apologies if my question is a bit off-course. Please feel free to direct me to a different mailing list if not appropriate.
I'm currently trying to embed Senna full text search engine ( http://qwik.jp/senna/) into postgres. I'm trying to achieve this by using triggers (implemented in C) to cause an update to senna's index at various points.
This seemed to work fine until I realized that while postgres' SQL commands could be rolled back, Senna's index remained already-changed. There are other potential issues with regards to transaction safety, but currently this seems to be a problem that I cannot fix by simply patching Senna. So I thought that if there was a rollback trigger, I could call whatever necessary to undo the changes that were made to the index.
A quick scan of the docs and the source code tree seems to indicate that there is no such thing as a rollback trigger, short of hacking it.
Now, I'm wondering: 1. Is there a rollback/commit trigger? If not, is it planned to be implemented at all? 2. Is there a way to undo changes to data external to postgres when a rollback occurs, OR, only update that external data when a commit occurs?
Thanks in advance, --d
---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ?