VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

PGReplicationStream接口

功能描述

非线程安全的复制流(尽管某些方法可以被不同的线程安全地调用)。完成后流应该关闭,释放后端资源。

close

功能描述

停止服务器上的复制更改并释放资源。在此连接之后,可以重用到另一个查询。在关闭当前流后,他们不能再使用。

语法格式

void close()
           throws SQLException

参数说明

无。

返回值

无。

forceUpdateStatus

功能描述

强制发送最后接收、刷新和应用 LSN 状态到后端。 您不能显式发送 LSN 状态,因为 PGReplicationStream 通过 CommonOptions.getStatusInterval() 按配置的间隔定期将状态发送到后端。

语法格式

void forceUpdateStatus()
                throws SQLException

参数说明

无。

返回值

无。

getLastAppliedLSN

功能描述

最后应用的 lsn 在更新消息中发送到支持。仅通过 setAppliedLSN(LogSequenceNumber) 更新参数,在不同于主线程的线程中调用此方法是安全的。

语法格式

LogSequenceNumber getLastAppliedLSN()

参数说明

无。

返回值

返回在备用数据库中应用的最后一个 WAL 的非空位置。

getLastFlushedLSN

功能描述

最后刷新的 LSN 在更新消息中发送到后端。仅通过 setFlushedLSN(LogSequenceNumber) 更新参数,在不同于主线程的线程中调用此方法是安全的。

语法格式

LogSequenceNumber getLastFlushedLSN()

参数说明

无。

返回值

返回最后一个 WAL 的 NOT NULL 位置刷新到备用数据库中的磁盘。

getLastReceiveLSN

功能描述

通过执行 read() 方法更新参数在不同于主线程的线程中调用此方法是安全的。但是,通常在read()或readPending()成功后在主线程中调用该方法,以获取接收到的记录对应的LSN。

语法格式

LogSequenceNumber getLastReceiveLSN()

参数说明

无。

返回值

返回上次通过 read() 方法接收的 NOT NULL LSN 位置。

isClosed

功能描述

判断是否关闭。

语法格式

boolean isClosed()

参数说明

无。

返回值

如果复制流已经关闭,则返回 true,否则返回 false。

read

功能描述

从后端读取下一条 wal 记录。 它的方法可以被阻塞,直到新消息不会从服务器收到。

语法格式

ByteBuffer read()
                   throws SQLException

参数说明

无。

返回值

复制协议接收到的非空字节数组,返回 ByteBuffer 使用偏移量包裹接收到的字节数组,因此,请谨慎使用 ByteBuffer.array()。

readPending

功能描述

从后端读取下一个 WAL 记录。与 read() 相比,此方法不会阻塞。如果来自后端的消息不存在,则返回 null。 它允许定期检查流中的消息,如果它们在一段时间内没有睡眠,但它的时间应该少于 CommonOptions.getStatusInterval() 以避免与服务器断开连接。

语法格式

ByteBuffer readPending()
                          throws SQLException

参数说明

无。

返回值

复制协议收到的字节数组,如果没有来自服务器的挂起消息,则为 NULL。返回 ByteBuffer 使用偏移量环绕接收到的字节数组,因此,请谨慎使用 ByteBuffer.array()。

setAppliedLSN

功能描述

通知后端哪个 LSN 已应用到备用状态。 反馈将在下一次更新状态迭代时发送到后端。

语法格式

void setAppliedLSN(LogSequenceNumber applied)

参数说明

参数名 参数说明
applied 在备用数据库中应用的最后一个WAL的非空位置。

返回值

无。

setFlushedLSN

功能描述

通知后端哪个 LSN 已应用到备用状态。 反馈将在下一次更新状态迭代时发送到后端。

语法格式

void setFlushedLSN(LogSequenceNumber flushed)

参数说明

参数名 参数说明
flushed 最后一个 WAL 的 NOT NULL 位置刷新到备用数据库中的磁盘

返回值

无。

其他

已知的实现类:V3PGReplicationStream。