All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.postgresql.replication.ReplicationSlotInfo Maven / Gradle / Ivy

There is a newer version: 42.7.3
Show newest version
/*
 * Copyright (c) 2018, PostgreSQL Global Development Group
 * See the LICENSE file in the project root for more information.
 */

package org.postgresql.replication;

import org.checkerframework.checker.nullness.qual.Nullable;

/**
 * Information returned on replication slot creation.
 *
 * 

Returned keys of CREATE_REPLICATION_SLOT: *

    *
  1. slot_name String {@code =>} the slot name *
  2. consistent_point String {@code =>} LSN at which we became consistent *
  3. snapshot_name String {@code =>} exported snapshot's name (may be null) *
  4. output_plugin String {@code =>} output plugin (may be null) *
* * @see CREATE_REPLICATION_SLOT documentation */ public final class ReplicationSlotInfo { private final String slotName; private final ReplicationType replicationType; private final LogSequenceNumber consistentPoint; private final @Nullable String snapshotName; private final @Nullable String outputPlugin; public ReplicationSlotInfo(String slotName, ReplicationType replicationType, LogSequenceNumber consistentPoint, @Nullable String snapshotName, @Nullable String outputPlugin) { this.slotName = slotName; this.replicationType = replicationType; this.consistentPoint = consistentPoint; this.snapshotName = snapshotName; this.outputPlugin = outputPlugin; } /** * Replication slot name. * * @return the slot name */ public String getSlotName() { return slotName; } /** * Replication type of the slot created, might be PHYSICAL or LOGICAL. * * @return ReplicationType, PHYSICAL or LOGICAL */ public ReplicationType getReplicationType() { return replicationType; } /** * LSN at which we became consistent. * * @return LogSequenceNumber with the consistent_point */ public LogSequenceNumber getConsistentPoint() { return consistentPoint; } /** * Exported snapshot name at the point of replication slot creation. * *

As long as the exporting transaction remains open, other transactions can import its snapshot, * and thereby be guaranteed that they see exactly the same view of the database that the first * transaction sees. * * @return exported snapshot_name (may be null) */ public @Nullable String getSnapshotName() { return snapshotName; } /** * Output Plugin used on slot creation. * * @return output_plugin (may be null) */ public @Nullable String getOutputPlugin() { return outputPlugin; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy