From: | PG Bug reporting form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Cc: | accomazz(at)gmail(dot)com |
Subject: | BUG #18683: A publication must be created *before* a logical rep slot in order to be used with that slot? |
Date: | 2024-11-01 18:09:35 |
Message-ID: | 18683-a98f79c0673be358@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 18683
Logged by: Anthony Accomazzo
Email address: accomazz(at)gmail(dot)com
PostgreSQL version: 17.0
Operating system: MacOS 15.0.1 (Sequoia)
Description:
It seems that if you (1) create a logical replication slot (2) and activity
happens in your database then (3) you create a publication, the combination
of that slot + publication is not usable (you can't connect).
i.e. if there is any activity "in" a slot that predates the create statement
for a pub, the slot+pub combo will not work.
Is this known behavior? It's surprising just insofar as I'd hope either:
- the docs cover this
- the error message that one gets could be made clearer
Reproduction steps:
```
create table public.mytable (
id serial primary key,
inserted_at timestamp default now(),
updated_at timestamp default now()
);
create table public.mytable2 (
id serial primary key,
inserted_at timestamp default now(),
updated_at timestamp default now()
);
-- ensure clean start
drop publication test_pub;
select pg_drop_replication_slot('test_slot');
-- create the slot
select pg_create_logical_replication_slot('test_slot', 'pgoutput');
-- insert into any table
insert into mytable2 (id) values (default);
-- create a pub
create publication test_pub for table mytable;
-- cannot connect to slot
-- in shell:
$ pg_recvlogical -d
postgresql://postgres:postgres(at)localhost:5432/sequin_dev_rep --slot
test_slot --start -o proto_version=1 -o publication_names='test_pub' -f -
pg_recvlogical: error: unexpected termination of replication stream: ERROR:
publication "test_pub" does not exist
CONTEXT: slot "test_slot", output plugin "pgoutput", in the change
callback, associated LSN A/7D3CD9F0
pg_recvlogical: disconnected; waiting 5 seconds to try again
pg_recvlogical: error: unexpected termination of replication stream: ERROR:
publication "test_pub" does not exist
```
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Munro | 2024-11-02 05:11:33 | Re: Detection of hadware feature => please do not use signal |
Previous Message | Tom Lane | 2024-11-01 17:12:03 | Re: BUG #18682: Null grouping set with empty table returns a row contains null. |