/*
* 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.ChainedLogicalCreateSlotBuilder;
import org.postgresql.replication.fluent.physical.ChainedPhysicalCreateSlotBuilder;
Fluent interface for specify common parameters for Logical and Physical replication.
/**
* Fluent interface for specify common parameters for Logical and Physical replication.
*/
public interface ChainedCreateReplicationSlotBuilder {
Get the logical slot builder.
Example usage:
pgConnection
.getReplicationAPI()
.createReplicationSlot()
.logical()
.withSlotName("mySlot")
.withOutputPlugin("test_decoding")
.make();
PGReplicationStream stream =
pgConnection
.getReplicationAPI()
.replicationStream()
.logical()
.withSlotName("mySlot")
.withSlotOption("include-xids", false)
.withSlotOption("skip-empty-xacts", true)
.start();
while (true) {
ByteBuffer buffer = stream.read();
//process logical changes
}
Returns: not null fluent api
/**
* Get the logical slot builder.
* Example usage:
* <pre>
* {@code
*
* pgConnection
* .getReplicationAPI()
* .createReplicationSlot()
* .logical()
* .withSlotName("mySlot")
* .withOutputPlugin("test_decoding")
* .make();
*
* PGReplicationStream stream =
* pgConnection
* .getReplicationAPI()
* .replicationStream()
* .logical()
* .withSlotName("mySlot")
* .withSlotOption("include-xids", false)
* .withSlotOption("skip-empty-xacts", true)
* .start();
*
* while (true) {
* ByteBuffer buffer = stream.read();
* //process logical changes
* }
*
* }
* </pre>
* @return not null fluent api
*/
ChainedLogicalCreateSlotBuilder logical();
Create physical replication stream for process wal logs in binary form.
Example usage:
pgConnection
.getReplicationAPI()
.createReplicationSlot()
.physical()
.withSlotName("mySlot")
.make();
PGReplicationStream stream =
pgConnection
.getReplicationAPI()
.replicationStream()
.physical()
.withSlotName("mySlot")
.start();
while (true) {
ByteBuffer buffer = stream.read();
//process binary WAL logs
}
Returns: not null fluent api
/**
* <p>Create physical replication stream for process wal logs in binary form.</p>
*
* <p>Example usage:</p>
* <pre>
* {@code
*
* pgConnection
* .getReplicationAPI()
* .createReplicationSlot()
* .physical()
* .withSlotName("mySlot")
* .make();
*
* PGReplicationStream stream =
* pgConnection
* .getReplicationAPI()
* .replicationStream()
* .physical()
* .withSlotName("mySlot")
* .start();
*
* while (true) {
* ByteBuffer buffer = stream.read();
* //process binary WAL logs
* }
*
* }
* </pre>
*
* @return not null fluent api
*/
ChainedPhysicalCreateSlotBuilder physical();
}