Steve Crawford <scrawford@pinpointresearch.com> writes:
>>> I tracked down the process that was "idle in transaction" and it
>>> was a pg_dump process running on another machine.
>>
>> What was it waiting on?
> Beats the heck out of me. We periodically dump some selected small
> tables via a script using:
> pg_dump -i -h $dbhost -U $dbuser -t $dumptable > dumpfile
> It's very vanilla and generally works fine but sometimes (perhaps 1
> per 1000+ runs) ends up idle in transaction. I'm going to take a much
> closer look at pg_locks next time it happens.
If it is "idle in transaction" and not "<something> waiting" then it is
not blocked waiting for someone's lock, so pg_locks is unlikely to yield
the answer. I think it's got to be something funny on the pg_dump side.
Or maybe a communications problem?
regards, tom lane