debezium / debezium/dbz

Explore PG extension for setting up replication streams in the past [DBZ-3064]

Open
#418 0 comments 0 reactions 0 assignees View on GitHub
component/postgresql-connector migrated-from-jira type/task
Dominant language
HTML
Stars
6
Forks
9
Avg merge
2d 19h
Merged PRs (30d)
1

Description

Migrated from [DBZ-3064](https://issues.redhat.com/browse/DBZ-3064)

Learned at FOSDEM this weekend about this PG extension: https://github.com/x4m/pg_tm_aux

It looks like this would address the issue of resuming logical replication from a secondary promoted to primary after a fail-over, as one could create a new slot on the now primary and set it to the last committed offset.

Related resources (see [this conversation|https://twitter.com/gunnarmorling/status/1358046681800073216] for more interesting details):

* [Thorough explanation| https://github.com/zalando/patroni/issues/1749] of how change events can get lost upon fail-over (see links in that issue for more insights)
* [Pending PR|https://github.com/zalando/patroni/pull/1820] for adding fail-over slots to Patroni

Contributor guide

Open the contributing guide

Research direction

Start by reading the pg_tm_aux extension linked in the issue, then review the Patroni issue #1749 and pending PR #1820 for fail-over slot context. Determine whether the extension can support creating a slot on a promoted secondary and setting it to the last committed offset; document the feasibility and integration path.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgresql
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.