On Thu, Jun 6, 2019, 8:19 PM Tom Lane <t...@sss.pgh.pa.us> wrote:

> Francisco Olarte <fola...@peoplecall.com> writes:
> > On Thu, Jun 6, 2019 at 6:57 PM Kelly, Kevin <kevin.ke...@sig.com> wrote:
> >> We’re attempting to launch postgres via systemd and noticing that when
> invoking via systemctl start postgres.service the prompt never returns. If
> we switch to another tty and check the status it shows as:
> >> Active: activating (start) since Thu 2019-06-06 09:36:32 EDT; 12min ago
> >> If we change the type from notify to forking we see the same behavior.
> The instance seems to be up and running just fine, we just never see the
> active (running) status as we have come to expect.
>
> > Are you sure you have the postgres.service correctly configured? ( or
> > you could post the ExecStart/Type config, or the whole service file ).
>
> > The type tells systemd how to know the service has finished starting
> > and is running, notify means it does systemd integration via socket,
> > with IIRC postgres does not.
>
> I might be confusing this with some other issue, but I think PG does
> support systemd notification if you build it with the --with-systemd
> configuration option.  This is recommended if you're using systemd
> to launch PG, because systemd's other options for figuring out the
> service state work substantially less well.


Yeah, I was one of the reviewers of the patch for this feature.

If the configuration parameter is turned on then Postgres reports in to
SystemD once it completes any crash recovery work to indicate that the
database service is up.

That way, if there was a bunch of WAL needing to be processed, services
depending on Postgres will properly get deferred.

You need to set up the service type in the SystemD service file to
   Type=notify
in order to get this behavior

Reply via email to