From 0f2ff477381d67de27149a92744f873322e44fd7 Mon Sep 17 00:00:00 2001 From: Dennis Camera Date: Tue, 19 Jan 2021 16:37:43 +0100 Subject: [PATCH] [type/__postgres_conf] Restart PostgreSQL server based on pending_restart column of pg_settings --- .../type/__postgres_conf/explorer/context | 43 ------------------- .../conf/type/__postgres_conf/gencode-remote | 16 +++---- 2 files changed, 6 insertions(+), 53 deletions(-) delete mode 100644 cdist/conf/type/__postgres_conf/explorer/context diff --git a/cdist/conf/type/__postgres_conf/explorer/context b/cdist/conf/type/__postgres_conf/explorer/context deleted file mode 100644 index def5f676..00000000 --- a/cdist/conf/type/__postgres_conf/explorer/context +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -e -# -*- mode: sh; indent-tabs-mode: t -*- -# -# 2021 Dennis Camera (dennis.camera at ssrq-sds-fds.ch) -# -# This file is part of cdist. -# -# cdist is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cdist is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cdist. If not, see . -# -# Returns the "context" of the configuration setting. -# cf. also https://www.postgresql.org/docs/10/view-pg-settings.html - -os=$("${__explorer:?}/os") - -case ${os} -in - (openbsd) - postgres_user='_postgresql' - ;; - (devuan) - postgres_user='postgres' - ;; - (*) - echo "Unsupported OS: ${os}" >&2 - exit 1 - ;; -esac - -conf_name=${__object_id:?} - -# NOTE: SHOW/SET are case-insentitive, so this command should also be. -su - "${postgres_user}" -c "psql postgres -twAc \"SELECT context FROM pg_settings WHERE lower(name) = lower('${conf_name}')\"" diff --git a/cdist/conf/type/__postgres_conf/gencode-remote b/cdist/conf/type/__postgres_conf/gencode-remote index cc9b4e99..fa930cc4 100755 --- a/cdist/conf/type/__postgres_conf/gencode-remote +++ b/cdist/conf/type/__postgres_conf/gencode-remote @@ -98,15 +98,11 @@ in ;; esac -# check success (makes only sense if setting to a non-default value) -# and restart server if needed -if test "${state_should}" = 'present' -then - cat <<-EOF +# Restart PostgreSQL server if required to apply new configuration value +cat <