From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Anders Bøgh Bruun <anders(at)cellpointdigital(dot)com> |
Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Logical replication troubles |
Date: | 2020-05-22 09:00:11 |
Message-ID: | e0885261-5723-7bab-f541-e6a260f50328@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 2020-05-20 17:16, Anders Bøgh Bruun wrote:
> [67] LOG: logical replication apply worker for subscription
> "widgets_sub" has started
> [67] DEBUG: connecting to publisher using connection string
> "dbname=testdb host=master port=5432 user=repuser password=abc123"
> [67] ERROR: could not receive data from WAL stream: ERROR: publication
> "widgets_pub" does not exist
> CONTEXT: slot "my_slot", output plugin "pgoutput", in the change
> callback, associated LSN 0/1674958
> [1] DEBUG: unregistering background worker "logical replication worker
> for subscription 16396"
> [1] LOG: background worker "logical replication worker" (PID 67) exited
> with exit code 1
>
> I can verify that the publication called widgets_pub does exist, and I
> am not seeing any errors on the sending side.
>
> The SQL-file named "works" just has the creation of the replication slot
> moved down to after I insert some data into the table I want to
> replicate. And that works as expected.
You need to create the publication before the replication slot. The
walsender's view of the world moves along with the WAL it is
decoding/sending. So when the subscription worker connects, it
initially sees a state as of the creation of the replication slot, when
the publication did not exist yet.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | devchef2020 d | 2020-05-22 10:45:03 | Request to help on Query improvement suggestion. |
Previous Message | Tim Kane | 2020-05-22 08:19:57 | btree_gist extension - gbt_cash_union return type |