On 1 August 2018 at 10:13, Petr Jelinek <petr.jeli...@2ndquadrant.com>
wrote:

> Hi,
>
> On 31/07/18 20:58, Andres Freund wrote>
> >> diff --git a/src/backend/replication/logical/logical.c
> b/src/backend/replication/logical/logical.c
> >> index 3cd4eef..9f883b9 100644
> >> --- a/src/backend/replication/logical/logical.c
> >> +++ b/src/backend/replication/logical/logical.c
> >> @@ -143,8 +143,7 @@ StartupDecodingContext(List *output_plugin_options,
> >>       * (re-)load output plugins, so we detect a bad (removed) output
> plugin
> >>       * now.
> >>       */
> >> -    if (!fast_forward)
> >> -            LoadOutputPlugin(&ctx->callbacks,
> NameStr(slot->data.plugin));
> >> +    LoadOutputPlugin(&ctx->callbacks, NameStr(slot->data.plugin));
> >
> > So this actually was broken by 9c7d06d60680c7f00d931233873dee81fdb311c6
> > and worked before? Petr, Simon?  Isn't the actual bug here that
> > CreateInitDecodingContext() passes true for fast_forward?  Dave, could
> > you confirm this is the case?  If so, this'll end up actually being an
> > open items entry...
> >
>
> Indeed.
>

See attached patch which fixes it, and adds a test for it.

Attachment: 0001-Ensure-pg_create_logical_replication_slot-fails-if-t.patch
Description: Binary data

Reply via email to