700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > PostgreSQL 增量备份详解以及相关示例

PostgreSQL 增量备份详解以及相关示例

时间:2019-11-12 21:04:11

相关推荐

PostgreSQL 增量备份详解以及相关示例

数据库|mysql教程

postgresql, 增量备份

数据库-mysql教程

易语言网截支持库源码,ubuntu无法新建,什么树适合爬虫,回归 php,黄山搜狗seolzw

PostgreSQL没有类似MySQL的二进制日志,但是有和MySQL类似的REDOLOG,并且有MySQL没有的REDO归档功能。当然REDO的归档已经MariaDB和Percona-MySQL已经实现。那我

ios 仿 源码,ubuntu jdk11,爬虫python教程pdf,$符号 php,seo人员网站lzw

usb驱动程序源码,vscode中控制面板没有终端,ubuntu u盘版,tomcat监控与调优教学,sqlite 工具最好,网页设计网站作业,服务器和域名只是,z-bolg相册插件,前端js框架iceface,云创数据爬虫,php书本,内江百度seo关键词排名,哪里找分享文章赚钱的网站,金融h5网页源码,wordpress汽车模板,js手机端菜单滑动切换页面,华众主机管理系统7.2破解,程序源码调用图lzw

PostgreSQL 没有类似MySQL 的二进制日志, 但是有和MySQL 类似的REDO LOG,并且有MySQL 没有的REDO 归档功能。当然REDO 的归档已经MariaDB 和Percona-MySQL 已经实现。

那我们就利用PGSQL的REDO 归档,也叫WAL来实现增量备份。

假设我们已经做了一个物理的全备,并且相应的参数都已经设置完毕,比如以下:

/home/full_backup 保存全备的目录。

/home/increment_log 保存增备的目录。

进入postgresql.conf

开启WAL.

wal_level = archive

wal_keep_segments=1

开启WAL 的归档模式.

archive_mode = onarchive_command = ‘test ! -f /home/increment_log/%f && cp %p /home/increment_log/%f’ (归档,也就是增量)

那么关于WAL归档日志要注意的一点是,如果CRASH 掉了,那么没有归档的XLOG也可能没有提交到数据文件,,所以有可能这部分数据会丢失掉。所以在之后恢复的时候我们要把这部分XLOG拷贝到全备的对应目录。

恢复方法:

1. 确保没有任何业务对PG服务进行访问。(有可能这个时候PG已经CRASH掉了。)

2. 先停掉POSTGRESQL 服务。

3. cd /home/pgsql;

4. mv data data_old

6. cp -rfp /home/full_backup/* /home/pgsql (拷贝全备)

7. cp -rfp data_old/pg_xlog/000* data/pg_xlog/ (这里是拷贝自从最后一个增量和系统CRASH之间的XLOG到对应的目录。)

8. cd data

9. vi recovery.conf (添加recovery.conf文件,让PG认为这次是在恢复。)

restore_command=’test ! -f /home/increment_log/%f && cp /home/increment_log/%f %p’

recovery_target_timeline = ‘latest’

10. chown -R postgres.postgres recovery.conf

11. 启动postgresql 服务即可。

如果正确恢复了,那么recovery.conf 会自动更名为recovery.done.

以我的机器为例,我的版本是9.3,PG_XLOG中看到的BACKUP 信息:

[root@postgresql-instance pg_xlog]# cat 000000010000000000000003.00000028.backup

START WAL LOCATION: 0/3000028 (file 000000010000000000000003)

STOP WAL LOCATION: 0/30000B8 (file 000000010000000000000003)

CHECKPOINT LOCATION: 0/3000028

BACKUP METHOD: pg_start_backup

BACKUP FROM: master

START TIME: -01-07 03:35:02 EST

LABEL: ytt

STOP TIME: -01-07 03:36:27 EST

日志中会看到恢复如下恢复信息:

LOG: 00000: starting archive recovery

LOCATION: StartupXLOG, xlog.c:4983

LOG: 00000: redo starts at 0/3000028

LOCATION: StartupXLOG, xlog.c:5531

LOG: 00000: consistent recovery state reached at 0/303FC88

本文出自 “上帝,咱们不见不散!” 博客,请务必保留此出处

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。