Skip to main content
Get detailed information about approximate disk space used by a or , returning size information for the table itself, any indexes on the table, any toast tables, and the total size of all. All sizes are reported in bytes. When a name is provided, the function transparently looks up the backing and returns its approximate size statistics instead.
This function relies on the per backend caching using the in-built storage manager layer to compute the approximate size cheaply. The PG cache invalidation clears off the cached size for a when DML happens into it. That size cache is thus able to get the latest size in a matter of minutes. Also, due to the backend caching, any long running session will only fetch latest data for new or modified s and can use the cached data (which is calculated afresh the first time around) effectively for older s. Thus it is recommended to use a single connected backend session to compute the approximate sizes of s to get faster results.
For more information about using s, including size partitioning, see the hypertable section.

Samples

Get the approximate size information for a .
SELECT * FROM hypertable_approximate_detailed_size('hyper_table');
 table_bytes | index_bytes | toast_bytes | total_bytes
-------------+-------------+-------------+-------------
        8192 |       24576 |       32768 |       65536

Arguments

NameTypeDefaultRequiredDescription
hypertableREGCLASS-Hypertable or continuous aggregate to show detailed approximate size of.

Returns

ColumnTypeDescription
table_bytesBIGINTApproximate disk space used by main_table (like pg_relation_size(main_table))
index_bytesBIGINTApproximate disk space used by indexes
toast_bytesBIGINTApproximate disk space of toast tables
total_bytesBIGINTApproximate total disk space used by the specified table, including all indexes and TOAST data
If executed on a relation that is not a hypertable, the function returns NULL.