Thread: BUG #14014: postgresql95-setup script determines PGDATA wrongly

BUG #14014: postgresql95-setup script determines PGDATA wrongly

From
tigreavecdesailes@gmail.com
Date:
The following bug has been logged on the website:

Bug reference:      14014
Logged by:          leonty
Email address:      tigreavecdesailes@gmail.com
PostgreSQL version: 9.5.1
Operating system:   RHEL 7.2
Description:

The script postgresql95-setup tries to determine the PGDATA directory two
times:

1. first time using a systemctl call. That's ok, systemctl knows all
possible unit file places and processes correctly the drop-ins (a directory
in /etc/systemd/system/ ending with '.d' where partial configurations are
stored).

2. second time (why at all??) in a few lines using sed utility to parse the
unit file. That's wrong because drop-in directories won't be considered and
overridden PGDATA environment is missed.

How to reproduce:
create /etc/systemd/system/postgresql-9.5.service.d/pgdata.conf with the
following content:
[Service]
Environment=PGDATA=/tmp/another_postgresql_location

run 'postgresql95-setup initdb', get a successful result message, then run
'systemctl start postgresql-9.5'. The database won't start, the log contains
a message that the database is not initialized.

How to fix:
Probably it's just enough to delete the second try of parsing the unit file
from postgresql95-setup script. Lines 103-104:
# Get data directory from the service file
PGDATA=`sed -n 's/Environment=PGDATA=//p' "${SERVICE_FILE}"`

Re: BUG #14014: postgresql95-setup script determines PGDATA wrongly

From
Bruce Momjian
Date:
Uh, we don't have a postgresql95-setup file.  I think you need to file
this bug report with Red Hat or the author of this file.

---------------------------------------------------------------------------

On Thu, Mar 10, 2016 at 12:22:49PM +0000, tigreavecdesailes@gmail.com wrote:
> The following bug has been logged on the website:
>
> Bug reference:      14014
> Logged by:          leonty
> Email address:      tigreavecdesailes@gmail.com
> PostgreSQL version: 9.5.1
> Operating system:   RHEL 7.2
> Description:
>
> The script postgresql95-setup tries to determine the PGDATA directory two
> times:
>
> 1. first time using a systemctl call. That's ok, systemctl knows all
> possible unit file places and processes correctly the drop-ins (a directory
> in /etc/systemd/system/ ending with '.d' where partial configurations are
> stored).
>
> 2. second time (why at all??) in a few lines using sed utility to parse the
> unit file. That's wrong because drop-in directories won't be considered and
> overridden PGDATA environment is missed.
>
> How to reproduce:
> create /etc/systemd/system/postgresql-9.5.service.d/pgdata.conf with the
> following content:
> [Service]
> Environment=PGDATA=/tmp/another_postgresql_location
>
> run 'postgresql95-setup initdb', get a successful result message, then run
> 'systemctl start postgresql-9.5'. The database won't start, the log contains
> a message that the database is not initialized.
>
> How to fix:
> Probably it's just enough to delete the second try of parsing the unit file
> from postgresql95-setup script. Lines 103-104:
> # Get data directory from the service file
> PGDATA=`sed -n 's/Environment=PGDATA=//p' "${SERVICE_FILE}"`
>
>
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I. As I am, so you will be. +
+                     Ancient Roman grave inscription +

Re: BUG #14014: postgresql95-setup script determines PGDATA wrongly

From
Devrim Gündüz
Date:
Hi Bruce,

On Tue, 2016-04-26 at 12:23 -0400, Bruce Momjian wrote:
>
> Uh, we don't have a postgresql95-setup file.  I think you need to file
> this bug report with Red Hat or the author of this file.

It is a shame that I missed the original post. We ship this file with the RPMs.
I'll reply the email soon.

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR