-
Notifications
You must be signed in to change notification settings - Fork 614
Description
Describe the Bug
Today, we always set data_directory = …
in postgresql.conf
via
puppetlabs-postgresql/manifests/server/instance/config.pp
Lines 222 to 225 in 411e7bc
postgresql::server::config_entry { "data_directory_for_instance_${name}": | |
key => 'data_directory', | |
value => $datadir, | |
} |
However we also set it in the systemd override:
puppetlabs-postgresql/manifests/server/instance/systemd.pp
Lines 29 to 34 in 411e7bc
content => epp('postgresql/systemd-override.conf.epp', { | |
port => $port, | |
datadir => $datadir, | |
extra_systemd_config => $extra_systemd_config, | |
} | |
), |
Environment=PGDATA=<%= $datadir %> |
And pass it when calling initdb
:
$datadir_parameter = "--pgdata '${datadir}'" |
The problem is that setting data_directory
in the config actually overrides the -D
parameter on the CLI and the PGDATA
environment variable, as can be seen in e.g. https://bugzilla.redhat.com/show_bug.cgi?id=1935301 thus possibly breaking future actions against this DB (see the link for an example, also https://www.postgresql.org/message-id/3566642.1618422939%40sss.pgh.pa.us).
Expected Behavior
data_directory
not set in postgresql.conf
when systemd is used and thus the environment variable is present
Steps to Reproduce
install a postgresql setup :)
Environment
- Version 10.0.3
- Platform CentOS Stream 8
Additional Context
This is the exact opposite of #510 🤷♀️