Normalmente você não precisa se preocupar com isso.
No entanto, se houve uma exclusão ou atualização em massa, ou a taxa de alteração sustentada foi tão alta que o autovacuum não conseguiu acompanhar, você pode acabar com um índice muito inchado.
A ferramenta para determinar esse id do
pgstattuple
extensão:CREATE EXTENSION pgstattuple;
Então você pode examinar o inchaço do índice assim:
SELECT * FROM pgstatindex('spatial_ref_sys_pkey');
-[ RECORD 1 ]------+-------
version | 2
tree_level | 1
index_size | 196608
root_block_no | 3
internal_pages | 1
leaf_pages | 22
empty_pages | 0
deleted_pages | 0
avg_leaf_density | 64.48
leaf_fragmentation | 13.64
Este índice está em excelente forma (nunca usado):tem apenas 14% de inchaço.
Lembre-se de que os índices são criados por padrão com um
fillfactor
de 90, ou seja, os blocos de índice não são preenchidos em mais de 90% por INSERT
. É difícil dizer quando um índice está inchado, mas se
leaf_fragmentation
excede 50-60, não é tão bonito. Para reorganizar um índice, use
REINDEX
.