Get the approximate total disk space used by a hypertable or continuous aggregate,
that is, the sum of the size for the table itself including chunks,
any indexes on the table, and any toast tables. The size is reported
in bytes. This is equivalent to computing the sum of total_bytes
column from the output of hypertable_approximate_detailed_size
function.
When a continuous aggregate name is provided, the function transparently looks up the backing hypertable and returns its statistics instead.
Note
This function relies on the per backend caching using the in-built PostgreSQL storage manager layer to compute the approximate size cheaply. The PG cache invalidation clears off the cached size for a chunk 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 chunks and can use the cached data (which is calculated afresh the first time around) effectively for older chunks. Thus it is recommended to use a single connected postgres backend session to compute the approximate sizes of hypertables to get faster results.
For more information about using hypertables, including chunk size partitioning, see the hypertable section.
Name | Type | Description |
---|---|---|
hypertable | REGCLASS | Hypertable or continuous aggregate to show size of. |
Name | Type | Description |
---|---|---|
hypertable_approximate_size | BIGINT | Total approximate disk space used by the specified hypertable, including all indexes and TOAST data |
Note
NULL
is returned if the function is executed on a non-hypertable relation.
Get the approximate size information for a hypertable.
SELECT * FROM hypertable_approximate_size('devices');hypertable_approximate_size-----------------------------8192
Get the approximate size information for all hypertables.
SELECT hypertable_name, hypertable_approximate_size(format('%I.%I', hypertable_schema, hypertable_name)::regclass)FROM timescaledb_information.hypertables;
Get the approximate size information for a continuous aggregate.
SELECT hypertable_approximate_size('device_stats_15m');hypertable_approximate_size-----------------------------8192
Keywords
Found an issue on this page?Report an issue or Edit this page in GitHub.