Skip to main content

Logical replication

The Logical Replication tab monitors publisher-subscriber state, slot health, and replication risks on the connected instance.

What it shows

  • Publications — list of publications with their table sets and connection status
  • Subscriptions — subscription state, receive/apply progress, and worker health
  • Replication slots — logical vs physical slot distinction, active/inactive status, WAL retention
  • Replica lag — write lag, flush lag, and replay lag per subscription

Slot types

pocketPG distinguishes logical slots from physical slots in its slot health checks. Logical slots without active subscriptions are flagged — an abandoned logical subscription can retain WAL indefinitely without the DBA realizing it.

Risk checks

  • Sequence drift — sequences on published tables will diverge on failover unless explicitly synchronized
  • DDL-not-replicated — explicit warning that schema changes are NOT replicated through logical replication
  • Large object caveat — large objects are not replicated by logical decoding

Wait events

When logical replication workers are active, pocketPG surfaces LogicalSenderMain and LogicalApply* wait events from pg_stat_activity. This helps diagnose replication stalls caused by I/O, lock contention, or CPU pressure on the subscriber.

Requirements

  • wal_level = logical must be set on the publisher
  • pg_stat_subscription is available on PostgreSQL 14+ (older versions have limited visibility)

Connection to tuning

Slot retention data feeds into WAL tuning recommendations — max_slot_wal_keep_size is recommended as a guardrail when logical slots can retain WAL without a cap.