BUG #14014: postgresql95-setup script determines PGDATA wrongly
От | tigreavecdesailes@gmail.com |
---|---|
Тема | BUG #14014: postgresql95-setup script determines PGDATA wrongly |
Дата | |
Msg-id | 20160310122249.8904.72105@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #14014: postgresql95-setup script determines PGDATA
wrongly
|
Список | pgsql-bugs |
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}"`
В списке pgsql-bugs по дате отправления: