Re: Minimal logical decoding on standbys
От | tushar |
---|---|
Тема | Re: Minimal logical decoding on standbys |
Дата | |
Msg-id | 4447fb6d-b308-3914-0f6b-d2eb5f7ca56d@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: Minimal logical decoding on standbys (Amit Khandekar <amitdkhan.pg@gmail.com>) |
Ответы |
Re: Minimal logical decoding on standbys
|
Список | pgsql-hackers |
Also, in the updated patch (v11), I have added some scenarios that verify that slot is dropped when either master wal_level is insufficient, or when slot is conflicting. Also organized the test file a bit.
One scenario where replication slot removed even after fixing the problem (which Error message suggested to do)
Please refer this below scenario
Master cluster-
postgresql,conf file
wal_level=logical
hot_standby_feedback = on
port=5432
Standby cluster-
postgresql,conf file
wal_level=logical
hot_standby_feedback = on
port=5433
both Master/Slave cluster are up and running and are in SYNC with each other
Create a logical replication slot on SLAVE ( SELECT * from pg_create_logical_replication_slot('m', 'test_decoding'); )
change wal_level='hot_standby' on Master postgresql.conf file / restart the server
Run get_changes function on Standby -
postgres=# select * from pg_logical_slot_get_changes('m',null,null);
ERROR: logical decoding on standby requires wal_level >= logical on master
Correct it on Master postgresql.conf file ,i.e set wal_level='logical' again / restart the server
and again fire get_changes function on Standby -
postgres=# select * from pg_logical_slot_get_changes('m',null,null);
ERROR: replication slot "m" does not exist
This looks little weird as slot got dropped/removed internally . i guess it should get invalid rather than removed automatically.
Lets user's delete the slot themself rather than automatically removed as a surprise.
-- regards,tushar EnterpriseDB https://www.enterprisedb.com/ The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: