备份数据库:
pg_dump -h localhost -U root demo02 > /home/arno/dumps/demo02.bak
恢复数据库:
psql -h localhost -U root -d demo < demo.bak
备份表:
pg_dump -h localhost -U root demo02 -t books > /home/arno/dumps/books.bak
恢复表:
psql -h localhost -U root -d demo -t books < /home/arno/dumps/books.bak
psql copy to/from用法:
1. 需要使用postgres超级用户登陆数据库
psql -U postgres -d demo02
2. 保存/读取的文件夹需要赋予postgres用户可读写的权限
3. 导出表中数据到文件
copy books to '/opt/PostgreSQL/9.5/data/xxx.csv' with CSV;
4. 导入文件内容到数据库(增加不是覆盖,以前表中数据保留)
copy books(id,title) from '/opt/PostgreSQL/9.5/data/xxx.csv' delimiter as ',' csv quote as '"';
以上参考网址:https://my.oschina.net/bianweiall/blog/516604
注意:
1,该命令是在dos窗口执行的,而且需要定位到命令所在的文件夹,比如我的psql命令是在F:\install\postgre9.4.5\bin。F:\install\postgre9.4.5是我的数据库的安装路径。
2,低版本的数据库不能对高版本的数据库进行备份和还原操作,因此有可能需要对自己的数据库进行升级。
这两点是我在实际操作过程中遇到的问题,希望对大家有帮助。