psql < backup.sql
A safer alternative uses -1
to wrap the restore in a transaction. The -f
specifies the filename rather than using shell redirection.
psql -1f backup.sql
Custom format files must be restored using pg_restore
with the -d
option to specify the database:
pg_restore -d DATABASE DATABASE.pgsql
The custom format can also be converted back to SQL:
pg_restore backup.pgsql > backup.sql
Usage of the custom format is recommended because you can choose which things to restore and optionally enable parallel processing.
You may need to do a pg_dump followed by a pg_restore if you upgrade from one postgresql release to a newer one.