pg_restore: error: input file appears to be a text format dump. Please use psql.
A plain .sql dump was given to pg_restore, which only reads custom/directory/tar formats.
Seen on:
PostgreSQL
Meaning
pg_dump default output is plain SQL — restore it with psql. Use pg_dump -Fc to create archives for pg_restore.
Common causes
- Plain SQL dump passed to pg_restore
- Backup tool/hosting panel exported plain SQL while the restore script expects -Fc archives
⚡ Quick fix
- psql -d dbname -f dump.sql
- Create archives with pg_dump -Fc next time
Detailed fix by platform
PostgreSQL
psql "$DATABASE_URL" -f dump.sql
How to diagnose
- Format — Plain text or custom archive?
- Recent change — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 2 Oct 2026