| From: | "Leonardo M(dot)" Ramé <l(dot)rame(at)griensu(dot)com> | 
|---|---|
| To: | Merlin Moncure <mmoncure(at)gmail(dot)com> | 
| Cc: | pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: DDL commands take forever | 
| Date: | 2009-12-29 20:59:27 | 
| Message-ID: | 1262120367.3102.76.camel@leonardo-laptop | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
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 "<IDLE> in transaction". The interesting thing is the app is doing
only Selects, without opening transactions.
-- 
Leonardo M. Ramé
Griensu S.A. - Medical IT Córdoba
Tel.: 0351-4247979
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Merlin Moncure | 2009-12-29 21:04:21 | Re: DDL commands take forever | 
| Previous Message | Merlin Moncure | 2009-12-29 20:44:59 | Re: DDL commands take forever |