二进制格式的备份只能使用pg_restore来还原,可以指定还原的表,编辑TOC文件,定制还原的顺序,表, 索引等。
文本格式的备份还原, 直接使用用户连接到对应的数据库执行备份文本即可,例如psql dbname -f bak.sql
pg_dump备份恢复示例1)创建数据库
createdb testdb
2)连入数据库testdb
psql testdb
3)创建测试表,插入数据
4)查看数据
testdb=# select * from tt;
5)备份
pg_dump testdb>/dbbak/testdb.sql #简单语法,可结合选项灵活备份
6)删除数据库testdb
dropdb testdb
7)创建新数据库(恢复之前需创建数据库)
createdb testdb
8)恢复数据
psql testdb </dbbak/testdb.sql
9)查看数据是否回复
psql testdb
testdb=# select * from tt;
至此,数据已成功恢复!
pg_restore -d postgres /dbbak/pgdumpbak/p.dmp
pg_dump备份恢复命令扩展练习 toc文件选择性备份恢复1)根据二进制备份文件生成toc文件
pg_restore -l -f /dbbak/pgdumpbak/toc /dbbak/pgdumpbak/c.dmp
2)修改 toc文件,以首行加分号“;”的方式注释掉不用还原的内容
3)以toc文件列表做恢复
pg_restore -F c -L /dbbak/pgdumpbak/toc -d testdb /dbbak/pgdumpbak/c.dmp
补充:Postgresql备份与还原命令pg_dump
postgresql数据库的备份和还原命令pg_dump
常用命令:
备份:pg_dump -U postgres -d myDBname -f dump.sql
其中
postgres是用户名
myDBname是数据库名
dump.sql是文件名
还原:createdb newDBname
psql -d newDBname -U postgres -f dump.sql
其中
postgres是用户名
newDBname是数据库名
dump.sql是文件名
参考:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持七叶笔记。如有错误或未考虑完全的地方,望不吝赐教。