Thread: Logical decoding
Hi everyone,
Is there is any option to perform logical decoding on an active replication slot.
I'm trying to decode a replication slot but it throughs an error as below.
ERROR: replication slot "my_sub" is active for PID 2525720
On 2/20/25 06:04, Jethish Jethish wrote: > Hi everyone, > > Is there is any option to perform logical decoding on an active > replication slot. > I'm trying to decode a replication slot but it throughs an error as below. > > ERROR: replication slot "my_sub" is active for PID 2525720 No, not really. The whole point of this error is to prevent exactly this, pretty much - to only allow a single process doing logical decoding on a slot. What are you trying to solve / achieve? Why do you need (or think you need) logical decoding on an active slot? regards -- Tomas Vondra
On Thu, Feb 20, 2025 at 12:04 AM Jethish Jethish <jethish777@gmail.com> wrote:
Hi everyone,Is there is any option to perform logical decoding on an active replication slot.I'm trying to decode a replication slot but it throughs an error as below.ERROR: replication slot "my_sub" is active for PID 2525720
You can by copying the LR slot
SELECT pg_copy_logical_replication_slot ( '<slot_name>', --source slot
'peek', --destination slot name
true, --lets make a temporary slot, so we don't have clean up after ourselves
'test_decoding' --plugin name can be any LR plugin this one let's us see what is going on
)
Then peek at what the slot is doing
SELECT * FROM pg_logical_slot_peek_changes('peek' , --name of the slot
NULL, --lsn number to start from can jump ahead,
1 ); --how many transaction to get back from the query this will return multiple rows for each row affect by the transaction.
select pg_drop_replication_slot(<slot_name>) --how we drop the slot