On Thu, 4 Jul 2019 at 17:21, Amit Khandekar <amitdkhan...@gmail.com> wrote: > > On Thu, 4 Jul 2019 at 15:52, tushar <tushar.ah...@enterprisedb.com> wrote: > > > > On 07/01/2019 11:04 AM, Amit Khandekar wrote: > > > > 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) > > Which specific problem are you referring to ? Removing a conflicting > slot, itself is the part of the fix for the conflicting slot problem. > > > > > 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. > > It was earlier discussed about what action should be taken when we > find conflicting slots. Out of the options, one was to drop the slot, > and we chose that because that was simple. See this : > https://www.postgresql.org/message-id/flat/20181212204154.nsxf3gzqv3gesl32%40alap3.anarazel.de
Sorry, the above link is not the one I wanted to refer to. Correct one is this : https://www.postgresql.org/message-id/20181214005521.jaty2d24lz4nroil%40alap3.anarazel.de -- Thanks, -Amit Khandekar EnterpriseDB Corporation The Postgres Database Company