作者
digoal
日期
2016-03-11
标签
PostgreSQL , promote , 时间线
背景
PostgreSQL的physical standby数据库的promote过程,数据库会在pg_xlog目录产生3个文件。
例如将备库1 promote,它将在pg_xlog目录产生如下文件:
A.partial (xlog)
NEWTL_A (xlog)
NEWTL.history (history file)
例如备库1当前已接收到的XLOG位置是 00000001000000000000002D 文件中的某个位置 0/2D15D7D0,现在promote它 。
将会在pg_xlog目录中产生3个文件:
00000001000000000000002D.partial
00000002000000000000002D
(00000001000000000000002D.partial 的内容会拷贝到 00000002000000000000002D)
00000002.history
1 0/2D15D7D0 no recovery target specified
假设还有一个备库叫备库2,备库2如何能顺利的对接到已激活的备库1呢?
有个前提条件
1. 备库2在TL1这条时间线上,还没有接收到00000001000000000000002D 这个文件。
把00000002.history拷贝到备库2的pg_xlog。
备库2会在应用完00000001000000000000002C后请求下一个时间线的 00000002000000000000002D 文件。
这样就能完美对接。
PostgreSQL 许愿链接
您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.