

Sharding: how to shard Postgres partitions on single-node Citus.Automation: how to use the pg_cron extension to schedule and automate partition management.Compression: how to use Citus Columnar to compress older partitions, save on storage, and improve query performance.Easy Partition Management: how to use new functions in Citus to simplify management of partitions.Partitioning: how to use Postgres native partitioning to split large timeseries tables into smaller time partitions.
POSTGRES 14 SHARDING SERIES
Time series database capabilities explained in this post By using Postgres and Citus together, your application will be more performant at handling the ever-coming massive amounts of time series data-making your life easier.

This post is your “how-to” guide to using Postgres with Citus and pg_cron for time series data-effectively transforming PostgreSQL into a distributed time series database. Even better: the latest Citus 10.2 open-source release makes it a lot easier to manage your partitions in PostgreSQL. To save disk space on your nodes, you can also compress your partitions-without giving up indexes on them. In other words, with Citus you can create distributed time-partitioned tables.

How? By using the Citus extension to Postgres. The good news is you can scale out your partitioned Postgres tables to handle enormous amounts of data by distributing the partitions across a cluster. Though, you’ll still be limited by the memory, CPU, and storage resources of your Postgres server. Query performance improves since each query only has to deal with much smaller chunks. Range partitioning lets you create a table and break it up into smaller partitions, based on ranges (typically time ranges). Partitioning with the Postgres declarative partitioning feature can help you speed up query and ingest times for your time series workloads. PostgreSQL offers many powerful data processing features such as indexes, COPY and SQL-but the high data volumes and ever-growing nature of time series data can cause your database to slow down over time.įortunately, Postgres has a built-in solution to this problem: Partitioning tables by time range. Managing time series data at scale can be a challenge.
