On Fri, Feb 21, 2014 at 8:27 AM, Andres Freund <and...@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 <and...@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? I'm not sure what "fails to initialize" entails. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers