From: | "Edgard Pineda" <epineda(dot)contact(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Problemas de rendimiento de vistas pg_* (catalogos) |
Date: | 2008-03-11 21:05:33 |
Message-ID: | d5c85db50803111405i2cb9a50di541c293bd3e5258f@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola, alguien sabe como se pueden acelerar las consultas sobre las
tablas o vistas pg_* cuando el servidor tiene carga?
Lo que pasa es que tengo consultas muy simples, como por ej. pedir el
listado de tablas de un eschema x, que se demoran varios minutos (!!)
cuando el servidor está cargado con una consulta de otro tipo que
realmente es gigante (que no involucra las pg_*).
Me imagino que dado a que son mini-mini tablas y vistas, debiesen
responder al instante. Son muy pocos datos involucrados (cuantos
esquemas y tablas habrán como mucho y normalmente en una BD? no es
para asustarse).
Existe alguna configuración o conceptos de "vista materializadas" para
acelerar consultas sobre las pg_*?
Gracias por toda ayuda.
Saludos,
Edgard Pineda.
Pd. Un ejemplo de una consulta que se demora varios minutos siendo tan simple:
SELECT c.relname, pg_catalog.pg_get_userbyid(c.relowner) AS relowner,
pg_catalog.obj_description(c.oid, 'pg_class') AS relcomment,
reltuples::integer,
(SELECT spcname FROM pg_catalog.pg_tablespace pt WHERE
pt.oid=c.reltablespace) AS tablespace
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind = 'r'
AND nspname='mi_tabla'
ORDER BY c.relname;
(La BD sólo se usa para leer datos, no se usa para hacer udpates)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-03-11 21:27:58 | Re: Cost-Based Vacuum |
Previous Message | Rodriguez Fernando | 2008-03-11 19:01:27 | Re: Demora mi consulta |