一、在PG数据库中,备份可分逻辑备份和物理备份,这里我们主讲逻辑备份,通过pg_dump备份。
1、实例全备,pg_dumpall命令,通过调用pg_dump命令。本质是一样的。不过pg_dumpall命令会备份包括表空间和用户。都可以备份自定义的隐式转换和操作符。
命令:
备份
Pg_dumpall –U sysdba > aaa.out
输入密码次数跟数据库数量有关,几个库就需要输入几次密码
恢复:
Psql –U sysdba < aaa.out
说明:实例备份进行备份时,需要输入多次密码,输入密码次数根据数据库数量而定。
实例备份进行恢复时,不需要在新库新建数据库和用户,但是恢复完成的普通用户会丧失登录权限,需要管理员赋予登录权限: alter role username login; 由于pg_dumpall是会备份用户的,所以会继承元密码(包含三权用户)。
2、单个数据库备份恢复:使用pg_dump、pg_restore命令
备份:
pg_dump --verbose --host localhost --port 5866 --username sysdba --format custom --file /home/xxx.backup dbname
恢复:
pg_restore --verbose --host localhost --port 5866 --username sysdba --dbname dbname–format custom /home/xxx.backup
使用说明:在恢复前使用pg_dump备份的单个数据库进行恢复时,需要在新库建好数据库,用户名,以及用户对数据库要有操作权限。备份恢复都是用sysdba用户即可。
参数说明:所有参数说明可通过pg_dump --help查看
–verbose 输出详情信息
–format 输出的文件格式,custom是定制格式
–file 是输出的文件路径和名称 文件格式可以是:.backup .out .sql .text