From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Marcos Ortiz <mlortiz(at)uci(dot)cu> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Encontrar los índices menos usados en PostgreSQL 9.1 |
Date: | 2013-02-05 16:21:55 |
Message-ID: | 20130205162155.GB5753@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Marcos Ortiz escribió:
> SELECT idstat.relname AS table_name,
> indexrelname AS index_name,
> idstat.idx_scan AS times_used,
> pg_size_pretty(pg_relation_size(idstat.relname)) AS
> table_size,
> pg_size_pretty(pg_relation_size(indexrelname)) AS
> index_size,
> n_tup_upd + n_tup_ins + n_tup_del AS num_writes,
> indexdef AS definition
> FROM pg_stat_user_indexes AS idstat
> JOIN pg_indexes ON indexrelname = indexname
> JOIN pg_stat_user_tables AS tabstat ON idstat.relname = tabstat.relname
> WHERE idstat.idx_scan < 200
> AND indexdef !~* 'unique'
> ORDER BY idstat.relname, indexrelname;
>
> Pero por lo que veo, en las versiones actuales de PostgreSQL,
> pg_size_pretty usa el OID ahora para poder obtener el tamaño de
> alguna relación.
Usa pg_relation_size(idstat.relid::regclass) en el primer caso, y
idstat.indexrelid::regclass en el segundo.
Usar el "relname" es una idea bien mala (podría tomar una tabla o índice
equivocado, si hay dos con el mismo nombre en distintos esquemas).
Recomendaría usar esto en todas las versiones, incluyendo anteriores a
9.1.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Marcos Ortiz | 2013-02-05 16:26:14 | Re: Encontrar los índices menos usados en PostgreSQL 9.1 |
Previous Message | Marcos Ortiz | 2013-02-05 15:57:23 | Encontrar los índices menos usados en PostgreSQL 9.1 |