How to kill process "idle in transaction"

From: "Patrick De Zlio" <pchemla01(at)gmail(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: How to kill process "idle in transaction"
Date: 2007-10-30 08:45:16
Message-ID: 58729a240710300145m4457f63euc15007893e8a805c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hi,

We are running PostgreSQL 8.2.4 with quite highly updated millions rows
tables.

It comes sometimes to get some "idle in transaction" processes, which
doesn't have first really viewable effect out of giving very bad estimated
numbers for pgclass.reltuples and, if we let them run as it is, block the
autovacuum from releasing rows, and after few days some worse problems.

Now we are able to detect these "idle in transaction" processes, but what to
do with them ?

What to do to avoid such situation? How to find the bad request which put
the process in this state? From the time it is idle in transaction, we can't
see the query in the pg_lock table anymore.

How to deal with such process when it is already idle in transaction? can we
simply kill it? It is a backend from pgpool. Can we simply restart it (how)
without restarting all the database?

Thanks for help

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Achilleas Mantzios 2007-10-30 09:11:01 Re: How to kill process "idle in transaction"
Previous Message Phillip Smith 2007-10-30 04:43:03 Re: High system CPU usage during query run