PostgreSQL Field Guide

Free PostgreSQL cloud database guide

Compare free PostgreSQL limits, sleep, backup, and production boundaries across Supabase, Neon, Aiven, Nhost, Prisma Postgres, Koyeb, and Render

Classify free databases before comparing them: managed services that run PostgreSQL, developer platforms built around PostgreSQL, and independent databases that implement pgwire or part of the SQL dialect. A working driver connection does not prove extension, transaction, or operational compatibility.

A dated snapshot, not a lasting promise

This page was checked against provider pages on 2026-08-02. Free limits, regions, project counts, sleep, and backup policies change quickly; reopen every source before creating a project. Free tiers generally carry no production SLA and do not replace an independent export and restore drill.

Free PostgreSQL service comparison

ServiceCurrent free snapshotCritical limitBetter fit
SupabaseUp to 2 active projects; 500 MB database per project; Free includes 1 GB file storage and 5 GB egressPauses after one inactive week; no automatic backup or PITR on FreeBaaS requiring Auth, Storage, Realtime, and APIs
NeonUp to 100 projects; 0.5 GB storage and 100 CU-hours/month per project; 5 GB public transferScales to zero after about 5 idle minutes; limited free restore windowPostgreSQL, branches, preview/CI databases, intermittent workloads
Aiven for PostgreSQL1 CPU, 1 GB RAM, 1 GB disk, and backupsSingle node, max_connections=20, no HA/SLA/VPC/pooler; idle services may power offTraditional managed-PostgreSQL learning and small validation
Nhost1 active project; 1 GB database, 1 GB file storage, and 5 GB egressPauses after one inactive week; GraphQL/Auth/Storage create platform couplingGraphQL-first Hasura applications and an integrated backend
Prisma Postgres500 MB storage, 100,000 operations/month, and up to 50 databasesEvery SQL or Prisma query counts as an operation; Free is positioned for evaluationPrisma workflows, temporary databases, PR and agent environments
Koyeb PostgreSQL0.25 vCPU, 1 GB RAM, and 1 GB dataOnly 5 active compute hours/month; sleeps when idleDemos, tutorials, and very infrequent tests, not a persistent API
Render Postgres1 GB and one free instance per workspaceExpires after 30 days; no backups or managed pooling before deletionOne-off demos and platform evaluation

These units are not interchangeable. Neon CU-hours, Prisma operations, Koyeb active hours, and fixed VM capacity measure different things. Model a real request pattern, then verify whether excess usage pauses, rejects, deletes, or starts billing.

Why CockroachDB is separate

CockroachDB Cloud Basic currently includes 50 million Request Units and 10 GiB of storage per month, but CockroachDB is an independent distributed SQL database, not a PostgreSQL server. It supports pgwire and much PostgreSQL syntax while retaining differences around range types, FDWs, advisory locks, privileges, and transaction behavior. Use its PostgreSQL compatibility matrix as the boundary.

Evaluate it independently for globally distributed transactions and multi-region resilience. Do not substitute it for real PostgreSQL when learning extensions, catalogs, WAL, or PostgreSQL operations.

Direct selection guide

RequirementEvaluate firstWhy
Auth, Storage, Realtime, REST/GraphQL APIsSupabaseA complete application backend surrounds PostgreSQL
Branching, preview databases, scale-to-zeroNeonDatabase lifecycle fits CI and short-lived environments
Traditional managed PostgreSQLAivenResources and limits resemble a small single-node service
GraphQL-first developmentNhostPostgreSQL plus Hasura, Auth, and Storage
Prisma workflow and many temporary databasesPrisma PostgresOperation billing and Prisma/agent tooling are closely integrated
Very short demoKoyeb or RenderTheir free limits rule them out as durable data sources

For Drizzle, node-postgres, Kysely, and other ordinary PostgreSQL clients, separately test direct and pooled URLs, prepared statements, migrations, and transaction-pooling behavior on Neon, Supabase, Aiven, Nhost, and Prisma Postgres. A standard connection string is not proof of identical behavior.

Pre-deployment free-tier checks

SELECT
  version(),
  current_setting('server_version_num') AS server_version_num,
  current_database(),
  current_user;

SELECT extname, extversion
FROM pg_extension
ORDER BY extname;

SHOW max_connections;
SHOW transaction_read_only;

Then verify:

  1. PostgreSQL major/minor and exact extension versions;
  2. direct and pooled connection purpose, limit, and pool mode;
  3. cold start after idle and whether DNS or endpoints change;
  4. automatic backup, PITR, retention, and whether Free includes them;
  5. egress and operation/CU-hour accounting plus hard limits;
  6. pg_dump export, restore into local PostgreSQL, and the retrieval window after pause or deletion;
  7. whether paid upgrade is in place or requires migration and connection-string changes.

Free validates a product, not a recovery commitment

Important production systems need measurable RPO/RTO, backup retention, a restore path, support, and incident notification. Even on a paid managed service, perform one off-platform export and independent restore.

Use the cloud production selection checklist for production and exit costs, and PostgreSQL lineage and compatible databases for engine boundaries.

Last updated on

On this page