Pour une table aléatoire :
# select pg_relation_size(20306, 'main') as main,
pg_relation_size(20306, 'fsm') as fsm,
pg_relation_size(20306, 'vm') as vm,
pg_relation_size(20306, 'init') as init,
pg_table_size(20306), pg_indexes_size(20306) as indexes,
pg_total_relation_size(20306) as total;
main | fsm | vm | init | pg_table_size | indexes | total
--------+-------+------+------+---------------+---------+--------
253952 | 24576 | 8192 | 0 | 286720 | 196608 | 483328
(1 row)
À partir de là, vous pouvez dire pg_table_size
est la somme de toutes les valeurs de retour de pg_relation_size
. Et pg_total_relation_size
est la somme de pg_table_size
et pg_indexes_size
.
Si vous voulez savoir combien d'espace vos tables utilisent, utilisez pg_table_size
et pg_total_relation_size
pour y penser - un nombre est un tableau uniquement et un nombre est un tableau + index.
Vérifiez la disposition du fichier de stockage pour obtenir des informations sur ce que fsm
, vm
, et init
signifie, et comment ils sont stockés sur le disque.