possible new feature: asynchronous sql or something like oracles dbms_job.submit

Started by Vorarlbergerover 14 years ago2 messages
#1Vorarlberger
vorarlberger@gmail.com

hi

i switched back from oracle xe for many reasons and because the lack of
pl/java in oralce xe. and posgesql is the best open source db i know! sadly
what i realy miss is the possibility of asynchronous sql. which means the
need to perform an sql in a completely different new session. something i
could do in oracle with dbms_job.submit.

there are may reasons for the need of this feature and not because of the
scheduler. just one actual need: assume you have a table and every time
something gets inserted you want to notify another pq-application. lets say
this table is part of your crm application. but every new inserted customer
is an interesting part of your accounting application. instead of time
scheduling or polling you could use asynchronous sql. simply add a trigger
on your customer table and execute the add_customer_to_accounting pgsql
interface in its own session. if it fails it is not the fault of the crm
application and should not raise a exception and rollback. and of course
triggering an interface for a foreign application should not be in the
native transaction. also your crm application do not want to wait on every
insert for a interface to complete.

before someone is going to say this is a q. no its not realy a q - because
you do not need a consumer daemon. there is absolutely no need for an
additional daemon. you simply trigger a procedure and send it to the
background like you would do in a unix shell. you can also use dbms_jobs for
parallel execution or to recalculate material views.

so what i would like to ask you if you can feel comfortable with this idea
and possible implement this into postgres 10.x?

thanks and cheers
chris

#2Joe Conway
mail@joeconway.com
In reply to: Vorarlberger (#1)
Re: possible new feature: asynchronous sql or something like oracles dbms_job.submit

On 08/03/2011 09:20 AM, Vorarlberger wrote:

sadly what i realy miss is the possibility of asynchronous sql. which
means the need to perform an sql in a completely different new session.
something i could do in oracle with dbms_job.submit.

Would this work for you?
http://www.postgresql.org/docs/9.0/interactive/contrib-dblink-send-query.html

Joe

--
Joe Conway
credativ LLC: http://www.credativ.us
Linux, PostgreSQL, and general Open Source
Training, Service, Consulting, & 24x7 Support