El 02/04/2013 21:44, Yoan Manuel Perez Piñero escribió:
Buenas tardes lista...tengo una duda, yo sé que puedo saber el tamaño que tiene
una base de datos con esta consulta:
SELECT
pg_database.datname,
pg_size_pretty(pg_database_size(pg_database.datname)) AS pretty_size FROM
pg_database ORDER BY pg_database.datname;
Entonces mi duda es que quiero saber ese tamaño en qué está dividido, o sea,
una parte del espacio debe ser de los índices, otra de los datos, etc...cómo
puedo saber el desglose de ese tamaño total.
Saludos.
http://www.uci.cu
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
http://www.uci.cu
prueba con esto, aquí incluye si hay algo en el toast.
saludos
SELECT nspname, relname,
pg_size_pretty(tablesize+toastsize) AS tabla,
pg_size_pretty(indexsize+toastindexsize) AS indice
FROM
(SELECT ns.nspname, cl.relname, pg_relation_size(cl.oid) AS tablesize,
COALESCE((SELECT SUM(pg_relation_size(indexrelid))::bigint
FROM pg_index WHERE cl.oid=indrelid), 0) AS indexsize,
CASE WHEN reltoastrelid=0 THEN 0
ELSE pg_relation_size(reltoastrelid)
END AS toastsize,
CASE WHEN reltoastrelid=0 THEN 0
ELSE pg_relation_size((SELECT reltoastidxid FROM pg_class ct
WHERE ct.oid = cl.reltoastrelid))
END AS toastindexsize
FROM pg_class cl, pg_namespace ns
WHERE cl.relnamespace = ns.oid
AND ns.nspname NOT IN ('pg_catalog', 'information_schema')
AND cl.relname IN
(SELECT table_name FROM information_schema.tables
WHERE table_type = 'BASE TABLE')) ss
ORDER BY tablesize+indexsize+toastsize+toastindexsize DESC;
http://www.uci.cu
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda