Fetch custom_conf dynamically

This commit is contained in:
Alejandro Martínez
2016-09-02 16:22:11 +02:00
parent f58ff3a96f
commit 07e95912a2
+3 -4
View File
@@ -100,7 +100,6 @@ class Postgresql(object):
self._postgresql_conf = os.path.join(self._data_dir, config_base_name + '.conf')
self._postgresql_base_conf_name = config_base_name + '.base.conf'
self._postgresql_base_conf = os.path.join(self._data_dir, self._postgresql_base_conf_name)
self._postgresql_custom_conf = config.get('custom_conf')
self._recovery_conf = os.path.join(self._data_dir, 'recovery.conf')
self._postmaster_pid = os.path.join(self._data_dir, 'postmaster.pid')
self._trigger_file = config.get('recovery_conf', {}).get('trigger_file') or 'promote'
@@ -126,7 +125,7 @@ class Postgresql(object):
@property
def _configuration_to_save(self):
configuration = [self._postgresql_conf]
if not self._postgresql_custom_conf:
if not config.get('custom_conf'):
configuration.append(self._postgresql_base_conf)
if not self.config['parameters'].get('hba_file'):
configuration.append(os.path.join(self._data_dir, 'pg_hba.conf'))
@@ -630,12 +629,12 @@ class Postgresql(object):
def _write_postgresql_conf(self):
# rename the original configuration if it is necessary
if not self._postgresql_custom_conf and not os.path.exists(self._postgresql_base_conf):
if not config.get('custom_conf') and not os.path.exists(self._postgresql_base_conf):
os.rename(self._postgresql_conf, self._postgresql_base_conf)
with open(self._postgresql_conf, 'w') as f:
f.write('# Do not edit this file manually!\n# It will be overwritten by Patroni!\n')
f.write("include '{0}'\n\n".format(self._postgresql_custom_conf or self._postgresql_base_conf_name))
f.write("include '{0}'\n\n".format(config.get('custom_conf') or self._postgresql_base_conf_name))
for name, value in sorted(self._server_parameters.items()):
if name not in self.CMDLINE_OPTIONS:
f.write("{0} = '{1}'\n".format(name, value))