Package org.postgresql.replication.fluent.physical

# Class PhysicalStreamBuilder

java.lang.Object
org.postgresql.replication.fluent.AbstractStreamBuilder<ChainedPhysicalStreamBuilder>
org.postgresql.replication.fluent.physical.PhysicalStreamBuilder

All Implemented Interfaces:
  `ChainedCommonStreamBuilder<ChainedPhysicalStreamBuilder>`, `CommonOptions`, `ChainedPhysicalStreamBuilder`, `PhysicalReplicationOptions`

public class PhysicalStreamBuilder extends AbstractStreamBuilder<ChainedPhysicalStreamBuilder> implements ChainedPhysicalStreamBuilder, PhysicalReplicationOptions

- ## Field Summary

  ### Fields inherited from class org.postgresql.replication.fluent.AbstractStreamBuilder

  `slotName, startPosition, statusIntervalMs`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PhysicalStreamBuilder(StartPhysicalReplicationCallback startCallback)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `@Nullable String`
  `getSlotName()`
  Replication slots provide an automated way to ensure that the master does not remove WAL segments until they have been received by all standbys, and that the master does not remove rows which could cause a recovery conflict even when the standby is disconnected.
  `LogSequenceNumber`
  `getStartLSNPosition()`
  `int`
  `getStatusInterval()`
  Specifies the number of millisecond between status packets sent back to the server.
  `protected ChainedPhysicalStreamBuilder`
  `self()`
  `PGReplicationStream`
  `start()`
  Open physical replication stream.

  ### Methods inherited from class org.postgresql.replication.fluent.AbstractStreamBuilder

  `withSlotName, withStartPosition, withStatusInterval`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.postgresql.replication.fluent.ChainedCommonStreamBuilder

  `withSlotName, withStartPosition, withStatusInterval`

- ## Constructor Details

  - ### PhysicalStreamBuilder

    public PhysicalStreamBuilder(StartPhysicalReplicationCallback startCallback)
    Parameters:
      `startCallback` - not null callback that should be execute after build parameters for start replication

- ## Method Details

  - ### self

    protected ChainedPhysicalStreamBuilder self()
    Specified by:
      `self` in class `AbstractStreamBuilder<ChainedPhysicalStreamBuilder>`

  - ### start

    public PGReplicationStream start() throws SQLException
    Description copied from interface: `ChainedPhysicalStreamBuilder`
    Open physical replication stream.
    Specified by:
      `start` in interface `ChainedPhysicalStreamBuilder`
    Returns:
      not null PGReplicationStream available for fetch wal logs in binary form
    Throws:
      `SQLException` - on error

  - ### getSlotName

    public @Nullable String getSlotName()
    Description copied from interface: `CommonOptions`
    Replication slots provide an automated way to ensure that the master does not remove WAL segments until they have been received by all standbys, and that the master does not remove rows which could cause a recovery conflict even when the standby is disconnected.
    Specified by:
      `getSlotName` in interface `CommonOptions`
    Returns:
      nullable replication slot name that already exists on server and free.

  - ### getStartLSNPosition

    public LogSequenceNumber getStartLSNPosition()
    Specified by:
      `getStartLSNPosition` in interface `CommonOptions`
    Returns:
      the position to start replication. This cannot be null.

  - ### getStatusInterval

    public int getStatusInterval()
    Description copied from interface: `CommonOptions`
    Specifies the number of millisecond between status packets sent back to the server. This allows for easier monitoring of the progress from server. A value of zero disables the periodic status updates completely, although an update will still be sent when requested by the server, to avoid timeout disconnect. The default value is 10 seconds.
    Specified by:
      `getStatusInterval` in interface `CommonOptions`
    Returns:
      the current status interval