
# PGReplicationStream
PGReplicationStream是GaussDB JDBC驱动中提供的一个API接口类，用于操作逻辑复制流。
#### PGReplicationStream的继承关系
PGReplicationStream是逻辑复制的接口，实现类是V3PGReplicationStream，该类位于com.huawei.opengauss.jdbc.core.v3.replication Package中，该类的声明如下：
```
public class V3PGReplicationStream implements PGReplicationStream
```
#### 构造方法
public V3PGReplicationStream(CopyDual copyDual, LogSequenceNumber startLSN, long updateIntervalMs, ReplicationType replicationType)
#### 常用方法
表1PGReplicationConnection常用方法 
| 方法名                                      | 返回值类型             | 描述                               | throws       |
|:---|:---|:---|:---|
| close()                                  | void              | 结束逻辑复制，并释放资源。                    | SQLException |
| forceUpdateStatus()                      | void              | 强制将上次接收、刷新和应用的 LSN 状态发送到后端。      | SQLException |
| getLastAppliedLSN()                      | LogSequenceNumber | 获取上次主机日志回放的LSN。                  | -            |
| getLastFlushedLSN()                      | LogSequenceNumber | 获取上次主机刷新的LSN，即当前逻辑解码推进的LSN。      | -            |
| getLastReceiveLSN()                      | LogSequenceNumber | 获取上次接收的LSN。                      | -            |
| 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。 | -            |
   
