PostgreSQL
The relational default, run properly
Production PostgreSQL with continuous WAL archiving, point-in-time recovery, connection pooling and the extensions you reach for first. Start on the free tier and keep the same endpoint when you grow.
Good for
- SaaS backends
- Geospatial with PostGIS
- Embeddings with pgvector
- Reporting
Sample query
app=> SELECT plan, count(*) AS orgs, round(avg(seats), 1) AS avg_seats
FROM accounts
WHERE created_at > now() - interval '30 days'
GROUP BY plan
ORDER BY orgs DESC; | plan | orgs | avg_seats |
|---|---|---|
| solo | 1,284 | 1 |
| team | 312 | 7.4 |
| free | 2,911 | 1 |
Features
PostgreSQL on Databasezy
-
Extensions included
pgvector, PostGIS, pg_trgm and pg_stat_statements are a CREATE EXTENSION away.
-
Point-in-time recovery
CloudNativePG takes barman-cloud base backups and archives the WAL continuously, so you restore to a moment, not just a night.
-
Connection pooling
A managed pooler sits in front of the server so serverless and short-lived clients do not exhaust connections.
-
Replicas and HA
Add read replicas or a standby on paid plans; failover is handled by the CloudNativePG operator.
Quick start
Connect to PostgreSQL
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 postgres --name postgres-7f3k --waitzb ca > databasezy-ca.pemzb connect postgres-7f3kAt a glance
- Category
- Relational
- Versions
- 18, 17, 16, 15
- 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
- PostgreSQL
Connection strings and drivers
postgresql://app:<password>@pg-7f3k.us-east.databasezy.com:5432/app?sslmode=verify-full&sslrootcert=databasezy-ca.pempsql "host=pg-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 postgres --placement secure --wait
Plans
PostgreSQL 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 PostgreSQL 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.
- Neon Connection string · continuous sync Available
- Supabase Connection string · continuous sync Available
- Amazon RDS and Aurora Connection string · continuous sync Coming soon
- Render Connection string · continuous sync Coming soon
- Railway Connection string · continuous sync Coming soon
- Heroku Connection string · File upload Coming soon
- Fly.io Connection string · CLI from your machine · continuous sync Coming soon
- Aiven Connection string · continuous sync Coming soon
- DigitalOcean Managed Databases Connection string · continuous sync Coming soon
- Crunchy Bridge Connection string · continuous sync Coming soon
- Vercel Postgres (legacy, now Neon) Connection string · continuous sync Coming soon
- Prisma Postgres Connection string Coming soon
- Netlify DB Connection string · continuous sync Coming soon
- Xata Connection string Coming soon
- Google Cloud SQL Connection string · continuous sync Coming soon
- Azure Database Connection string · continuous sync Coming soon
- Self-hosted server Connection string · CLI from your machine · continuous sync Available
- Local files and dumps File upload · CLI from your machine Available
- Docker container CLI from your machine Available
- Another Databasezy instance Instance to instance · continuous sync Coming soon
Documentation
PostgreSQL docs
- PostgreSQL guide Versions, configuration, limits and engine-specific behaviour.
- Connect to PostgreSQL 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.
PostgreSQL questions
Which PostgreSQL versions can I run?
18, 17, 16, 15. 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?
Instances run the CloudNativePG PostgreSQL image with the common extensions available: pgvector, PostGIS, pg_stat_statements, pg_trgm, uuid-ossp, hstore, citext and pgcrypto. Enable one with CREATE EXTENSION; run SELECT * FROM pg_available_extensions to see the full list for your version. Migration preflight lists any extension your source uses that we do not ship.
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.
Should I connect through the pooler?
Use the pooled endpoint for serverless functions and apps that open many short connections. Use the direct endpoint for migrations, pg_dump and anything that needs session features such as advisory locks or LISTEN/NOTIFY.
What you get on each plan
Plan features as they apply to PostgreSQL.
| Feature | Free | Solo | Team | Enterprise |
|---|---|---|---|---|
| PostgreSQL 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 PostgreSQL today
The free plan needs no card. Upgrade when you need more, and keep the same endpoint.