Recommended: Clean Restore
pg_restore -h [IP] \
-U [User] \
-d [Database name] \
--no-owner \
--no-privileges \
--clean \
--if-exists \
--single-transaction \
--exit-on-error \
-v \
[filename].dump
Parallel Restore (For large DB, use 4 workers to speed up - do not use with single-transaction)
pg_restore -h [IP] -U [User] -d [Database name] \
--no-owner --no-privileges -j 4 -v [filename].dump
| Flag | Objective |
| -U [USER] | User to connect with |
| -d [DB] | Target database |
| --no-owner | Don't restore ownership (become current user's) |
| --no-privileges | Don't restore GRANT/REVOKE |
| --clean | DROP existing objects before creating |
| --single-transaction | Atomic restore (all or nothing) |
| --exit-on-error | Stop on first error |
| -j [N] | Parallel restore with N workers |
.mymoonnote