| 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: | Whole Thread | Raw Message | 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 |