[Pgsql-ayuda] trabajando con tablas temporales y plpgsql

Alvaro Herrera alvherre@dcc.uchile.cl
Fri, 17 Oct 2003 17:23:07 -0300


On Fri, Oct 17, 2003 at 05:03:16PM -0300, Fernando Papa wrote:

> Estoy trabajando con tablas temporarias... Hasta hace un par de meses,
> no hubo ningun inconveniente. Sin embargo, estabamos notando una caida
> en la performance de ciertos procedures (plpgsql).  Para ver cual era
> el cuello de botella dentro del procedure, empece a ejecutar de a una
> las sentecias, y para mi sorpresa, vi que la mayor parte de la
> ejecucion me la llevaba el "create table".

No me sorprende :-(
Después de un vacuum analyze a pg_class prueba lo siguiente:

SELECT relname, relpages FROM pg_class WHERE relname LIKE 'pg_class%' OR
relname LIKE 'pg_attribute%';

Después haz
REINDEX TABLE pg_class
REINDEX TABLE pg_attribute

(creo que tienes que irte a un servidor aislado para hacer eso -- mira
la referencia de REINDEX, tienes que detener el postmaster y usar
postgres -O -P
o algo así)

Y vuelve a probar la consulta anterior y el rendimiento de la creación
de tablas.

Por si te interesa saber, esto es un problema con los índices B-Tree que
fue corregido en 7.4.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Los románticos son seres que mueren de deseos de vida"