From b3ae8652c9a42ecbb85d198a4eb44e1f9fa09f6a Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Thu, 12 Sep 2024 10:07:07 +0200 Subject: [PATCH] Explicitly include CMDLINE_OPTIONS GUCs when querying pg_settings (#3157) followup on #2993 --- patroni/postgresql/config.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/patroni/postgresql/config.py b/patroni/postgresql/config.py index 9be004fe..5f8d043e 100644 --- a/patroni/postgresql/config.py +++ b/patroni/postgresql/config.py @@ -365,8 +365,9 @@ class ConfigHandler(object): keep_values = {k: self._server_parameters[k] for k in exclude} server_parameters = CaseInsensitiveDict({r[0]: r[1] for r in self._postgresql.query( "SELECT name, pg_catalog.current_setting(name) FROM pg_catalog.pg_settings" - " WHERE (source IN ('command line', 'environment variable') OR sourcefile = %s)" - " AND pg_catalog.lower(name) != ALL(%s)", self._postgresql_conf, exclude)}) + " WHERE (source IN ('command line', 'environment variable') OR sourcefile = %s" + " OR pg_catalog.lower(name) = ANY(%s)) AND pg_catalog.lower(name) != ALL(%s)", + self._postgresql_conf, [n.lower() for n in self.CMDLINE_OPTIONS.keys()], exclude)}) recovery_params = CaseInsensitiveDict({k: server_parameters.pop(k) for k in self._RECOVERY_PARAMETERS if k in server_parameters}) # We also want to load current settings of recovery parameters, including primary_conninfo