Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Determine the Size of a TimescaleDB Table?

To determine the size of my TimescaleDB table my_table (which has a hypertable created previously), I ran the SQL query

pg_size_pretty( pg_total_relation_size('my_table') );

However, despite having 10k rows in this table, the size returned from this query is 24 kB.

Querying for the size of the database gave a more reasonable size of 34 MB, using the SQL query

SELECT pg_size_pretty( pg_database_size('database_development') ); 

Question: What is the correct way for calculating the size of a TimescaleDB table?

Using PostgreSQL 11.5, TimescaleDB 1.5.1

like image 744
Nyxynyx Avatar asked Dec 31 '19 03:12

Nyxynyx


People also ask

What is Chunk time interval TimescaleDB?

When you insert data from a time range that doesn't yet have a chunk, TimescaleDB automatically creates a chunk to store it. By default, each chunk covers 7 days. You can change this to better suit your needs. For example, if you set chunk_time_interval to 1 day, each chunk stores data from the same day.


1 Answers

We typically recommend using TimescaleDB-specific functions:

https://docs.timescale.com/latest/api#hypertable_relation_size https://docs.timescale.com/latest/api#hypertable_relation_size_pretty

If you are interested in getting information about each/specific chunk:

https://docs.timescale.com/latest/api#chunk_relation_size https://docs.timescale.com/latest/api#chunk_relation_size_pretty

like image 60
Mike Freedman Avatar answered Oct 02 '22 08:10

Mike Freedman