François Beausoleil <franc...@teksol.info> wrote:

> What is the difference between both?

> I had some processes stuck in IDLE in transaction after a machine
> died (through pgbouncer), and cancel did not close the
> connections, while terminate did kill the transactions.

> The docs at
> http://www.postgresql.org/docs/9.1/static/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE
> [...]

According to the docs you cite:

pg_cancel_backend(): Cancel a backend's current query
pg_terminate_backend(): Terminate a backend

A connection which is idle or idle in transaction does not have a
current query to cancel, but it has a backend process which can be
terminated.

--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to