On Lun 30 Ago 2010 12:45:43 Juan escribió:
> Alvaro
> 
> Siguio sin andar pero siguiendo tu indicacion tambien castee la otra
> expresion y anduvo :D
> 
> indexrelname::regclass
> 
> quedo asi ( y anda, no da error. )
> SELECT idstat.relname AS table_name,
> indexrelname AS index_name,
> idstat.idx_scan AS times_used,
> pg_size_pretty(pg_relation_size(idstat.relname::regclass )) AS
> table_size, pg_size_pretty(pg_relation_size(indexrelname::regclass))
> 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;
> 
> salu2
> mdc

Bueno, yo también castee según lo planteado y no me anduvo. Me arrojó un error 
que decía que no existía la relación acta (la cuál es una tabla existente con 
sus respectivos índices existentes). De hecho no creo que específicamente se 
refiera a esa tabla sino que es la primera de la lista.
En fin, ahondando mas en el manual de la versión 8.4 dice "pg_relation_size 
accepts the OID or name of a table, index or toast table, ..." por lo que la 
parte de pg_relation_size la puse asi:

...
        pg_size_pretty(pg_relation_size(idstat.relid)) AS table_size,
        pg_size_pretty(pg_relation_size(idstat.indexrelid)) AS index_size,
...

y eso si me funcionó.
No sé si estará 100% correcto, eso se lo dejo a los mas avanzados para 
comentarios.

Saludos
Carlos Bazán
-
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

Responder a