Re: TRUNCATE y tiempos

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Yacatematrix <yacatematrix(at)gmail(dot)com>
Cc: Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: TRUNCATE y tiempos
Date: 2007-03-12 19:34:23
Message-ID: 20070312193423.GD7700@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Yacatematrix escribió:
> Hola listeros!!!
>
> Espero esten bien!!!
>
> El motivo de este mail es por la siguiente duda.
>
> Tengo montado Postgresql 8.2.3 sobre un win2003 server y depsues de realizar
> algunas transacciones debo realizar TRUNCATE a algunas tablas y se queda
> pasamado, asi que debo cancelar la transaccion, reiniciar el servicio y
> repetir el proceso y solo asi funciona sin problemas. Alguien sabe a que se
> debe eso?? Me seria de gran ayuda su apoyo.

Una operacion TRUNCATE es casi instantanea. Lo que se demora es obtener
el lock sobre la tabla que vas a truncar. Obviamente, si reinicias el
servicio matas todos los otros clientes, lo cual significa que el
TRUNCATE puede obtener el lock de inmediato, y por eso es mucho mas
rapido.

Creo que lo que debes hacer es averiguar quien esta dejando tomado el
lock durante tanto tiempo. Puedes usar la vista pg_locks para
averiguarlo.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message felix gonzales 2007-03-12 19:46:07 numero de dias hábiles
Previous Message Alvaro Herrera 2007-03-12 19:25:44 Re: Error 42601 al crear una funcion