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