Re: problem urgent - please help - Mailing list pgsql-jdbc

From Michael Paesold
Subject Re: problem urgent - please help
Date
Msg-id 46AAE9CB.7090700@gmx.at
Whole thread Raw
In response to Re: problem urgent - please help  (Guy Rouillier <guyr-ml1@burntmail.com>)
List pgsql-jdbc
Guy Rouillier wrote:
> vbhatia@ksu.edu wrote:
>> I have written a Java application that reads the data from a postgresql
>> database and retrieves a particular field, performs some actions on
>> that field and finally store the calculated data in some other
>> table.The postgresql database, however is changing continuously , since
>> new data is being added every minute. My problem is that I want to
>> write some trigger in my java application that would be invoked as soon
>> as there is a change in the database and perform the above actions for
>> that newly added row.
>
> You can write a trigger in Java.  If you're asking if a trigger in
> PostgreSQL can invoke your standalone Java program, the short answer is
> no.  You can probably rig something up using an untrusted PL language,
> though.  There is no untrusted Java implementation, though, so you'd
> have to use another one to implement the glue code.  Sounds like your
> best bet would be to write a trigger in Java, and just run the whole
> thing in the DB.

Another option would be to use LISTEN/NOTIFY. You would have a Java thread
LISTENING on events, and use triggers on tables (e.g. using PL/pgSQL) to
NOTIFY the thread on updates. Than the Java code can do what ever is needed.

See the documentation (Server):
http://www.postgresql.org/docs/8.2/static/sql-listen.html
http://www.postgresql.org/docs/8.2/static/libpq-notify.html
And for the JDBC interface:
http://jdbc.postgresql.org/documentation/82/listennotify.html

Perhaps that helps.

Best Regards
Michael Paesold

pgsql-jdbc by date:

Previous
From: Guy Rouillier
Date:
Subject: Re: problem urgent - please help
Next
From: Kris Jurka
Date:
Subject: Re: pt_BR translation updates