diego10
diego10

Reputation: 573

Postgresql - detect changes and call webservice

I have a PostgreSQL database. What I want to do is, detect any changes (insert, update) that happen in the database and then call a webservice. How could I do this?

Thanks in advance for any help.

Upvotes: 43

Views: 33880

Answers (1)

Henning
Henning

Reputation: 16349

You should be able to use triggers and the listen/notify functionality in PostgreSQL to achieve something like this:

  1. A set of insert/update/delete triggers create a notification event whenever anything changes in your table, using the created/changed/deleted ID as the payload.

  2. A background process checks for notifications periodically (here's an example using Java/JDBC), and then loads the changed record from the database to do the web service call.

This is not in any way a real-time push-type system, but you have to poll the database for notification events to trigger the webservice call. It will do the trick, though.

Upvotes: 27

Related Questions