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)
常用方法
返回值 |
方法 |
描述 |
throws |
---|---|---|---|
void |
close() |
结束逻辑复制,并释放资源。 |
SQLException |
void |
forceUpdateStatus() |
强制将上次接收、刷新和应用的 LSN 状态发送到后端。 |
SQLException |
LogSequenceNumber |
getLastAppliedLSN() |
获取上次主机日志回放的LSN。 |
- |
LogSequenceNumber |
getLastFlushedLSN() |
获取上次主机刷新的LSN,即当前逻辑解码推进的LSN。 |
- |
LogSequenceNumber |
getLastReceiveLSN() |
获取上次接收的LSN。 |
- |
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。 |
- |