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  (Bruce Momjian <bruce@momjian.us>)
Список 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 по дате отправления:

Предыдущее
От: Alexander Spiteri
Дата:
Сообщение: Re: BUG #14009: pg_restore not restoring privilegs when one login/group role is missing
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: BUG #14012: How to change password in postgreSQL?