TimescaleDB
PostgreSQL, tuned for time
TimescaleDB adds hypertables and time functions to PostgreSQL. Keep full SQL, joins and the Postgres ecosystem while partitioning time-series data automatically. We run the Apache-2.0 edition.
Good for
- Metrics alongside relational data
- IoT
- Financial ticks
Sample query
app=> SELECT time_bucket('5 minutes', time) AS bucket,
device_id, avg(temperature) AS avg_temp
FROM readings
WHERE time > now() - interval '15 minutes'
GROUP BY bucket, device_id
ORDER BY bucket; | bucket | device_id | avg_temp |
|---|---|---|
| 2026-10-04 09:30:00+00 | dev-17 | 21.4 |
| 2026-10-04 09:35:00+00 | dev-17 | 21.9 |
| 2026-10-04 09:40:00+00 | dev-17 | 22.3 |
Features
TimescaleDB on Databasezy
-
Hypertables
Tables partition themselves by time automatically as data arrives.
-
time_bucket and friends
Bucket and aggregate time-series with time_bucket and ordinary SQL.
-
It is PostgreSQL
Joins, indexes, drivers and ORMs work exactly as they do on Postgres.
-
Point-in-time recovery
The same barman-cloud base backups and WAL archiving as our PostgreSQL engine.
Quick start
Connect to TimescaleDB
Hosts, ports and the CA bundle come from the portal or the CLI after you create an instance. Credentials are shown once and never stored by our control plane.
From the CLI
zb instances create --engine timescaledb --name timescaledb-7f3k --waitzb ca > databasezy-ca.pemzb connect timescaledb-7f3kAt a glance
- Category
- Time-series
- Versions
- 18, 17, 16
- Wire protocol
- postgres · port 5432
- Runtime
- Operator: cloudnative-pg
- Backup
- barman-cloud base backups + continuous WAL archiving to object storage · point-in-time recovery
- Pause
- Scale to zero
- Free tier
- Yes
- Licence
- Apache-2.0 (Apache edition)
Connection strings and drivers
postgresql://app:<password>@ts-7f3k.us-east.databasezy.com:5432/app?sslmode=verify-full&sslrootcert=databasezy-ca.pempsql "host=ts-7f3k.us-east.databasezy.com port=5432 dbname=app user=app sslmode=verify-full sslrootcert=databasezy-ca.pem"import pg from "pg";
import { readFileSync } from "node:fs";
const pool = new pg.Pool({
connectionString: process.env.DATABASE_URL,
ssl: { ca: readFileSync("databasezy-ca.pem", "utf8") },
});
const { rows } = await pool.query("select now()");import os, psycopg
with psycopg.connect(os.environ["DATABASE_URL"]) as conn:
print(conn.execute("select now()").fetchone())Deployment
Choose where it runs
Placement is chosen per database, so a regulated workload and a side project can live in the same organisation.
-
Standard hosting
Shared cells with namespace isolation, default-deny network policy and an IP allow-list. Available from the free plan up.
- Usage-based compute, billed per running hour
- Spend cap to stop surprises
-
Secure hosting (HIPAA)
This database runs on dedicated nodes in a separate HIPAA cell, under a signed Business Associate Agreement. Available on Team and Enterprise.
- $0.10 per instance-hour on top of compute
- How secure hosting works
-
From the CLI or API
Script instances in CI with the zb CLI or the REST API. Pick the placement per instance.
secure placementzb instances create --engine timescaledb --placement secure --wait
Plans
TimescaleDB on each plan
Usage-based pricing with a spend cap: you pay a plan fee plus what your instances use.
Free tier
Yes. One f0 instance with a shared vCPU (bursts to 1), 512 MiB of memory and a 500 MB database, no card required. It sleeps after 15 minutes idle and wakes on connect.
Sizes
From s0 (0.25 vCPU, 1 GiB) at $10/mo up to xl32 (32 vCPU, 128 GiB). Resize without changing the connection string.
All sizes and pricesBackups
barman-cloud base backups + continuous WAL archiving to object storage. Point-in-time recovery is an add-on on Solo and Team and Enterprise ($100 per instance per month for each 7 days of retention) and included on Enterprise.
Migrate
Migrate to TimescaleDB from
Copy a database in with a connection string, a file upload or the CLI. Preflight checks the source first and verification compares the copy.
Documentation
TimescaleDB docs
- TimescaleDB guide Versions, configuration, limits and engine-specific behaviour.
- Connect to TimescaleDB Drivers and connection strings for each language, with TLS verification.
- Backups, restore and PITR Schedules, retention, manual snapshots and restoring into a new instance.
- Connection pooling When to use the built-in pooler and how to size application pools.
- Pause and resume Scale to zero, wake on connect and pause schedules.
- Secure hosting and the BAA Dedicated nodes, customer-managed keys and HIPAA eligibility.
- Limits Connections, storage and request limits by size and plan.
- CLI reference Every zb command used on this page, with flags.
TimescaleDB questions
Which TimescaleDB versions can I run?
18, 17, 16. New instances default to 18; pick another with --engine-version or in the portal. Minor and patch updates are applied in your maintenance window after a pre-change backup.
Which extensions, modules or plugins are available?
The timescaledb extension (Apache-2.0 edition) is preinstalled and created in the app database: hypertables, time_bucket and chunk management are available. Timescale License features are not: native compression and the columnstore, continuous aggregates, the job scheduler and its policies, time_bucket_gapfill and the Toolkit hyperfunctions. Run SELECT * FROM pg_available_extensions to see which other extensions the image ships.
How are backups handled?
Backups use barman-cloud base backups + continuous WAL archiving to object storage. Paid plans run scheduled backups (Solo: daily, 7-day retention; Team: daily, 14-day retention); the free plan keeps one manual snapshot. Point-in-time recovery is available as an add-on on Solo and Team and Enterprise and included on Enterprise. Restores go into a new instance, so the original stays untouched.
Is the connection encrypted?
Always. The gateway terminates TLS (1.3 where your client supports it, 1.2 at minimum) and re-encrypts traffic to the database. Plain-text connections are refused. Verify the server with our CA bundle from the portal or zb ca, and restrict access further with the IP allow-list included on every plan.
Can I pause it when I'm not using it?
Yes. Free instances sleep after 15 minutes without connections and wake on the next one; after 7 idle days they are archived with the disk kept. On paid plans you pause on demand or on a schedule. A paused instance bills storage and backups but no compute, and wakes in 10 to 40 seconds.
What are the limits?
The free plan runs one f0 instance with a shared vCPU (bursts to 1), 512 MiB of memory, 20 connections and a 500 MB database. Paid sizes run from s0 (0.25 vCPU, 1 GiB, 60 connections, $10/mo) to xl32 (32 vCPU, 128 GiB, 5,000 connections), with up to 16 TB of disk.
Can I use compression or continuous aggregates?
No. They are Timescale License features, which cannot be offered as a hosted service, and Databasezy runs the Apache-2.0 edition. Use regular materialized views refreshed by your own scheduler for rollups, and drop_chunks for retention.
What you get on each plan
Plan features as they apply to TimescaleDB.
| Feature | Free | Solo | Team | Enterprise |
|---|---|---|---|---|
| TimescaleDB on this plan | Yes | Yes | Yes | Yes |
| Plan fee | $0/mo | $25/mo | $599/mo | Custom |
| Largest size | f0 | xl32 | xl32 | xl32 |
| Included per instance | 500 MB | 8 GB | 8 GB | Negotiated |
| Max disk per instance | 1 GB | 1 TB | 16 TB | 16 TB |
| Scheduled backups | 1 manual snapshot | Daily, 7-day retention | Daily, 14-day retention | Hourly, 35-day retention · cross-region copy · immutable |
| Point-in-time recovery | — | Add-on | Add-on | 35 days included |
| Read replicas | 0 | 2 | 5 | Unlimited |
| Pause | Sleeps after 15 min idle, wakes on connect | On demand or on a schedule | On demand or on a schedule | On demand or on a schedule |
| Secure hosting (HIPAA) | — | — | Available with a BAA | Available with a BAA |
| Support | Community | Priority | 24x7 dedicated | |
| Uptime SLA | — | — | 99.9% | 99.95% |
Start with TimescaleDB today
The free plan needs no card. Upgrade when you need more, and keep the same endpoint.