public inbox for [email protected]  
help / color / mirror / Atom feed
From: tushar <[email protected]>
To: Amit Khandekar <[email protected]>
To: Robert Haas <[email protected]>
Cc: Andres Freund <[email protected]>
Cc: Petr Jelinek <[email protected]>
Cc: Craig Ringer <[email protected]>
Cc: Petr Jelinek <[email protected]>
Cc: pgsql-hackers <[email protected]>
Subject: Re: Minimal logical decoding on standbys
Date: Thu, 4 Jul 2019 15:52:21 +0530
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAJ3gD9end8xLBvZ07nbK2SVNOoeMRSye6+6r6=bp2wVvoa9ijw@mail.gmail.com>
References: <[email protected]>
	<CAJ3gD9f11mhBURoOTAEJXoFAUF74BzSz=XRjL01EBB3SkLdVHA@mail.gmail.com>
	<[email protected]>
	<CAJ3gD9czydP5VnYPTW_TSLK8p26TOzHx3hPTPT-hdkLVasFVVQ@mail.gmail.com>
	<CAJ3gD9dg0eQs5o1cJ_MSVVAy5EoiVsnez8nrZM0hWf6hYGHBww@mail.gmail.com>
	<CAJ3gD9dDb+Y88et1eNYd3t4gK3WnAFp5riEEzmwEB0inr+AvOw@mail.gmail.com>
	<[email protected]>
	<CAJ3gD9d0=Hs+PDWjA=3nEOzdgoKYgD74ZSa5hiCeJFUEV1f25A@mail.gmail.com>
	<CAJ3gD9csOr0LoYoMK9NnfBk0RZmvHXcJAFWFd2EuL=NOfz7PVA@mail.gmail.com>
	<CAJ3gD9eoPH4j-hMbq+_F9c5P=26tokkZGjB1eK4gjr1rcG7a4Q@mail.gmail.com>
	<[email protected]>
	<CAJ3gD9f_HjQ6qP=+1jwzwy77fwcbT4-M3UvVsqpAzsY-jqM8nw@mail.gmail.com>
	<CA+Tgmoa6GxDQJ4G7zjyXOD4HEzPM7CWwsTcKPdRDnZ9NV4D13Q@mail.gmail.com>
	<CAJ3gD9end8xLBvZ07nbK2SVNOoeMRSye6+6r6=bp2wVvoa9ijw@mail.gmail.com>

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)

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



view thread (196+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Minimal logical decoding on standbys
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox