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}"`
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 +
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