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