Class ReplicationStreamBuilder

java.lang.Object
org.postgresql.replication.fluent.ReplicationStreamBuilder
All Implemented Interfaces:
ChainedStreamBuilder

public class ReplicationStreamBuilder extends Object implements ChainedStreamBuilder
  • Constructor Details

    • ReplicationStreamBuilder

      public ReplicationStreamBuilder(BaseConnection connection)
      Parameters:
      connection - not null connection with that will be associate replication
  • Method Details

    • logical

      public ChainedLogicalStreamBuilder logical()
      Description copied from 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:

         
      
          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:
      logical in interface ChainedStreamBuilder
      Returns:
      not null fluent api
    • physical

      public ChainedPhysicalStreamBuilder physical()
      Description copied from interface: ChainedStreamBuilder

      Create physical replication stream for process wal logs in binary form.

      Example usage:

         
      
          LogSequenceNumber lsn = getCurrentLSN();
      
          PGReplicationStream stream =
              pgConnection
                  .getReplicationAPI()
                  .replicationStream()
                  .physical()
                  .withStartPosition(lsn)
                  .start();
      
          while (true) {
            ByteBuffer buffer = stream.read();
            //process binary WAL logs
          }
      
         
       
      Specified by:
      physical in interface ChainedStreamBuilder
      Returns:
      not null fluent api