Re: Changeset Extraction v7.6.1 - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Changeset Extraction v7.6.1
Date
Msg-id 20140221135639.GD28858@alap3.anarazel.de
Whole thread Raw
In response to Re: Changeset Extraction v7.6.1  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On 2014-02-21 08:51:03 -0500, Robert Haas wrote:
> On Fri, Feb 21, 2014 at 8:27 AM, Andres Freund <andres@2ndquadrant.com> wrote:
> > On 2014-02-21 08:16:59 -0500, Robert Haas wrote:
> >> On Fri, Feb 21, 2014 at 6:07 AM, Andres Freund <andres@2ndquadrant.com> wrote:
> >> > I can sympathize with the "too much during init" argument, but I don't
> >> > see how moving stuff to the first call would get rid of the problems. If
> >> > we fail later it's going to be just as confusing.
> >>
> >> No, it isn't.  If you fail during init the use will expect the slot to
> >> be gone.  That's the reason for all of this complexity.  If you fail
> >> on first use, the user will expect the slot to still be there.
> >
> > The primary case for failing is a plugin that either doesn't exist or
> > fails to initialize, or a user aborting the init. It seems odd that a
> > created slot fails because of a bad plugin or needs to wait till it
> > finds a suitable snapshot record. We could add an intermediary call like
> > pg_startup_logical_slot() but that doesn't seem to have much going for
> > it?
> 
> Well, we can surely detect a plugin that fails to initialize before
> creating the slot on disk, right?

We could detect whether the plugin .so can be loaded and provides the
required callbacks, but we can't initialize it.

> I'm not sure what "fails to initialize" entails.

elog(ERROR, 'hey, the tables I require are missing');

or similar.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: WAL Rate Limiting
Next
From: Hadi Moshayedi
Date:
Subject: Cost estimation in foreign data wrappers