Class ReplicationStreamBuilder
- java.lang.Object
-
- org.postgresql.replication.fluent.ReplicationStreamBuilder
-
- All Implemented Interfaces:
ChainedStreamBuilder
public class ReplicationStreamBuilder extends java.lang.Object implements ChainedStreamBuilder
-
-
Field Summary
Fields Modifier and Type Field Description private BaseConnectionbaseConnection
-
Constructor Summary
Constructors Constructor Description ReplicationStreamBuilder(BaseConnection connection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ChainedLogicalStreamBuilderlogical()Create logical replication stream that decode raw wal logs by output plugin to logical form.ChainedPhysicalStreamBuilderphysical()Create physical replication stream for process wal logs in binary form.
-
-
-
Field Detail
-
baseConnection
private final BaseConnection baseConnection
-
-
Constructor Detail
-
ReplicationStreamBuilder
public ReplicationStreamBuilder(BaseConnection connection)
- Parameters:
connection- not null connection with that will be associate replication
-
-
Method Detail
-
logical
public ChainedLogicalStreamBuilder logical()
Description copied from interface:ChainedStreamBuilderCreate 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:
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 }- Specified by:
logicalin interfaceChainedStreamBuilder- Returns:
- not null fluent api
-
physical
public ChainedPhysicalStreamBuilder physical()
Description copied from interface:ChainedStreamBuilderCreate physical replication stream for process wal logs in binary form.Example usage:
LogSequenceNumber lsn = getCurrentLSN(); PGReplicationStream stream = pgConnection .getReplicationAPI() .replicationStream() .physical() .withStartPosition(lsn) .withSlotName("test_decoding") .withSlotOption("include-xids", false) .withSlotOption("skip-empty-xacts", true) .withStatusInterval(5, TimeUnit.SECONDS) .withAutomaticFlush(true) .start(); while (true) { ByteBuffer buffer = stream.read(); //process binary WAL logs }- Specified by:
physicalin interfaceChainedStreamBuilder- Returns:
- not null fluent api
-
-