Re: Postgres processes getting stuck (bug?)

Поиск
Список
Период
Сортировка
От Bob Lunney
Тема Re: Postgres processes getting stuck (bug?)
Дата
Msg-id 56E1377C-961F-477C-99C3-A683800A04DF@meetme.com
обсуждение исходный текст
Ответ на Postgres processes getting stuck (bug?)  (Ciprian Grigoras <ciprian.grigoras@vitals.com>)
Список pgsql-general
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() didnt 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.grigoras@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

В списке pgsql-general по дате отправления:

Предыдущее
От: Ciprian Grigoras
Дата:
Сообщение: Postgres processes getting stuck (bug?)
Следующее
От: Dustin Kempter
Дата:
Сообщение: Primary Keys