pg数据库的备份与恢复
数据库备份:
1.采⽤sql⽂件进⾏备份
2.直接复制数据库⽂件进⾏全局备份
1.采⽤sql⽂件进⾏备份
将数据库dbname,从host1复制到host2
pg_dump -h host1 dbname | psql -h host2 dbname
pg_dump指令:
备份:pg_dump dbname > outfile恢复:psql dbname < infile
注:转储sql⽂件中不包含创建数据库的语句。需要在恢复之前先创建⼀个数据库。
pg_dump⼯具转储的是⼀个数据库dbname中所有的信息,不会转储⾓⾊和表空间等信息,如果需要完整转储整个数据库中所有的数据库实例,PostgreSQL提供了⼀个⼯具pg_dumpall,该⼯具能够转储⼀个数据库集簇中所有的内容,包含了前⾯提到的⾓⾊和表空间。使⽤的⽅法是:
备份:pg_dumpall > outfile恢复:psql -f infile postgres
2.直接复制数据库⽂件进⾏全局备份
直接将存储数据库的⽂件进⾏备份,也就是通常下的pgdata⽬录tar -czvf backup.tar.gz /data1/pgdata