From: Andrew Dunstan Date: Tue, 27 Dec 2016 16:23:46 +0000 (-0500) Subject: Explain unaccounted for space in pgstattuple. X-Git-Tag: REL_10_BETA1~1184 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=71f996d22125eb6cfdbee6094f44370aa8dec610;p=postgresql Explain unaccounted for space in pgstattuple. In addition to space accounted for by tuple_len, dead_tuple_len and free_space, the table_len includes page overhead, the item pointers table and padding bytes. Backpatch to live branches. --- diff --git a/doc/src/sgml/pgstattuple.sgml b/doc/src/sgml/pgstattuple.sgml index 9ada5d209a..d2fa524d6e 100644 --- a/doc/src/sgml/pgstattuple.sgml +++ b/doc/src/sgml/pgstattuple.sgml @@ -117,6 +117,16 @@ free_percent | 1.95 + + + The table_len will always be greater than the sum + of the tuple_len, dead_tuple_len + and free_space. The difference is accounted for by + fixed page overhead, the per-page table of pointers to tuples, and + padding to ensure that tuples are correctly aligned. + + + pgstattuple acquires only a read lock on the relation. So the results do not reflect an instantaneous snapshot;