更新时间:2024-05-07 GMT+08:00

PGReplicationStream

PGReplicationStream是GaussDB JDBC驱动中提供的一个API接口类,用于操作逻辑复制流。

PGReplicationStream的继承关系

PGReplicationStream是逻辑复制的接口,实现类是V3PGReplicationStream,该类位于org.postgresql.core.v3.replication Package中,该类的声明如下:

public class V3PGReplicationStream implements PGReplicationStream

构造方法

public V3PGReplicationStream(CopyDual copyDual,LogSequenceNumber startLSN,long updateIntervalMs,ReplicationType replicationType)

常用方法

表1 PGReplicationConnection常用方法

返回值

方法

描述

throws

void

close()

结束逻辑复制,并释放资源。

SQLException

void

forceUpdateStatus()

强制将上次接收、刷新和应用的 LSN 状态发送到后端。

SQLException

LogSequenceNumber

getLastAppliedLSN()

获取上次主机日志回放的LSN。

-

LogSequenceNumber

getLastFlushedLSN()

获取上次主机刷新的LSN,即当前逻辑解码推进的LSN。

-

LogSequenceNumber

getLastReceiveLSN()

获取上次接收的LSN(针对LSN序复制槽)或CSN(针对CSN序复制槽)。

-

boolean

isClosed()

复制流是否关闭。

-

ByteBuffer

read()

从后端读取下一条WAL记录。如果读取不到,该方法阻塞I/O读。

SQLException

ByteBuffer

readPending()

从后端读取下一条WAL记录。如果读取不到,该方法不阻塞I/O读。

SQLException

void

setAppliedLSN(LogSequenceNumber applied)

设置应用的LSN。

-

void

setFlushedLSN(LogSequenceNumber flushed)

设置刷新的LSN(针对LSN序复制槽)或CSN(针对CSN序复制槽),在下次更新时发送至后端,用于推进服务端LSN(针对LSN序复制槽)或CSN(针对CSN序复制槽)。

-