Re: Problemas Eliminando Trigger

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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