NewMeet dock, our CLIInstall

Databases

Free PostgreSQL hosting,that stays on.

A free 500 MB Postgres database that never pauses and never expires, right next to your app. DATABASE_URL is set for you. No credit card.

Comparison

Every free tier limits something. Here is what each one limits, from their own pricing pages.

ProviderFree storageWhen idleExpiresConnect from anywhereHosts your app too
*DockHosting500 MBNever pausesNeverFrom $4/mo (Hobby)Yes, same platform
Neon1 GB per projectCompute suspends after 5 min idleNeverYesNo
Supabase500 MBProject pauses after 1 week idleNo (pauses instead)YesNo
Render1 GBAlways on30 days, then 14-day graceYesYes

Free tiers as published on 1 November 2026: Neon pricing · Supabase pricing · Render free tier docs. Limits change often, so check before you choose. Neon and Supabase are standalone databases; DockHosting and Render also run the app that uses it.

Is it for you

Updated 1 November 2026

The free database is built for one job: give the app you deploy on DockHosting a real PostgreSQL that is always there. Your app reaches it over a private network, so there is no public port to secure and no cold start on the first query of the day.

If you only want a database and your app runs somewhere else, a standalone service like Neon or Supabase fits better on a free plan, because ours only accepts connections from your apps here. From Hobby at $4/mo you can open it to the internet, with daily backups and 2 GB of storage.

Need more than 500 MB, backups or an admin panel? See managed PostgreSQL hosting for every plan's limits.

How to

01

Create a free account

No credit card. You get 2 projects and 1 database.

02

Deploy your app

From GitHub or with dock deploy. Node, Python, Go, PHP, Ruby, Java or Docker.

03

Link a PostgreSQL database

In your project, open Database and press Link a database. Pick PostgreSQL 16, 15 or 14.

04

Read DATABASE_URL

It's set on your app for you, pointing at the database over the private network.

Connect

Every standard PostgreSQL driver reads a connection URL. Use DATABASE_URL and the same code works locally and here.

Node.js (pg)

import pg from "pg";

const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL });
const { rows } = await pool.query("select now()");

Python (psycopg)

import os, psycopg

with psycopg.connect(os.environ["DATABASE_URL"]) as conn:
    print(conn.execute("select now()").fetchone())

Go (pgx)

conn, err := pgx.Connect(ctx, os.Getenv("DATABASE_URL"))
if err != nil {
	log.Fatal(err)
}
defer conn.Close(ctx)

Prisma

// schema.prisma
datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

What the free PostgreSQL database includes, and what it doesn't.

Yes. The Free plan includes one PostgreSQL database with 500 MB of storage. It doesn't pause when idle and doesn't expire, and you don't need a credit card.

Create an account, run dock deploy, and get a live HTTPS URL in minutes.