How Tiger Data Extends PostgreSQL for Time-Series and Machine Data

Updated

Tiger Data (tigerdata.com) extends standard PostgreSQL through a set of storage, partitioning, and query capabilities built for machine-generated data — sensor readings, metrics, and event streams. The core idea is to keep one Postgres interface while changing how data is physically organized underneath, so ingestion stays fast, years of history stay affordable, and live and historical queries can run together. This applies if you already work in Postgres and need to handle high-volume time-series workloads without adding a separate time-series database.

Automatic partitioning by time and key

Standard Postgres tables grow as single objects, which slows reads and writes as volume climbs. Tiger Data adds automatic partitioning that splits data by time and by key. New data lands in recent partitions while older ones stay untouched, so writes don't contend with the full table and time-range queries only scan relevant partitions. This is the mechanism behind the faster reads and writes the platform advertises.

Row storage for writes, columnar storage for analytics

Tiger Data uses a hybrid storage model. Incoming data is written in row format, which suits fast ingestion. For analytics, data is converted to columnar storage with compression. Columnar layout reads only the columns a query needs and compresses well, so aggregations over long histories cost less I/O and less disk. The practical effect: you write like a normal Postgres table but query historical ranges at analytical speed.

Tiered storage across SSD and object storage

Hot, recently written data stays on SSD. Colder data moves to low-cost object storage. Queries can still reach the cold tier, so you keep years of history without paying SSD prices for all of it. This is the main lever for controlling cost as data volume grows into terabytes and beyond.

Time-series functions and Postgres-native access

Tiger Data ships 200+ SQL functions for time-based analytics — things like time bucketing, gap filling, and downsampling that would otherwise require custom SQL. Access stays Postgres-native: SQL, APIs, a CLI, and a UI. There is also hybrid search combining keywords, vectors, filters, and ranking, and lakehouse integration to ingest from Kafka and S3 and replicate to Iceberg.

What this means in practice

A concrete case: a fleet of machines emits readings every second. You ingest in row format, partition by time so each day is isolated, compress older partitions into columnar storage, and push data older than a few months to object storage. A dashboard querying the last hour hits SSD; a quarterly trend report scans compressed columnar data; a year-over-year audit reads from object storage. All of it runs through ordinary SQL.

The platform reports real-world speed-ups of 10x to 40x depending on query, range, and data frequency, and cites a single TimescaleDB instance handling 3 trillion metrics per day and 3 petabytes of stored data. A free trial and a pricing page are available if you want to test against your own workload.

When this fits — and when it doesn't

Choose Tiger Data if you are already on Postgres, your data is time-stamped and high-volume, and you want to avoid operating a second database system. It is less compelling if your workload is mostly transactional with little time-series character, or if you need a non-Postgres engine. The extension model means your existing SQL, drivers, and tooling carry over, which is the main reason teams pick it over a standalone time-series database.