admin管理员组

文章数量:1666593

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 文件。
这样就能完美对接。

本文标签: 详解过程时间postgresqlPromote