Check the wait state for the backend process.  I’ve seen this happen when a 
process ran a per-row trigger that tried to connect to something else, and it 
filled the ip_conntrack table.  So, kernel level wait along with a whole bunch 
of locks on the table in question.  

Running pg_terminate_backend() didn’t work, as the signal queued behind the 
kernel wait.  We had to bounce the database to get rid of the problem.  
Immediately afterwards we disabled the trigger.

HTH,

Bob Lunney

> On Apr 29, 2016, at 1:30 PM, Ciprian Grigoras <ciprian.grigo...@vitals.com> 
> wrote:
> 
> Hi guys,
> 
> I had a question. We're running Postgresql 9.0.7 , and all of a sudden we 
> started seeing unexpected behavior. One table got locked after we ran one 
> simple INSERT on one test item.
> Nothing else was running against that table as far as we know, and the query 
> is frozen there now. After some time we tried to terminate it forcefully 
> (pg_terminate_backend), ran that and the return of the command is "true" but 
> the query still stays on, shows up on pg_stat_activity etc.
> Reading from the table is fine, but we believe any other inserts / updates 
> are not possible.
> 
> Restarting the Postgresql server is not an option at this moment, since it's 
> a production box and another high-demand database is running from that.
> 
> Has anyone seen a similar issue (maybe a bug in the 9.0 version ?) where 
> simple statements don't finish and get locked there and can't be killed by 
> the pg_terminate_backed ? What is the cause of this ?
> Any reasonable way to find out more details on what caused this, how to 
> prevent it in the future, and how it can be fixed sensitively now ? Thanks !
> 
> just fyi, checking the data in the "pg_locks" (for that process that is 
> frozen), shows a bunch of rows all with the same virtualtransactionid. Only 
> one of them has the mode of "ExclusiveLock" (the only record there with a 
> locktype of "virtualxid"), a few have the "RowExclusiveLock" mode and the 
> vast majority have the "AccessShareLock" mode.
> 
> Thanks,
> Ciprian

Reply via email to