Команда переиндексации, похоже, не работает для некоторых индексов

#postgresql

#postgresql

Вопрос:

таблица pg_catalog.pg_amproc моей демонстрационной базы данных содержит 2 индекса, плотность которых не меняется даже после переиндексации или полного вакуума. Почему плотность индекса не меняется после перестройки?

 Table "pg_catalog.pg_amproc"  Column | Type | Collation | Nullable | Default ----------------- ---------- ----------- ---------- ---------  amprocfamily | oid | | not null |  amproclefttype | oid | | not null |  amprocrighttype | oid | | not null |  amprocnum | smallint | | not null |  amproc | regproc | | not null | Indexes:  "pg_amproc_fam_proc_index" UNIQUE, btree (amprocfamily, amproclefttype, amprocrighttype, amprocnum)  "pg_amproc_oid_index" UNIQUE, btree (oid)  =# select s.leaf_fragmentation, -# s.avg_leaf_density -# FROM pg_index AS i -# CROSS JOIN LATERAL pgstatindex(i.indexrelid) AS s -# WHERE indrelid = 'pg_catalog.pg_amproc'::regclass;  leaf_fragmentation | avg_leaf_density -------------------- ------------------  0 | 70.8  0 | 50.59  =# reindex table pg_amproc; REINDEX =# select s.leaf_fragmentation,  s.avg_leaf_density  FROM pg_index AS i  CROSS JOIN LATERAL pgstatindex(i.indexrelid) AS s  WHERE indrelid = 'pg_catalog.pg_amproc'::regclass;  leaf_fragmentation | avg_leaf_density -------------------- ------------------  0 | 70.8  0 | 50.59 (2 rows)  

Комментарии:

1. Он не станет плотнее, чем его максимальная плотность. avg_leaf_density-это не процент.