Interface ChainedStreamBuilder

All Known Implementing Classes:
ReplicationStreamBuilder

public interface ChainedStreamBuilder
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.
  • Method Details

    • logical

      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
         }
      
        
      
      Returns:
      not null fluent api
    • physical

      Create 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
         }
      
        
      
      Returns:
      not null fluent api