From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Jose David Verbel Tous <jverbel(at)solati(dot)com(dot)co> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Problemas Eliminando Trigger |
Date: | 2013-05-09 16:48:39 |
Message-ID: | 20130509164839.GE29984@eldon.alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Jose David Verbel Tous escribió:
> Saludos,
>
> Como parte de un proceso de actualización de datos tenemos una sentencia de
> eliminación de un trigger. Esto venia haciéndose bien (Eliminarlo solo se
> tomaba unos segundos) hasta hace un par de días, en donde se esta tardando
> mas de 1 hora eliminando el trigger
Eliminar el trigger requiere tomar un lock AccessExclusive sobre la
tabla. Es decir ningún otro proceso puede tener tomado ningún lock de
ningún tipo; de lo contrario el DROP TRIGGER tendrá que esperar hasta
que todos los otros procesos hayan terminado. Si esto es lo que está
pasando, entonces deberías ver en pg_locks una fila con granted=f del
proceso corriendo el DROP TRIGGER sobre la tabla en cuestión. Si
aparece este lock, entonces lo que debes hacer es conseguir que los
otros procesos no tengan locks sobre esa tabla durante tanto tiempo.
Si esto no lo explica, entonces puede ser que tus catálogos (pg_class,
pg_trigger) estén llenos de tuplas muertas y necesiten VACUUM.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2013-05-09 16:50:02 | Re: No arranca postgresql |
Previous Message | Gilberto Castillo | 2013-05-09 16:39:40 | Re: No arranca postgresql |