DocsConcepts
Ephemeral databases
How seedkit's ephemeral Postgres works under the hood — Neon, scale-to-zero, TTL, lifecycle, restore.
When you run seedkit new, we provision a fresh Neon project — a real Postgres 16 instance with its own URL. This page covers what that means in practice.
Where they run
- Provider: Neon. Postgres 16. Serverless architecture.
- Region: EU (
eu-central-1) by default. Override with--region. Available:eu-central-1,us-east-1,us-west-2,ap-southeast-1. - Compute: scales to zero between queries. First query after a sleep wakes the DB in ~200ms.
This is what makes the free tier sustainable — your DB doesn't burn compute when nobody's hitting it.
Lifecycle
| Phase | Trigger | What happens |
|---|---|---|
| Provisioning | seedkit new | New Neon project + branch + role created. Schema applied. Cached SQL replayed (or freshly generated). |
| Ready | provisioning ✓ | Connection string is live. Queries work. |
| Sleeping | no queries for ~5min | Compute scales to zero. Connection still works; first query wakes it. |
| Expired | TTL elapsed | Neon project + connection deleted. Cached SQL survives. |
| Revived | seedkit revive | Fresh Neon project; cached SQL replayed. New connection string. |
TTL by tier
| Tier | Default TTL | Max TTL | Concurrent DBs |
|---|---|---|---|
| Free | 1 hour | 1 hour | 1 |
| Pro | 24 hours | 7 days | 5 |
| Team | 7 days | 30 days | 25 |
Set with --ttl 6h or --ttl 3d on seedkit new / seedkit revive.
What's persisted vs. destroyed
- Persisted forever (until you
--purgeor delete via the dashboard):- The schema spec
- The cached SQL dump (your seed)
- The seed name → key mapping
- Destroyed on TTL or
seedkit destroy:- The Neon project
- Compute credentials and connection string
- Any data you wrote outside of the seedkit insert (e.g. rows you
INSERT-ed manually after the fact)
Restore
Run seedkit revive <name>. We provision a fresh Neon project and replay the cached SQL. New URL, identical data.
seedkit revive crm-demo --ttl 24h --env
See seedkit revive for the full reference.
See also
seedkit new— provision.seedkit list/destroy/revive— manage.- Pricing — TTL and concurrent-DB limits per tier.