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)
常用方法
| 
        方法名  | 
      
        返回值类型  | 
      
        描述  | 
      
        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特性。