Checks if specified replication slot and publication exist. If at least one
does not exists, or tables have changed - idempotently (re)creates both.
It is preferable to run this helper on startup instead of defining the
replication slot and publication in context of migrations, because in cases
of database failover, the replication slots are not transferred between
primary and secondary databases, so the service needs to ensure that slot and
publication exist on its own.
Checks if specified replication slot and publication exist. If at least one does not exists, or tables have changed - idempotently (re)creates both.
It is preferable to run this helper on startup instead of defining the replication slot and publication in context of migrations, because in cases of database failover, the replication slots are not transferred between primary and secondary databases, so the service needs to ensure that slot and publication exist on its own.