博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PostgreSQL 10.0 preview 功能增强 - slave提前苏醒
阅读量:7048 次
发布时间:2019-06-28

本文共 524 字,大约阅读时间需要 1 分钟。

标签

PostgreSQL , 10.0 , slave , promote , 提前苏醒 , lsn , 读一致性


背景

PostgreSQL 数据库的WAL为重做日志,如果数据库CRASH,那么需要等待WAL来恢复数据库,只有当数据库恢复到一致状态时,才能将数据库唤醒(或者说此时数据库才是一致的)。

数据库被唤醒后(promote),客户就可以对数据库执行查询、增删改查的动作了。

那么如果数据库需要apply很多的WAL文件,导致唤醒前的等待时间很长怎么办?

有什么方法能提前让数据库苏醒吗?

其实有,因为数据块都是有LSN的,如果数据库未达到一致位点,其实可以提供只读服务给用户,当用户读取的LSN比检查点早时,说明这个数据块是一致的,如果读取到的LSN比检查点晚,说明这个数据块可能是DIRTY的,需要WAL恢复,那么可以返回错误给用户,。

10.0提供了提前苏醒的功能。

这个patch的讨论,详见邮件组,本文末尾URL。

PostgreSQL社区的作风非常严谨,一个patch可能在邮件组中讨论几个月甚至几年,根据大家的意见反复的修正,patch合并到master已经非常成熟,所以PostgreSQL的稳定性也是远近闻名的。

参考

转载地址:http://hzjol.baihongyu.com/

你可能感兴趣的文章
使用 Exception 写出优雅的代码
查看>>
我的友情链接
查看>>
在js中如何获取地址栏上的参数呢
查看>>
ELK日志分析单机系统详解
查看>>
MonkenRunner通过HierarchyViewer定位控件的方法和建议(Appium/UIAutomator/Robotium姊妹篇)...
查看>>
[开源] 轻量级移动设备即时通讯技术MobileIMSDK:Android客户端开发指南
查看>>
js函数返回多个返回值的示例代码
查看>>
eclipse.ini内存设置
查看>>
ceph上weight和reweight的区别
查看>>
【路由器API】通过程序控制路由器的各种操作
查看>>
JUULUU kgb2b 龙猫B2B2c商城平台示例上线
查看>>
CentOS 6.3下配置LVM(逻辑卷管理)
查看>>
Flex中的皮肤(二)
查看>>
Linux od 命令
查看>>
我的友情链接
查看>>
What are words
查看>>
android之bundle传递数据--两个activities之间
查看>>
centos You don't have permission to access 解决
查看>>
WPF仿windows图片查看器(附源码)
查看>>
我的友情链接
查看>>