Can't start 9.3.4 after reboot because socket dir not created?

From: Danny Guinther <dannyguinther(at)gmail(dot)com>
To: pgsql-pkg-debian(at)postgresql(dot)org
Subject: Can't start 9.3.4 after reboot because socket dir not created?
Date: 2014-03-28 14:04:04
Message-ID: CADHJ2FP8UPphbLzMh6K7fApZLOczqVcYCEcNsJ9CjK=qmuSn2g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-pkg-debian

Hello everyone,

Looking for some guidance: I'm trying to run 9.3.4 on Ubuntu 12.04 and
14.04, and everything seems okay for the most part, except the server won't
start after reboot.

I believe the problem stems from the init.d script exiting before executing
the start function. More specifically, a catch 22 emerges because the call
to pg_lsclusters before starting fails because the socket dir doesn't
exist, but the start action is supposed to take care of creating the socket
dir if it doesn't exist, but we don't make it to the start function because
the call to pg_lsclusters fails.

Because /run is tmpfs, it seems like the init script should never work
after a reboot, which clearly can't be what other people are experiencing
or I'd think there would be an uproar.

I've installed 9.3 on 2 machines that previously had 9.2 on them (one
ubuntu 12.04, one 14.04) and I've installed 9.3 on a clean machine (14.04).
All three seem to be affected by this weirdness.

If I take the logic from the start function that creates the socket dir and
place it before the call to pg_lsclusters in the init script, the server
starts without a problem.

The version of postgresql-common I'm running is 154.pgdg12.4+1 on the 12.04
machine and 154.pgdg14.04+1 on the 14.04 machines.

Has anyone ever run into something like this? Am I screwing something up?

Browse pgsql-pkg-debian by date

  From Date Subject
Next Message apt.postgresql.org repository 2014-03-31 12:49:07 postgis updated to version 2.1.2-1.pgdg+2
Previous Message Christoph Berg 2014-03-27 08:42:12 Re: postgresql 9.3 packages missing from repository