1. EasyHost
  2. Free Postgres hosting

Free Postgres hosting that comes with your app

Every EasyHost project can have one free Postgres 16 database. You get a standard connection string over TLS, a separate shadow database for Prisma, and a CLI that can run SQL. There is no credit card, and the database is not deleted on a timer.

Last updated November 9, 2026

What the free Postgres database includes

FeatureDetails
EnginePostgres 16
Databases1 per project, up to 3 projects per account
AccessYour own database and role, reachable from anywhere over TLS
ConnectionsUp to 20 at a time per database
Shadow databaseIncluded, for prisma migrate dev
ToolsSQL from the CLI, plus a table browser and editor in the dashboard
ExpiryNone
Price$0

The connection string works with any Postgres client, so you can use the database from your EasyHost app, from your laptop, or from an app hosted somewhere else.

Create a database

npx ezhst db create main
npx ezhst db info --json
npx ezhst env set DATABASE_URL="postgresql://..."
npx ezhst redeploy

db info returns the connection string and the shadow connection string. Setting DATABASE_URL with env set makes it available to your app on the next deploy. A coding agent with the EasyHost skill does all four steps when you ask it to "add a Postgres database".

Connect from your Next.js app

Use whichever client you already use. With Drizzle:

lib/db.ts
import { drizzle } from "drizzle-orm/node-postgres";

export const db = drizzle(process.env.DATABASE_URL!);

With Prisma, DATABASE_URL is read from the datasource block in schema.prisma as usual.

Because your app is a long-running Node.js process rather than a set of serverless functions, a normal connection pool works and you do not need a pooling proxy in front of the database.

Prisma migrations and the shadow database

prisma migrate dev needs a second, empty database to detect drift. On a host that gives you a single database, you have to find one somewhere else. EasyHost creates it for you and returns its URL from ezhst db info.

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

Run migrations from your machine against the connection string, for example prisma migrate deploy before a deploy.

Query it from the command line

ezhst db query "select count(*) from users"Run one SQL statement.
ezhst db query --file seed.sqlRun a SQL file.
ezhst db rows users --page 2Browse rows in a table.
ezhst db reset-passwordRotate the password and print the new connection string.

All of them accept --json, which is how agents inspect a schema or check that a migration worked. Statements run through the CLI and dashboard time out after 15 seconds. See the database docs for every command.

Limits and caveats

  • One database per project. Create another project if you need a second one.
  • Databases live on a shared Postgres server in one region. This is meant for side projects, prototypes and small apps, not for heavy production workloads.
  • Each database allows up to 20 concurrent connections.
  • Keep your own backups of anything important. pg_dump works with the connection string.

For comparison, Render's free Postgres databases expire 30 days after creation and are capped at 1 GB, according to the Render free tier docs as of September 2026.

Frequently asked questions

Is the EasyHost Postgres database free forever?

It is free with no trial period and no expiry date. Each project can have one database.

Can I connect from outside EasyHost?

Yes. The connection string uses a public host with TLS, so it works from your laptop, from CI and from apps hosted elsewhere.

Does it work with Prisma and Drizzle?

Yes. It is a standard Postgres 16 database. A shadow database for prisma migrate dev is included.

Can I use the database without hosting an app on EasyHost?

Yes. Create a project, create its database and use the connection string anywhere. You do not have to deploy an app to the project.

Start for free

Install the skill, choose Global or Local, then tell your agent to deploy. No credit card, no config files.

npx ezhst skill install