Re: DDL commands take forever
От
Merlin Moncure
Тема
Re: DDL commands take forever
Дата
Msg-id
b42b73150912291304v1199676ehbb0b5c4558e89ba1@mail.gmail.com
Ответ на
Re: DDL commands take forever (Leonardo M. Ramé)
Список
Дерево обсуждения
DDL commands take forever "Leonardo M." Ramé <l.rame@griensu.com>
Re: DDL commands take forever Bill Moran <wmoran@potentialtech.com>
Re: DDL commands take forever "Leonardo M." Ramé <l.rame@griensu.com>
Re: DDL commands take forever "Leonardo M." Ramé <l.rame@griensu.com>
Re: DDL commands take forever Merlin Moncure <mmoncure@gmail.com>
Re: DDL commands take forever "Leonardo M." Ramé <l.rame@griensu.com>
Re: DDL commands take forever Merlin Moncure <mmoncure@gmail.com>
Re: DDL commands take forever "Leonardo M." Ramé <l.rame@griensu.com>
Re: DDL commands take forever Merlin Moncure <mmoncure@gmail.com>
Re: DDL commands take forever "Leonardo M." Ramé <l.rame@griensu.com>
Re: DDL commands take forever Raymond O'Donnell <rod@iol.ie>
Re: DDL commands take forever Merlin Moncure <mmoncure@gmail.com>
2009/12/29 Leonardo M. : > El mar, 29-12-2009 a las 15:44 -0500, Merlin Moncure escribió: >> right. IIRC the zeos library has a transaction mode that controls if >> commits are explicit or invoked via the library commit method. either >> way, you you need to make sure that transactions are not left >> open...this can lead (as you noticed) to unexpected problems like >> blocking queries, performance problems, data loss, etc. >> >> if you notice the slow ddl issue again, throw an immediate select * >> from pg_locks and look for granted = f. If you find some and they >> match your pid, then you know that you have a transaction open that is >> blocking you. From there, it's just a matter if using pg_locks and >> pg_stat_activity to narrow down who/what is doing it. You should >> especially take note of 'idle in transaction' in >> pg_stat_activity...this is classic red flag of leaky application code. >> >> merlin > > I did the Select * from pg_locks right after your answer, and found that > almost all locks originated by my app have "granted = t", also, all are > in " in transaction". The interesting thing is the app is doing > only Selects, without opening transactions. ok, the problem is clear: find out why those happened (a client issued 'begin' without subsequent 'commit') and your problem will go away. Turn on sql logging if you have to. merlin
В списке pgsql-general по дате отправления