
# 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)
#### 常用方法
表1PGReplicationStream常用方法 
| 方法名                                      | 返回值类型             | 描述                                                                                   | 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序复制槽）。 | -            |
   
![](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
本接口暂不支持计划外ALT特性。
