On 6/1/17 04:49, Dilip Kumar wrote:
> On Thu, Jun 1, 2017 at 1:02 PM, Michael Paquier
> <michael.paquier@gmail.com> wrote:
>> Thanks, this looks correct to me at quick glance.
>>
>> + if (!IsUnderPostmaster)
>> + ereport(FATAL,
>> + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
>> + errmsg("subscription commands are not supported by
>> single-user servers")));
>> The messages could be more detailed, like directly the operation of
>> CREATE/ALTER/DROP SUBCRIPTION in each error message. But that's a nit.
>
> Thanks for looking into it. Yeah, I think it's better to give
> specific message instead of generic because we still support some of
> the subscription commands even in single-user mode i.e ALTER
> SUBSCRIPTION OWNER. My patch doesn't block this command and there is
> no harm in supporting this in single-user mode but does this make any
> sense? We may create some use case like creation subscription in
> normal mode and then ALTER OWNER in single user mode but it makes
> little sense to me.
We should look at what the underlying problem is before we prohibit
anything at a high level.
When I try it, I get a
TRAP: FailedAssertion("!(event->fd != (-1))", File: "latch.c", Line: 861)
which might indicate that there is a more general problem with latch use
in single-user mode.
If I remove that assertion, things work fine after that. The originally
reported error "epoll_ctl() failed: Bad file descriptor" might indicate
that there is platform-dependent behavior.
I think the general problem is that the latch code that checks for
postmaster death does not handle single-user mode well.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services