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:
postgresql://myapp_user:[email protected]/myapp_dbThe 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:
$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_dbMatch 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:
$Database = 'myapp_db'
$PgHost = 'dpg-abc123def456-a.oregon-postgres.render.com'
$Port = 5432
$User = 'myapp_user'
$env:PGSSLMODE = 'require'with this pgpass.conf line:
dpg-abc123def456-a.oregon-postgres.render.com:5432:myapp_db:myapp_user:YOUR_PASSWORDOr 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:
- Take a backup as above. It's a complete, portable copy.
- Create the new database (another Render database, Neon, Supabase, a local PostgreSQL, anything).
- Restore it with
pg_restore --no-owner --no-privileges. See copying a database to another server. - Point your app at the new connection string.
Restoring
& "$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.dumpMore 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.