On Mon, May 8, 2023 at 12:07 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Fri, May 5, 2023 at 6:47 PM Robert Sjöblom <robert.sjob...@fortnox.se> > wrote: > > > > We have recently used the PostgreSQL documentation when setting up our > > logical replication. We noticed there was a step missing in the > > documentation on how to drop a logical replication subscription with a > > replication slot attached. > > > > We clarify the documentation to include prerequisites for running the > > DROP SUBSCRIPTION command. Please see attached patch. > > > > Shouldn't we also change the following errhint in the code as well? > ReportSlotConnectionError() > { > ... > ereport(ERROR, > (errcode(ERRCODE_CONNECTION_FAILURE), > errmsg("could not connect to publisher when attempting to drop > replication slot \"%s\": %s", > slotname, err), > /* translator: %s is an SQL ALTER command */ > errhint("Use %s to disassociate the subscription from the slot.", > "ALTER SUBSCRIPTION ... SET (slot_name = NONE)"))); > ... > }
Yeah, if the subscription is enabled, it might be helpful for users if the error hint message says something like: Use ALTER SUBSCRIPTION ... SET (slot_name = NONE) to disassociate the subscription from the slot after disabling the subscription. Apart from the documentation change, given that setting slot_name = NONE always requires for the subscription to be disabled beforehand, does it make sense to change ALTER SUBSCRIPTION SET so that we disable the subscription when setting slot_name = NONE? Setting slot_name to a valid slot name doesn't enable the subscription, though. Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com