Re: Bloqueo de Tabla

From: Javier Fritz Aliste <jfritz(dot)aliste(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Bloqueo de Tabla
Date: 2010-07-28 21:28:17
Message-ID: AANLkTindX7s5PvLVrki2B+qgfMDkGsDOr1yjc2K7JONx@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola.

Para validar el tamaño fisico de la tabla busque el archivo con OID que me
muestra pgAdmin en mi caso el 197570

# ls -all -h | grep 197570
-rw------- 1 postgres postgres *56K* jul 28 16:03 197570

Este es el tamaño de la tabla??? 56K, sino como puedo saberlo?,
si es asi eso es muy bajo no creo que sea el problema.

en este momento tengo alrededor de 51 conexiones activas.
3 de ellas indican *idle in transaction*
2 de ellas indican *UPDATE waiting*

y el rendimiento general de la aplicacion al realizar consultas es bajo, y
sobre todo a la tabla sys_foldoccla.

estoy usando la version 8.3.3
pg_ctl (PostgreSQL) 8.3.3

La tabla no esta recibiendo ninguna consulta que modifique la estructura.
La aplicacion cliente solo ejecuta inserts/updates/select.

Que otra información puedo entregar para buscar alguna solucion???

slds. gracias

2010/7/27 Alvaro Herrera <alvherre(at)commandprompt(dot)com>

> Excerpts from Javier Fritz Aliste's message of mar jul 27 14:20:17 -0400
> 2010:
> > Hola a todos.
> >
> > Tengo el siguiente problema con una tabla.
> >
> > Esta tabla es utilizada para reserva el uso de un recurso, cada vez que
> un
> > usuario requiere uno de estos recursos mi sistema agrega un registro a
> esta
> > tabla para marcarlo como usado y eliminarlo cuando este es liberado.
> >
> > Una vez creado este registro se debe actualizar el campo fol_numero, (con
> un
> > numero que se calcula posteriormente).
> > Tengo casos en los que este segundos query queda en espera (muuuuuucho
> > tiempo hasta ~ 30min. ).
> >
> > Esta tabla maneja muy pocos registros al mismo tiempo (100~200), pero si
> > recibe muchos insert's/update's/delete's.
>
> Sospecho que la tabla está mal mantenida y tiene mucho espacio muerto
> que vacuum no puede recuperar. Normalmente un vacuum de una tabla de
> 200 registros debería ser casi instantáneo, así que si se está demorando
> 30 minutos, entonces hay un problema serio.
>
> Verifica el tamaño físico de la tabla. Si es muy grande, debes corregir
> el problema del espacio muerto (posiblemente usando CLUSTER).
>
> Por otro lado, autovacuum NO BLOQUEA insert/update/delete. Yo creo que
> autovacuum está siendo bloqueado por alguna otra operación, quizás un
> ALTER TABLE o algo así. Verifica en pg_locks WHERE granted=f.
>
> ¿qué versión de Postgres estás usando?
>

--
Javier Fritz

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2010-07-28 21:50:32 Re: Cambiar nombre a schema public
Previous Message Marcos Luis Ortiz Valmaseda 2010-07-28 20:58:37 Re: Cambiar nombre a schema public