PostgreSQL的Backup和Recovery操作相对比较简单,通过简单的几个命令和配置即可实现备份和恢复.
下面通过例子简单说明PG备份和恢复的基本操作.
场景
1.执行备份
2.创建数据表并执行插入
3.删除数据
4.使用备份恢复到删除数据前的状态
参数配置
修改配置文件postgresql.conf
其中archive.sh脚本如下(该脚本参照自德哥博客)
该脚本把WAL log拷贝到$BASEDIR/$DATE目录下
同时修改日志输出
验证配置
启动数据库
切换日志
切换前的目录信息
执行切换
切换后的目录信息
执行备份
使用PG提供的pg_basebackup命令即可实现.
-D指定备份存储的目录
-l指定LABEL
-v显示诊断信息
执行完毕,备份信息可通过查看/data/backup/20190311-1/backup_label文件获得
模拟PITR
插入数据
查看归档日志
记录当前时间
删除数据
恢复
关闭数据库,从base backup中恢复数免费云主机域名据
创建recovery.conf文件,指定恢复时间点
执行恢复并验证
查看日志输出
日志提示recovery has paused,连接数据库,执行pg_wal_replay_resume()
日志输出如下
recovery.conf文件改名为recovery.done
backup_label文件改名为backup_label.old
验证数据
参考资料
Base Backup & Point-in-Time Recovery
SQLServer的检查点、redo和undo 检查点与恢复效率的关系 检查点将脏数据页从当前数据库的缓冲区高速缓存刷新到磁盘上。 这最大限度地减少了恢复时必须重做(Redo)的修改量。 为什么在日志文件中设置了检查点之后,基于日志的恢复机制就可以提高效率了呢…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。