使用 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