linux postgresql备份恢复,PostgreSQL教程(7)数据备份与还原

一、PostgreSQL逻辑备份与还原工具——pg_dump、pg_restore、pg_dumpall

1、pg_dump常用选项

-U:指定用户名

-W:指定密码

-F :指定备份格式,默认备份文件为sql格式

-lock-wait-timeout=10s:备份时锁超时时间。避免备份期间有事务一直未执行完成导致备份卡住

--exclude-table=TABLE_NAME:指定不需要备份的表

--exclude-schema=SCHEMA_NAME:指定不需要备份的SCHEMA

2、pg_dump备份与还原

#方法1:备份linuxe库的数据为SQL格式然后进行还原

pg_dump -h 192.168.0.103 -U tanglu linuxe > linuxe.sql

psql -h 192.168.0.103 -U tanglu -d linuxe -f linxue.sql #恢复数据前需要先创建好数据库

#使用restore还原的方式

pg_dump -h 192.168.0.103 -U tanglu -Fc linuxe > linuxe.dump #-F指定格式为dump专有格式

pg_restore -h 192.168.0.103 -U tanglu -d linuxe linxue.dump #还原数据到linuxe库中

3、使用pg_dumpall备份,加选项可以只备份表结构等

pg_dumpall -h 192.168.0.103 > pg_all.sql #所有库

psql -h 192.168.0.103 -U tanglu -d linuxe -f pg_all.sql

二、PostgreSQL物理备份工具——pg_rman、pg_basebackup(使用物理备份方式需要先配置好归档文件,非归档模式下数据库将覆盖掉日志文件)

1、pg_rman常用选项

-B:指定备份数据存放路径

-D:指定需要备份的数据路径

-b:指定备份方式,如full、incremental

2、pg_rman的使用(该工具需要先安装)

pg_rman -B /data/backup/pgsql/ -D /data/postgresql/data/ init #初始化备份目录

pg_rman -h 192.168.0.104 -Upostgres -B /data/backup/pgsql/ -D /data/postgresql/data/ -d linuxe -b full  backup #全备

pg_rman -h 192.168.0.103 -D /data/postgresql/ -b incremental backup #增量备份

pg_rman -B /data/backup/pgsql/ validate #备份后需要进行数据校验

pg_rman show #查看历史备份

pg_rman delete "2020-08-28 22:16:22" #删除某个历史备份

47e7a31c3ae5139a8cd8d10f6b5dace7.png

#恢复数据

rm -rf /data/postgresql/data/*

pg_rman restore #一条命令完成恢复

3、pg_basebackup的使用(在进行主从部署的时候已经接触过该工具,pg_basebackup作为备份工具的时候可以把指定实例中所有数据(全量备份+WAL日志)都拷贝出来,在还原的时候会先恢复全备数据,然后再重放WAL日志)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值