Skip to content
Browse docs

The always-on pool

Idle databases hibernate to save resources and wake when you connect. If you need one to stay up around the clock, you pin it always-on and it draws from your plan's pool. This page explains what the pool is, how to pin, which engines never sleep, and what pool blocks cost.

What the pool is

A pool is a reservation of always-on capacity that you allocate across your databases however you like. Pinning a database always-on, or running a Performance engine, reserves part of the pool for as long as it stays on. Un-pin the database or delete it and that capacity returns to the pool.

Freeno pool

No always-on pool. Databases scale to zero after 60 minutes idle and wake on connect. You cannot pin a Free database.

Solo ($5/mo)768 MB RAM, 1 vCPU, 10 GB

Enough to keep one Standard database always-on. Solo's single database is pinned by default, so it never sleeps.

Pro ($15/mo)1.5 GB RAM, 1 vCPU, 25 GB

Reserved capacity you spread across up to 10 databases: keep two or three Standard databases always-on, or run a Performance engine. Stack pool blocks for more.

Custom (Dedicated)Pro pool + your server

Includes the same 1.5 GB shared Pro pool for dev and staging. Production databases run on your own server, which is not bounded by the shared pool.

Pinning a database always-on

Open the database, go to Settings, and find the Always on toggle under Availability. Turning it on keeps the database running at all times instead of letting it hibernate after a period of inactivity. Turning it off returns to auto-hibernation, which frees the reserved capacity back to the pool.

Always-on is a paid feature: Free plans have no pool and cannot pin. On a team, only the owner can toggle it, because it affects billing. Each pinned database reserves a fixed amount of RAM from the pool based on its engine (a pinned Postgres reserves about 256 MB, MySQL about 768 MB). If a pin would exceed your remaining pool, add a pool block or un-pin something else first.

Standard vs Performance engines

Standard engines (PostgreSQL, MySQL, MariaDB, SQLite, DuckDB, libSQL, Redis, Valkey, FerretDB, TypeDB, and more) scale to zero when idle unless you pin them. They cost nothing from the pool while asleep and wake on connect in a few seconds.

Performance engines always run from the pool and never sleep. This is ClickHouse, QuestDB, Qdrant, Weaviate, and InfluxDB. Analytical and search engines hold significant state in memory and restart slowly with real data, so they stay up rather than promise a fast cold start that would break. Creating one draws from your pool immediately, so Performance engines require Pro (or Custom).

Pool blocks

When the Pro pool is not enough, stack pool blocks. Each block is $10/mo and adds 1 GB of RAM, 1 vCPU, and 25 GB of storage to your pool. Add as many as you need (up to 20), and remove them anytime.

Blocks are billed prorated on your existing Pro subscription. Adding or removing one charges or credits the prorated difference right away rather than waiting for your next renewal. Pool blocks are a Pro and Custom feature; Solo and Free do not have them.

Removing a block or downgrading

Your data is never deleted. If you remove a pool block or downgrade and a database no longer fits the smaller pool, a Standard database falls back to sleep-on-idle and a Performance database is stopped (not deleted). Storage over the new quota gets a read-only grace period before it archives. You can re-allocate the pool, re-pin, or re-subscribe at any time.