Приветствую.
> # select * from pg_stat_user_indexes ;
Или чуть более сложный вариант (правда здесь отталкиваемся не от
индексов, а от таблиц):
select relname, seq_scan, seq_tup_read, idx_scan, idx_tup_fetch,
round(case when coalesce(idx_scan, 0) = 0 then 10000 else seq_scan::numeric / idx_scan end, 2)
from pg_stat_user_tables where schemaname = 'public' and
seq_scan > 1000 and
n_live_tup > 100
order by case when coalesce(idx_scan, 0) = 0 then 10000 else seq_scan::numeric / idx_scan end desc;
--
Ответ на письмо от 21 ноября 2014 г., 18:00:
> Подойдет?
> # select * from pg_stat_user_indexes ;
> relid | indexrelid | schemaname | relname | indexrelname |
> idx_scan | idx_tup_read | idx_tup_fetch
>
-------+------------+------------+-------------------+------------------------+----------+--------------+---------------
> 17178 | 17251 | public | bayes_global_vars | bayes_global_vars_pkey |
> 0 | 0 | 0
> 17183 | 17253 | public | bayes_seen | bayes_seen_pkey |
> 48404 | 42992 | 42992
> Dmitry E. Oboukhov wrote:
>> есть БД в проекте который развивался некоторое время
>> и соответственно допустим придумывали что-то новое: создавали под это
>> дело индекс.
>> потом где-то старые индексы позабыли удалить итп
>>
>> теперь в БД есть какие-то индексы, которые не используются при
>> селектах, но занимают место на диске.
>>
>> есть возможность какая-то посмотреть статистику использования индексов
>> чтобы поудалять ненужные?
>>
> --
> Teodor Sigaev E-mail: teodor@sigaev.ru
> WWW: http://www.sigaev.ru/
--
С уважением,
Николай mailto:haar@list.ru