數據庫備份:
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