Обсуждение: timeout for a transaction

Поиск
Список
Период
Сортировка

timeout for a transaction

От
HYip
Дата:
I have a connection opened, and begin a transaction.  If tomcat or web
server dies for no reasons, I found that in the backend, there is a
postgresql  server process waiting for the transaction to complete.  It
blocks all my database calls because of this waiting process.  I have to
manually kill that waiting process to unlock the database.

Is there any way of setting a timeout for the transaction?  How come the
postgresql  server doesn't detect the client dies, rollback and release
the resources?

I want the system be able to do it automatically.   Any suggestions?

Thanks,
Percy




Re: timeout for a transaction

От
Tom Lane
Дата:
HYip <hualinyip@earthlink.net> writes:
> I have a connection opened, and begin a transaction.  If tomcat or web
> server dies for no reasons, I found that in the backend, there is a
> postgresql  server process waiting for the transaction to complete.  It
> blocks all my database calls because of this waiting process.

The backend will abort its transaction and exit when it observes closure
of the client connection.  If your webserver is holding open the TCP
connection even after it's stopped processing your script, then you'd
best fix the webserver.

            regards, tom lane