Skip to content

Free-tier database lifecycle

Free-tier databases are meant for evaluation and small projects, so they have an automatic lifecycle: they expire, get suspended, and are eventually purged unless you upgrade. Paid databases never expire. This page documents the exact timeline and how to keep a database running.

Each organization may have exactly one free-tier database. Attempting to create a second free database while one already exists is rejected.

A free database is created with lifecycleStage = active and expiresAt = created + 30 days. From there the worker-driven lifecycle is:

DayEventState
0Free database createdactive, running, expiresAt = +30 days
30Expiry → suspendDatabase is suspended (status: stopped); it stops accepting connections
44Purge (14 days after suspend)Database is permanently purged

In short: 30 days active → suspend → 14-day grace → purge.

  • At 30 days the database is suspended — the cluster is stopped and it no longer serves traffic.
  • 14 days after suspension (day 44) the database is permanently purged. This is not recoverable.

A purged database keeps a tombstone row (lifecycleStage = purged, status: deleting) for bookkeeping, but that row is excluded from every read path — it does not appear in list results and its detail endpoint returns 404. From your perspective the database is gone.

To keep a free database running past 30 days, upgrade it to a paid tier before it is purged. On upgrade:

  • Paid databases never expire — the expiry clock is removed.
  • You gain scheduled backups, no suspend/purge lifecycle, and access to multi-zone HA (replicaset) and metrics.

Upgrade by changing the tier from free-tier to any paid tier (standard-tier and up). A paid tier requires an active paid plan.

Downgrading a paid database back to free-tier re-arms the 30-day lifecycle — a fresh 30-day expiry is set and the suspend → purge timeline starts again. Because of this, a downgrade to free requires an explicit confirmDowngradeToFree: true acknowledgement. The downgrade is a compute-only downscale that keeps the existing disk (Kubernetes cannot shrink a PVC). See Tiers & scaling.

  • Single-zone only. A free database is standalone (Single Zone, 1 replica). Multi-zone HA (replicaset) requires a paid tier.
  • Backup retention on free is capped at 7 days. See Backups & restore.
  • Connection limit on free is 50 concurrent connections. See Tiers & scaling.

The lifecycle is worker-driven, and expiry/suspension is surfaced to you (in-app and by email) so you have the chance to upgrade before a purge. Upgrade to a paid tier at any point before the purge to keep the database.