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@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda