Restoring from Backups
1. Restoring Plain SQL Dump
psql -d shop -f shop.sql
psql -d shop -v ON_ERROR_STOP=1 -f shop.sql
pg_restore -d shop shop.dump
pg_restore -d shop /backups/shop.d
4. Using Parallel Restore
pg_restore -d shop -j 8 shop.dump
5. Restoring Specific Tables
pg_restore -d shop -t orders -t customers shop.dump
6. Restoring Specific Schemas
pg_restore -d shop -n app shop.dump
7. Listing Contents
pg_restore -l shop.dump > toc.list
8. Using Restore List
vi toc.list # delete or reorder lines (prefix with ;)
pg_restore -L toc.list -d shop shop.dump
9. Restoring Schema Only
pg_restore --schema-only -d shop shop.dump
10. Restoring Data Only
pg_restore --data-only --disable-triggers -d shop shop.dump
11. Cleaning Before Restore
pg_restore -c --if-exists -d shop shop.dump # DROP objects then restore
12. Creating Database Before Restore
pg_restore -C -d postgres shop.dump # CREATE DATABASE then restore
13. Handling Errors
| Flag | Effect |
| --exit-on-error | Stop on first error |
| --single-transaction | All-or-nothing |
| --no-owner / --no-privileges | Skip ALTER OWNER / GRANT |
| --disable-triggers | Skip triggers during data load |