Re: Service not starting on Ubuntu 15.04

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Lasse Westh-Nielsen <lassewesth(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Service not starting on Ubuntu 15.04
Date: 2015-10-26 15:18:43
Message-ID: 562E4453.5090803@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 10/26/2015 08:04 AM, Lasse Westh-Nielsen wrote:
> Adrian,
>
> The service starts once the package is installed.
>
> - It did that on Ubuntu14.04
> - On Ubuntu 15.04, `sudo service postgresql status` _claims_ it has
> been started.

Yes, it starts but it is a go nowhere, do nothing service:

$ cat /etc/systemd/system/multi-user.target.wants/postgresql.service
# systemd service for managing all PostgreSQL clusters on the
system. This
# service is actually a systemd target, but we are using a service
since
# targets cannot be reloaded.

[Unit]
Description=PostgreSQL RDBMS

[Service]
Type=oneshot
ExecStart=/bin/true
ExecReload=/bin/true
RemainAfterExit=on

[Install]
WantedBy=multi-user.target

All it does is start /bin/true which is why the status shows it started,
but Postgres does not run. My guess is the answer is in here:

http://askubuntu.com/questions/632882/does-upstart-really-handle-all-startup-scripts

Second answer

" PostgreSQL comes with two systemd service unit files in version 15,
/lib/systemd/system/postgresql(at)(dot)service and
/lib/systemd/system/postgresql.service. System 5 rc stuff is thus
completely ignored."

Best guess is /lib/systemd/system/postgresql(at)(dot)service is the one that
actually starts Postgres. Sort of confirmed by the comments in the
service script above:

"# systemd service for managing all PostgreSQL clusters on the system. This
# service is actually a systemd target, but we are using a service since
# targets cannot be reloaded."

Pretty sure /lib/systemd/system/postgresql.service is just a placeholder
script.

At any rate Stuarts answer and your application of it confirms the
service script is the issue.

>
>
>
> On Mon, Oct 26, 2015 at 2:57 PM, Adrian Klaver
> <adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>> wrote:
>
> On 10/26/2015 07:08 AM, Lasse Westh-Nielsen wrote:
>
> Adrian,
>
> Thanks. I know about the systemd change, and indeed the postgres
> package
> I end up with _has_ systemd integration already:
>
> $ cat
> /etc/systemd/system/multi-user.target.wants/postgresql.service
> # systemd service for managing all PostgreSQL clusters on the
> system. This
> # service is actually a systemd target, but we are using a
> service since
> # targets cannot be reloaded.
>
> [Unit]
> Description=PostgreSQL RDBMS
>
> [Service]
> Type=oneshot
> ExecStart=/bin/true
> ExecReload=/bin/true
> RemainAfterExit=on
>
> [Install]
> WantedBy=multi-user.target
>
>
> The thing above the above is I do not see anything that starts Postgres.
>
> Are you sure the same script is being called in cloud-init and
> outside of it?
>
> Or more to the point, what script actually starts Postgres?
>
>
>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>
>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2015-10-26 15:22:02 Re: Recursive Arrays 101
Previous Message Rob Sargent 2015-10-26 15:12:16 Re: Recursive Arrays 101