Re: Postgres 10.7 Systemd Startup Issue - Mailing list pgsql-general

From Christopher Browne
Subject Re: Postgres 10.7 Systemd Startup Issue
Date
Msg-id CAFNqd5UY+AYGEN9WPksPoozgEzrcUAzm1OdVMYpj_Td2WWyPdw@mail.gmail.com
Whole thread Raw
In response to Re: Postgres 10.7 Systemd Startup Issue  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses RE: Postgres 10.7 Systemd Startup Issue
List pgsql-general


On Thu, Jun 6, 2019, 8:19 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Francisco Olarte <folarte@peoplecall.com> writes:
> On Thu, Jun 6, 2019 at 6:57 PM Kelly, Kevin <Kevin.Kelly@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

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Postgres 10.7 Systemd Startup Issue
Next
From: Achilleas Mantzios
Date:
Subject: Re: Snowball Stemming Greek support not included in Release 12 beta