pg_restore text dump 🐘 PostgreSQL

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

  1. psql -d dbname -f dump.sql
  2. Create archives with pg_dump -Fc next time

Detailed fix by platform

PostgreSQL

  1. psql "$DATABASE_URL" -f dump.sql

How to diagnose

  1. Format — Plain text or custom archive?
  2. 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.