How to back up a Render PostgreSQL database to Windows

Free Render databases expire after 30 days and are never backed up. Here's how to keep your own copies, on any plan, from Windows.

Updated October 14, 2026 · 2 min read

Short on time? PostgresBackup does everything on this page from a Windows app: scheduled pg_dump backups, retention and one-click restores. Download it free.

Two things about Render's PostgreSQL make your own backups worth having:

  • Free databases expire 30 days after creation and support no backups at all. After expiry there's a grace period to upgrade, then the database and its data are deleted.
  • Paid databases get point-in-time recovery for a few days (depending on your workspace plan), restored inside Render.

A nightly pg_dump to your PC protects a free database until you decide what to do with it, and gives paid databases a copy outside Render that you can keep as long as you like.

Step 1: Get the external connection URL

In the Render dashboard, open your database → Info (or Connect) and copy the External Database URL. It looks like:

Text
postgresql://myapp_user:[email protected]/myapp_db

The Internal URL only works from other Render services. Also check Access Control on the database: if it lists allowed IP ranges, add your PC's public IP.

Step 2: Back it up

Render requires SSL from outside its network:

PowerShell
$env:PGSSLMODE = 'require'
& 'C:\Program Files\PostgreSQL\18\bin\pg_dump.exe' `
    -h dpg-abc123def456-a.oregon-postgres.render.com -p 5432 -U myapp_user `
    -F c -f "D:\Backups\myapp-$(Get-Date -Format yyyyMMdd-HHmm).dump" myapp_db

Match or exceed the database's PostgreSQL version with your client tools (the Info page shows it).

Step 3: Schedule it

Use the script from the main Windows guide:

PowerShell
$Database  = 'myapp_db'
$PgHost    = 'dpg-abc123def456-a.oregon-postgres.render.com'
$Port      = 5432
$User      = 'myapp_user'
$env:PGSSLMODE = 'require'

with this pgpass.conf line:

Config
dpg-abc123def456-a.oregon-postgres.render.com:5432:myapp_db:myapp_user:YOUR_PASSWORD

Or generate everything with the script generator.

Moving off a free database before it expires

If your free database is about to expire and you'd rather not upgrade, a dump moves it anywhere:

  1. Take a backup as above. It's a complete, portable copy.
  2. Create the new database (another Render database, Neon, Supabase, a local PostgreSQL, anything).
  3. Restore it with pg_restore --no-owner --no-privileges. See copying a database to another server.
  4. Point your app at the new connection string.

Restoring

PowerShell
& "$bin\createdb.exe" -h localhost -U postgres myapp_copy
& "$bin\pg_restore.exe" -h localhost -U postgres -d myapp_copy --no-owner --no-privileges D:\Backups\myapp-20261014-0200.dump

More options in restoring a .dump file on Windows.

How PostgresBackup handles Render

Paste the External Database URL (add ?sslmode=require) into PostgresBackup's server dialog, test it, and create a nightly job. Its background service runs the backups from boot. Clone copies a Render database straight to another server, which is handy when a free database is about to expire. Clones are free, with or without a license.

The shortcut

Rather not maintain a backup script?

PostgresBackup is a Windows app that does all of this for you, with nothing to script and nothing to remember.

  • Scheduled pg_dump backups from a background service that starts with Windows
  • Keep the last N files plus hourly, daily, weekly, monthly and yearly copies
  • Restore any backup, or clone a database to another server, in a few clicks
  • PostgreSQL client tools included; standard .dump files, no lock-in
  • No account, no subscription, nothing leaves your machine

Clones, restores and manual backups are free. Scheduled backups are free for 14 days, then $9.99 once (launch price; $24 from January 1).