Linux平台下HighgoDB 备份恢复指导手册

目录

文档用途

详细信息

文档用途

在Linux平台下,若HGDB数据库故障,需要恢复。那么本文档可以帮您完成数据恢复的目的。

详细信息

1.备份概述

1.1备份简介

防止数据丢失的第一道防线就是备份。一个严谨的数据库备份策略,可以在数据库发生故障或误操作的情况下,将损失降到最低,甚至于将数据恢复到与发生故障前一模一样。

数据库备份有多种方式,如逻辑备份和物理备份。HighgoDB提供了pg_dump及pg_dumpall命令进行数据库的逻辑备份,但由于在恢复时,介于逻辑备份与故障时间点之间的数据难以恢复,故一般不采取逻辑备份方式进行数据库备份;物理备份包含冷备份和热备份,冷备份需要停数据库,这在正常的业务应用中是不现实的,故一般采用的是物理备份的热备份。

物理备份一般又包含两种,一类是使用文件系统或块设备级别的快照功能完成备份,但此类备份方法,当出现故障时,难以将数据恢复到需求的时刻;另一类是使用数据库的PITR方法进行热备份,这是较常使用的数据库数据备份方式,接下来即介绍此方法。

1.2 PITR物理备份相关概念

WAL日志:用于记录数据库数据文件的每次改变,在数据目录的pg_xlog子目录中,当数据库崩溃后,可以通过重放最后一次checkpoint点之后的日志文件,将数据库推到一致状态。

扫描二维码关注公众号,回复: 3892494 查看本文章

PITR:基于时间点的备份(Point-In-Time Recovery),通过不停地重放WAL日志就可以将数据推到备份结束后的任意一个时间点。

WAL归档:即将在线的WAL日志备份出来。

2.备份脚本示例

为保证密码安全,脚本不使用明文密码,需要先将本地登陆设置为无密码验证,即本地用户下输入psql回车可以直接登录。

该脚本每次执行完成备份并且成功后,会清理保留份数之前的所有备份以及最早保留备份之前无用的归档日志,如果备份失败,不会对以往备份和归档进行删除。

备份日志会存放在备份目录中backuplog_$day.log中。

生成的备份文件存放在备份目中下的数字文件夹内,例如:

1.png

9、10、11分别是独立的一次数据基础备份,每次执行一次备份文件夹的序号会增加1。

支持自定义表空间文件的备份,即使不在$PGDATA目录中,备份文件会备份到nodefault_tbs目录下,目录结构仍然保留原有结构,恢复时可以直接恢复到原有路径下。例如/highgo/tb1会备份成/hgbackup/base/19/nodefault_tbs/highgo/tb1

注:附件中为本文使用的备份脚本。

3.恢复过程示例

详细的恢复过程实例请登录【瀚高技术支持平台】查看

https://support.highgo.com/#/index/docContent/153a94f105ac2383

猜你喜欢

转载自blog.csdn.net/pg_hgdb/article/details/83178603