更新时间:2024-11-12 GMT+08:00
分享

PGReplicationStream

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

PGReplicationStream的继承关系

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

public class V3PGReplicationStream implements PGReplicationStream

构造方法

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

常用方法

表1 PGReplicationStream常用方法

方法名

返回值类型

描述

throws

close()

void

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

SQLException

forceUpdateStatus()

void

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

SQLException

getLastAppliedLSN()

LogSequenceNumber

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

-

getLastFlushedLSN()

LogSequenceNumber

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

-

getLastReceiveLSN()

LogSequenceNumber

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

-

isClosed()

boolean

复制流是否关闭。

-

read()

ByteBuffer

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

SQLException

readPending()

ByteBuffer

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

SQLException

setAppliedLSN(LogSequenceNumber applied)

void

设置应用的LSN。

-

setFlushedLSN(LogSequenceNumber flushed)

void

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

-

本接口类不支持计划外ALT特性。

相关文档