ReplicationSlotCreate:

- Acquire(ReplicationSlotAllocationLock, EXCLUSIVE)
- Acquire(ReplicationSlotControlLock, SHARED) -> Release(ReplicationSlotControlLock)
- Acquire(ReplicationSlotControlLock, EXCLUSIVE) -> Release(ReplicationSlotControlLock)
- Release(ReplicationSlotAllocationLock)

ReplicationSlotReserveWal:

- Acquire(ReplicationSlotAllocationLock, EXCLUSIVE)
- ReplicationSlotComputeRequiredLSN:
    - Acquire(ReplicationSlotControlLock, EXCLUSIVE) -> Release(ReplicationSlotControlLock)
- Release(ReplicationSlotAllocationLock)

reserve_wal_for_local_slot:

- Acquire(ReplicationSlotAllocationLock, EXCLUSIVE)
- Acquire(ReplicationSlotControlLock, SHARED) -> Release(ReplicationSlotControlLock)
- ReplicationSlotComputeRequiredLSN
    - Acquire(ReplicationSlotControlLock, EXCLUSIVE) -> Release(ReplicationSlotControlLock)
- Release(ReplicationSlotAllocationLock)

PhysicalConfirmReceivedLocation:

- ReplicatiobSlotsComputeRequiredLSN:
    - Acquire(ReplicationSlotControlLock, EXCLUSIVE) -> Release(ReplicationSlotControlLock)

LogicalConfirmReceivedLocation:

- ReplicationSlotsComputeRequiredXmin:
    - Acquire(ReplicationSlotControlLock, SHARED) -> Release(ReplicationSlotControlLock)
- ReplicationSlotsComputeRequiredLSN:
    - Acquire(ReplicationSlotControlLock, EXCLUSIVE) -> Release(ReplicationSlotControlLock)

InvalidateObsoleteReplicationSlots:

- Acquire(ReplicationSlotControlLock, SHARED)
    - InvalidatePossiblyObsoleteSlot
- Release(ReplicationSlotControlLock)

InvalidatePossiblyObsoleteReplicationSlot:

- Acquire(ReplicationSlotControlLock, SHARED) -> Release(ReplicationSlotControlLock) - ?

SearchNamedReplicationSlot, ReplicationSlotName, ReplicationSlotAcquire, ReplicationSlotCleanup, ReplicationSlotComputeRequiredXmin, ReplicationSlotsComputeLogicalRestartLSN, ReplicationSlotsCountDBSlots, ReplicationSlotsCountDBSlots, pg_get_replication_slots, copy_replication_slot, ReadReplicationSlot, get_local_synced_slots, update_synced_slots_inactive_since, pgstat_reset_replslot, pgstat_fetch_replslot, StandbySlotsHaveCaughtup:

- Acquire(ReplicationSlotControlLock, SHARED) -> Release(ReplicationSlotControlLock)

ReplicationSlotDropPtr:

- Acquire(ReplicationSlotAllocationLock, EXCLUSIVE)
- Acquire(ReplicationSlotControlLock, EXCLUSIVE) -> Release(ReplicationSlotControlLock)
- ReplicationSlotComputeRequiredXmin:
    - Acquire(ReplicationSlotControlLock, SHARED) -> Release(ReplicationSlotControlLock)
- ReplicationSlotComputeRequiredLSN:
    - Acquire(ReplicationSlotControlLock, EXCLUSIVE) -> Release(ReplicationSlotControlLock)
- Release(ReplicationSlotAllocationLock)

ReplicationSlotsComputeRequiredLSN:

- Acquire(ReplicationSlotControlLock, EXCLUSIVE) -> Release(ReplicationSlotControlLock)

CheckPointReplicationSlots:

- Acquire(ReplicationSlotAllocationLock, SHARED) -> Release(ReplicationSlotAllocationLock)
- ReplicationSlotsComputeRequiredLSN:
    - Acquire(ReplicationSlotControlLock, EXCLUSIVE) -> Release(ReplicationSlotControlLock)
