Re: Logical replication troubles - Mailing list pgsql-general

From Peter Eisentraut
Subject Re: Logical replication troubles
Date
Msg-id e0885261-5723-7bab-f541-e6a260f50328@2ndquadrant.com
Whole thread Raw
In response to Re: Logical replication troubles  (Anders Bøgh Bruun <anders@cellpointdigital.com>)
Responses Re: Logical replication troubles  (Anders Bøgh Bruun <anders@cellpointdigital.com>)
List 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



pgsql-general by date:

Previous
From: Tim Kane
Date:
Subject: btree_gist extension - gbt_cash_union return type
Next
From: mkruk
Date:
Subject: Re: Failed rpm package signature checks with reposync