使用 pg_dump 和 pg_restore 來備份和還原 postgresql的數據;
導出:pg_dump
導入:pg_restore
最簡單的導出命令如下:(導出指定數據庫)
$ pg_dump db_name > db.sql
注意:導出來的sql格式和 mysqldump導出的還是有很大區別的;
如果出現 bash: db.sql: Permission denied, 則有可能是目錄權限的原因,因為 postgresql的用戶實際也是 linux的用戶,
所以如果出現以上錯誤提示,建議切換到當前目錄再進行操作:
cd ~
導出指定數據表:
$ pg_dump -t table_name db_name > db.sql
如果是需要壓縮:
$ pg_dump -d db_name | gzip > db.gz
------------------------------------------------
導入數據:
導入指定數據庫:
$ psql -d db_name -f db.sql
或者:
$ pg_restore -d newdb db.dump
導入壓縮過的數據:
createdb dbname gunzip -c filename.gz | psql dbname
或者:
cat filename.gz | gunzip | psql dbname
各種參數的含有請查看參考中的連接
參考:http://manpages.ubuntu.com/manpages/bionic/man1/pg_dump.1.html
https://www.yuzhi100.com/tutorial/postgresql/postgresql-pgdump-client
http://www.360doc.com/content/13/1219/10/10384031_338338037.shtml