将 postgres 从节点提升为主节点
Promoting a postgres slave to master node
我有两个postgresql 11.4
运行作为主节点和从节点。
我正在主服务器中插入大量数据,以查看它是否被复制到从服务器上。
尝试模拟以下情况,
- 插入大量数据
pause_wal_replay
在奴隶上
- 等待 wal 文件发送到 slave
resume_wal_replay
在奴隶上
- 当有多个wal文件等待回放时立即升级
如果此时发出promote signal
[当有多个wal-已经发货等待重放],slave什么时候提升自己?
重播所有现有的 wal 文件后[shipped and waiting to be replayed
]
或
收到推广信号后立即。 [ Without replaying the wal files
等待 - causing data loss
? ]
如果是(1)
,如果master节点还在发送wal文件,我尝试提升slave会怎样。它会忽略传入的wal并宣传自己吗?
望PG高手指点。
PS :如果值得一提,我会通过创建“pg_failover_trigger
”来发出推广信号。
当它被提升时,备用服务器关闭 WAL 接收进程并恢复它拥有的所有剩余 WAL。所以我们从 1.
得到行为
我有两个postgresql 11.4
运行作为主节点和从节点。
我正在主服务器中插入大量数据,以查看它是否被复制到从服务器上。 尝试模拟以下情况,
- 插入大量数据
pause_wal_replay
在奴隶上- 等待 wal 文件发送到 slave
resume_wal_replay
在奴隶上- 当有多个wal文件等待回放时立即升级
如果此时发出promote signal
[当有多个wal-已经发货等待重放],slave什么时候提升自己?
重播所有现有的 wal 文件后[
shipped and waiting to be replayed
] 或收到推广信号后立即。 [
Without replaying the wal files
等待 -causing data loss
? ]
如果是(1)
,如果master节点还在发送wal文件,我尝试提升slave会怎样。它会忽略传入的wal并宣传自己吗?
望PG高手指点。
PS :如果值得一提,我会通过创建“pg_failover_trigger
”来发出推广信号。
当它被提升时,备用服务器关闭 WAL 接收进程并恢复它拥有的所有剩余 WAL。所以我们从 1.
得到行为