A local copy of your PostgreSQL database, real data included

dbplex is a Mac app that copies any PostgreSQL database to a local PostgreSQL server on your Mac, with every table and row, on the same major version production runs. You get a localhost URL for your app, your tests and your AI agent. Production is only read.

For Apple Silicon Macs. 7 days free with every feature. No card and no account.

Runs on
PostgreSQL 14 to 18, matching production
Download
27 to 90 MB, per version
Needs
A connection string, no Docker
Production
Only read, never written to

What comes with a PostgreSQL copy

Copied to your Mac

  • Tables and rowsEvery table and row, masked where you choose.
  • The schemaViews, functions, triggers, indexes and constraints, as pg_dump reads them.
  • Extensions the local server hasEach one the local PostgreSQL can load.

Left behind, and why

  • Extensions the local server lacksAnd what depends on them. Each one is listed after the pull.
  • RolesA role that does not exist locally is listed, so you can create it if something needs it.
  • Large objects, on a masked pullA masked pull does not read them.

After each pull the Connect tab lists what was left out.

What you paste

One connection string, from your host's dashboard.

Connection StringRequired
postgresql://user:password@host:5432/dbA direct or session-mode connection. A transaction pooler, such as one with pgbouncer=true, is refused.

Read only. Nothing is ever written to production.

You can also start from a .sql or .dump file, or from an empty database.

Then point your app at the copy

postgresql://postgres:postgres@localhost:15000/postgres

The port is the first free one from 15000, so yours may differ. The Connect tab shows the exact values.

Where to find the PostgreSQL connection string

  • NeonTurn off connection pooling, then copy the connection string.
  • RailwayCopy DATABASE_PUBLIC_URL. A .railway.internal address only works inside Railway.
  • RenderCopy the External Database URL.
  • AWS RDSThe instance must be publicly accessible, on port 5432.
  • PlanetScaleUse the direct port. Port 6432 goes through PgBouncer.
  • Google Cloud SQLUse the public IP. A private IP cannot be reached from your Mac.
  • Azure DatabaseCopy the PostgreSQL connection string from the portal.
  • DigitalOceanUse the public host, not the one starting with private-.
  • AivenCopy the service URI. Its host ends in .aivencloud.com.

Why not pg_dump and a local Postgres?

dbplex uses pg_dump too. It does the rest of the work around it.

pg_dump and a local Postgresdbplex
VersionYou install the major version production runs.It picks the version production runs, 14 to 18.
DataDump, create the database, restore, fix the role errors.One Pull, and a list of anything that did not come across.
Personal dataEvery email and name lands on your laptop.Masked on the way in, where you choose.
Back to productionYou write the migration by hand.The Changes tab writes it, and you can rehearse it on a throwaway copy.
Going backRestore the dump again.Save a state and restore it.
Fresh dataDump and restore again.One Refresh button.

What you can do with a PostgreSQL copy

  • Browse tables and run SQLOn real rows, in the app or with psql and any Postgres client.
  • See the schema graphEvery table and the keys between them, drawn from the copy.
  • Get the migration scriptThe Changes tab compares the copy with production and writes the script in the order it must run. In beta.
  • Rehearse the migrationRun the script on a throwaway copy of the data and see what each statement did.
  • Mask personal columnsEmails, names and other personal columns are masked as the copy is pulled. You confirm each one.
  • Save and restore statesSave before a risky change and go back to it.
  • Branch the copyWork on a second copy, from now or from the last pull, and keep the first as it is.
  • Back up productionDaily or weekly, read-only, to a folder you choose. Each backup opens as a new copy.
  • Refresh from productionOne button replaces the copy with today's data.
  • Read the logsThe server log of the copy, in the Logs tab.

A PostgreSQL sandbox for your AI agent

Give Claude Code, Cursor, Codex or Windsurf a copy of production to test on, and let it break things. dbplex's built-in MCP server hands the agent your local PostgreSQL copy, never production: it never sees your production credentials, and every tool it gets acts on local copies only.

Add it from the app's Settings. A copy is not walled off from the internet: a pg_cron job, a function that calls out over HTTP or a foreign table can still reach outside. dbplex lists each one it finds after a pull.

  • Run SQL on real rowsReads, writes and schema changes, on the copy only.
  • Save a state before it tries somethingAnd restore it when the attempt goes wrong.
  • A branch for each agentEach agent clones the copy and works alone. A clone holds no credentials and can never reach production. It can get the script of the schema changes it made there.
  • Get the migration scriptIt compares the copy with production, read-only, and gets the SQL for what changed. Nothing in dbplex runs it.
  • Rehearse it firstIt runs the script on a throwaway server and reads what each statement did.
  • Personal columns maskedMasked as the copy is pulled, where you choose, before the agent reads a row.
  • Start over with today's dataIt can refresh the copy from production, and never sees the credentials.
  • Read the logsThe newest lines of the server log.

Questions about PostgreSQL in dbplex

Can dbplex change my PostgreSQL production database?

No. It only reads production to make your copy, and it has no push, sync or way to write anything back. The credentials stay in your Mac's Keychain.

Which PostgreSQL versions does dbplex copy?

14, 15, 16, 17 and 18. The copy runs the same major version as production, which dbplex downloads the first time.

Does it work with Neon, Railway, Render and AWS RDS?

Yes, and with PlanetScale, Google Cloud SQL, Azure Database, DigitalOcean, Aiven and any server you can reach. Use a direct or session-mode connection string, not a transaction pooler.

Do I need Docker for PostgreSQL?

No. dbplex runs PostgreSQL itself, on your Mac.

What if production uses an extension I do not have locally?

The copy is made without it, and dbplex lists the extension and what depended on it after the pull.

Can I start from a dump file instead?

Yes. A .sql or .dump file opens as a new copy, and so does any dbplex backup.

Can my AI agent use the PostgreSQL copy?

Yes. Add dbplex's MCP server to Claude Code, Cursor, Codex or Windsurf from the app's Settings. It can run SQL, branch its own copy, save and restore states, get the migration script for its changes and rehearse it on a throwaway server. Every tool acts on local copies only, and the agent never sees your production credentials.

Other databases dbplex copies

Break prod. Locally.

Try it on your own PostgreSQL database for 7 days. No card and no account.