Re: vacum se queda bloqueado

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Jose Alberto Sanchez Nieto <albertosanchez(at)hiperusera(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: vacum se queda bloqueado
Date: 2009-10-23 16:30:01
Message-ID: 20091023163001.GF355@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Jose Alberto Sanchez Nieto escribió:
> Hola, ¿el analyze necesita que no haya transacciones pendientes como
> el idle transaction?, creía que era el vacum full el que necesitaba
> que no hubiese transacciones pendientes pero con el analyze si que
> se podía.

Si una transacción queda abierta tomando locks que entran en conflicto
con el lock que adquiere vacuum, naturalmente se va a quedar pegado.
Vacuum toma un lock que es bien liviano; no entra en conflicto con
SELECT, INSERT, UPDATE, etc. Pero sí entra en conflicto con otras cosas
como ALTER TABLE, o incluso otro VACUUM en la misma tabla.

VACUUM FULL toma un lock más agresivo, que bloquea incluso SELECT.

Nota: VACUUM y ANALYZE son dos operaciones independientes y separadas.
Existe una opción a VACUUM que es la opción ANALYZE, que hace ambas
cosas simultáneamente. Puedes ejecutar VACUUM <tabla> y va a hacer sólo
un vacuum normal. Puedes ejecutar ANALYZE <tabla> y va a hacer sólo un
analyze.

> La aplicación trabaja con hibernate y este el el que hace
> las consultas, he comprobado que haciendo desde la aplicación un
> simple select no sé como lo genera hibernate pero ya veo en el
> postgres un idle transaction para ese select, ahí ejecuto el analyze
> y se queda bloqueado, mato la sesión y continua. ¿Hay algún
> parámetro que pueda ejecutar antes del analyze para terminar con
> todas estos idle transaction y que se ejecute el analyze
> correctamente?

Creo que debes examinar el código con cuidado para que no queden
transacciones abiertas en ningún momento, y particularmente si tienen
locks.

--
Alvaro Herrera Valdivia, Chile Geotag: -39,815 -73,257
"Hoy es el primer día del resto de mi vida"

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message gilberto.castillo 2009-10-23 16:40:14 Re: SEGUNDO PGDAY Latinoamerica
Previous Message Ernesto Lozano 2009-10-23 16:23:43 Re: PGDAY LATINOAMERICA