pg_dump - Dump 資料庫
pg_dump -h $host -U $user -F c -f $dump_file $db
這樣會把 $db dump 成 $dump_file
這邊參數 -F c 指定 dump 出來的格式是 custom 格式,這是 PostgreSQL 自定義的格式,也是壓縮過的格式,比較節省空間
pg_restore - Restore 資料庫
pg_restore -h $host -U $user -v -e -c -C -d template1 $dump_file
-U 是要用哪個的帳號來 restore ,這邊要注意這個帳號要有 create db 的權限,簡單一點可以直接用 superuser 的帳號來用
-v 是輸出 restore 的過程,不加會快一點
-e 是有錯誤的時候就停止 restore ,這個參數可以確保 restore 中有錯可以停下來,這樣就可以針對這個錯誤修正
-c 是在 restore 前先 clean database , clean 的方式其實就是 drop db
Restore 特定的 table
如果有時候只需要恢復某一個 table 內的資料,也可以透過 -a -t 這兩個參數來恢復特定 table 的資料,這樣可以節省恢復所需要的時間
pg_restore -h $host -U $user -v -a -t $table -d $database $dump_file
-a 指定只恢復 data
-t 指定恢復的 table
https://ianwu.tw/press/postgresql/tutorial/pg_dumo_pg_restore.html#pg-dump-dump-%E8%B3%87%E6%96%99%E5%BA%AB
備份單一資料庫
mysqldump -h hostname -u root -p database_name > backup.sql;
復原單一資料庫
# mysql -u root -p database_name < backup.sql
https://code.yidas.com/mysqldump/
全新的繁體中文 WordPress 網站