Encontrar los índices menos usados en PostgreSQL 9.1

From: Marcos Ortiz <mlortiz(at)uci(dot)cu>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Encontrar los índices menos usados en PostgreSQL 9.1
Date: 2013-02-05 15:57:23
Message-ID: 51112BE3.30408@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Saludos.

Estaba tratando de encontrar todos los índices que menos se usan en una
base de datos, y traté de usar una consulta que tenía acá, descrita por
Josh Berkus en su post "Finding Useless Indexes" pero por lo que veo era
para versiones viejas de PostgreSQL. Ésta es la consulta original:

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.

¿Tienen alguna idea de cómo poder modificar esta consulta para
PostgreSQL 9.1?

Exactamente:

SELECT version();
version
------------------------------------------------------------------------------------------------------------
PostgreSQL 9.1.7 on x86_64-unknown-linux-gnu, compiled by gcc
(Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit
(1 row)

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2013-02-05 16:21:55 Re: Encontrar los índices menos usados en PostgreSQL 9.1
Previous Message José Fermín Francisco Ferreras 2013-02-05 01:05:09 RE: Concatenar y q resultado no sea text