org.postgresql.replication.fluent.ChainedStreamBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of postgresql Show documentation
Show all versions of postgresql Show documentation
PostgreSQL JDBC Driver JDBC4
/*
* Copyright (c) 2016, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package org.postgresql.replication.fluent;
import org.postgresql.replication.fluent.logical.ChainedLogicalStreamBuilder;
import org.postgresql.replication.fluent.physical.ChainedPhysicalStreamBuilder;
/**
* Start point for fluent API that build replication stream(logical or physical).
* Api not thread safe, and can be use only for crate single stream.
*/
public interface ChainedStreamBuilder {
/**
* Create logical replication stream that decode raw wal logs by output plugin to logical form.
* Default about logical decoding you can see by following link
*
* Logical Decoding Concepts
* .
*
*
* Example usage:
*
* {@code
*
* PGReplicationStream stream =
* pgConnection
* .getReplicationAPI()
* .replicationStream()
* .logical()
* .withSlotName("test_decoding")
* .withSlotOption("include-xids", false)
* .withSlotOption("skip-empty-xacts", true)
* .start();
*
* while (true) {
* ByteBuffer buffer = stream.read();
* //process logical changes
* }
*
* }
*
*
* @return not null fluent api
*/
ChainedLogicalStreamBuilder logical();
/**
* Create physical replication stream for process wal logs in binary form.
*
* Example usage:
*
* {@code
*
* LogSequenceNumber lsn = getCurrentLSN();
*
* PGReplicationStream stream =
* pgConnection
* .getReplicationAPI()
* .replicationStream()
* .physical()
* .withStartPosition(lsn)
* .start();
*
* while (true) {
* ByteBuffer buffer = stream.read();
* //process binary WAL logs
* }
*
* }
*
*
* @return not null fluent api
*/
ChainedPhysicalStreamBuilder physical();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy