後來有部分專案換成了 postgresql 所以這邊也記錄一下 PostgreSQL 如何做備份還原,而 PostgreSQL 有兩種方式
- 產出純 sql script
備份 DBdocker exec -i CONTAINER pg_dump -U USER -d DATABASE > backup.sql
還原 DB
docker exec -i CONTAINER pg_dump -U USER -d DATABASE < backup.sql
- 採用 PostgreSQL 格式
備份 DBdocker exec -i CONTAINER pg_dump -Fc -U USER -d DATABASE > backup.dump
還原 DB
docker exec -i CONTAINER pg_restore -U USER -d DATABASE < backup.dump
使用 pg_restore 的時候如果遇到表權限問題可以加上
來略過權限--no-owner
3.採用分檔案形式
備份DBdocker exec -i CONTAINER pg_dump -Fd -j 8 -U USER -d DATABASE -f backup_dir
還原DB
docker exec -i CONTAINER pg_restore -U USER -j 8 -d DATABASE backup_dir
以上只是一些比較單純常用到的,如果是大型資料庫建議可以使用
來做平行 Table 轉存-Fd