Skip to content
Rowsafe

Add PostgreSQL to your Next.js app

A managed PostgreSQL for your Next.js app, created by your coding agent or two commands, backed up from the first minute.

Ask your agent

Claude Code, Cursor or Codex
Create a PostgreSQL database for this Next.js app on Rowsafe Cloud and connect it with DATABASE_URL in .env.

Your agent picks a size, tells you the price and waits for your yes. Then it creates the server as you and, once it's ready (5 to 10 minutes), puts DATABASE_URL in .env. Through the Claude Code or Codex plugin, you create the login in the dashboard instead and paste it in: the password is made in your browser.

First time? Connect Rowsafe to your agent once.

Or from the terminal

Terminal
rowsafe cloud create shop-db --wait
rowsafe env --on shop-db

rowsafe cloud create shows the price and asks first. rowsafe env makes the password on your computer, writes DATABASE_URL to .env and adds .env to .gitignore. Rowsafe never sees it.

Connect your app

lib/db.ts
import { Pool } from "pg";

// One pool, kept across hot reloads in development.
const g = globalThis as unknown as { pool?: Pool };
export const db = (g.pool ??= new Pool({ connectionString: process.env.DATABASE_URL }));
app/page.tsx
import { db } from "@/lib/db";

export default async function Page() {
  const { rows } = await db.query("SELECT id, title FROM posts ORDER BY id DESC LIMIT 10");
  return <ul>{rows.map((p) => <li key={p.id}>{p.title}</li>)}</ul>;
}

npm install pg @types/pg. In .env, change sslmode=require to sslmode=verify-full: the server's certificate is then checked too. Next.js loads .env by itself. Use the pool in server code only. Prisma and Drizzle take the same DATABASE_URL.

Backups and restores

Rowsafe backs up every change, encrypted on the server with a key only you have, so you can restore to any second. Every week it restores a backup to prove it works. Restore a copy, bring back deleted rows or rewind the whole database, in one click. Before a risky change, save a Mark (rowsafe mark), or let your agent save one.

From $0.014 an hour, never more than $10 a month.

Questions

Does it work on Vercel?

Yes. Vercel has no fixed addresses, so allow everyone: rowsafe cloud allow shop-db 0.0.0.0/0. Anyone can then try to connect, but they still need the password, and every connection is encrypted. Many functions at once? Turn on connection pooling and use its connection string.

How does my app's server connect?

At first only your computer can. Add your server's address under Who can connect on the server's page, or run rowsafe cloud allow shop-db ADDRESS.

Can I move my data from Supabase, Neon, RDS or Heroku?

Yes, with Move in: it copies your database while your app keeps running (from Heroku, writes pause during the copy). How it works

Your PostgreSQL database, ready in minutes.

Compare prices