Describe the Bug
Today, we always set data_directory = … in postgresql.conf via
|
postgresql::server::config_entry { "data_directory_for_instance_${name}": |
|
key => 'data_directory', |
|
value => $datadir, |
|
} |
However we also set it in the systemd override:
|
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 🤷♀️
Describe the Bug
Today, we always set
data_directory = …inpostgresql.confviapuppetlabs-postgresql/manifests/server/instance/config.pp
Lines 222 to 225 in 411e7bc
However we also set it in the systemd override:
puppetlabs-postgresql/manifests/server/instance/systemd.pp
Lines 29 to 34 in 411e7bc
puppetlabs-postgresql/templates/systemd-override.conf.epp
Line 11 in 411e7bc
And pass it when calling
initdb:puppetlabs-postgresql/manifests/server/instance/initdb.pp
Line 153 in 411e7bc
The problem is that setting
data_directoryin the config actually overrides the-Dparameter on the CLI and thePGDATAenvironment 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_directorynot set inpostgresql.confwhen systemd is used and thus the environment variable is presentSteps to Reproduce
install a postgresql setup :)
Environment
Additional Context
This is the exact opposite of #510 🤷♀️