community.postgresql.postgresql_set модуль – Изменение параметра конфигурации сервера PostgreSQL
Примечание
Этот модуль входит в коллекцию community.postgresql (версия 3.6.1).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.postgresql. Для использования этого модуля потребуются дополнительные требования. Подробнее см. Требования.
Для использования в плейбуке укажите: community.postgresql.postgresql_set.
Описание
- Позволяет изменить параметр конфигурации сервера PostgreSQL.
- Модуль использует команду ALTER SYSTEM и применяет изменения, перезагрузив конфигурацию сервера.
- ALTER SYSTEM используется для изменения параметров конфигурации всего кластера баз данных.
- Это может быть удобнее и безопаснее, чем традиционный метод ручного редактирования файла postgresql.conf.
- ALTER SYSTEM записывает заданное значение параметра в файл $PGDATA/postgresql.auto.conf, который считывается дополнительно к postgresql.conf.
- Модуль позволяет сбросить параметр до значения boot_val (начальное значение кластера) с помощью reset=true или удалить строку параметра из postgresql.auto.conf и выполнить перезагрузку с value=default (для настроек с контекстом postmaster требуется перезагрузка).
- После изменения в выводе Ansible можно увидеть предыдущее и новое значение параметра и другую информацию, используя возвращаемые значения и модуль ansible.builtin.debug.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- psycopg2 >= 2.5.1
Параметры
Параметр | Комментарии |
|---|---|
ca_cert псевдонимы: ssl_rootcert строка | Указывает имя файла, содержащего сертификат(ы) центра сертификации SSL (CA). Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров. |
connect_params словарь добавлен в community.postgresql 2.3.0 | Дополнительные параметры, которые необходимо передать libpg. Эти параметры имеют приоритет. По умолчанию: |
db псевдонимы: login_db строка | Имя базы данных для подключения. |
login_host псевдонимы: host строка | Хост, на котором работает база данных. Если у вас есть проблемы с подключением при использовании По умолчанию: |
login_password строка | Пароль, который этот модуль должен использовать для установления сеанса PostgreSQL. По умолчанию: |
login_unix_socket псевдонимы: unix_socket строка | Путь к сокету Unix доменной области для локальных подключений. По умолчанию: |
login_user псевдонимы: login строка | Имя пользователя, которое этот модуль должен использовать для установления сеанса PostgreSQL. По умолчанию: |
name строка / обязательно | Имя параметра сервера PostgreSQL. Обратите внимание, что параметры чувствительны к регистру (см. примеры ниже). |
port псевдонимы: login_port целое число | Порт базы данных для подключения. По умолчанию: |
reset булево | Восстановить параметр в исходное состояние (boot_val). Взаимоисключающее с value. Варианты:
|
session_role строка | Переключиться на session_role после подключения. Указанная session_role должна быть ролью, членом которой является текущий login_user. Проверка разрешений для команд SQL выполняется так, как если бы session_role была той, которая первоначально вошла в систему. |
ssl_cert путь добавлен в community.postgresql 2.4.0 | Указывает имя файла клиентского SSL-сертификата. |
ssl_key путь добавлен в community.postgresql 2.4.0 | Указывает расположение секретного ключа, используемого для клиентского сертификата. |
ssl_mode строка | Определяет, будет ли или с каким приоритетом устанавливаться защищенное SSL TCP/IP соединение с сервером. См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах. Значение по умолчанию Варианты:
|
trust_input булево добавлен в community.postgresql 0.2.0 | Если Имеет смысл использовать Варианты:
|
value строка | Значение параметра для установки. Чтобы удалить строку параметра из postgresql.auto.conf и перезагрузить конфигурацию сервера, необходимо передать value=default. При value=default в книге сценариев всегда возвращается, что изменения произошли. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме check_mode и возвращать прогноз изменения состояния без изменения целевого объекта. |
Примечания
Примечание
- Поддерживаемая версия PostgreSQL — 9.4 и выше.
- Обратите внимание, что изменение настроек с контекстом «postmaster» может вернуть changed=true, даже если фактически ничего не изменилось, так как одно и то же значение может быть представлено в различных форматах, например, 1024MB, 1GB и т. д. Однако в представлении pg_settings оно может быть определено как число 131072 страниц по 8 КБ. Окончательная проверка значения параметра невозможна, так как сервер не был перезапущен, а значение в pg_settings еще не обновлено.
- Для некоторых параметров требуется перезапуск сервера PostgreSQL. См. официальную документацию https://www.postgresql.org/docs/current/view-pg-settings.html.
- По умолчанию используется аутентификация, предполагающая вход под учетной записью
postgresна хосте или использование sudo. - Для предотвращения ошибки «Ошибка аутентификации Peer для пользователя postgres» используйте пользователя postgres в качестве become_user.
- Этот модуль использует
psycopg, адаптер базы данных PostgreSQL для Python. Необходимо убедиться, чтоpsycopg2 >= 2.5.1илиpsycopg3 >= 3.1.8установлены на хосте перед использованием данного модуля. - Если удаленный хост — сервер PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удаленном хосте.
- Для систем на основе Ubuntu необходимо установить пакеты
postgresql,libpq-devиpython3-psycopg2на удаленном хосте перед использованием данного модуля.
См. также
См. также
- community.postgresql.postgresql_info
-
Сбор информации о серверах PostgreSQL.
- Настройка сервера PostgreSQL
-
Общая информация о настройке сервера PostgreSQL.
- Ссылка на справочную информацию по представлению pg_settings PostgreSQL
-
Полная справочная информация по документации представления pg_settings.
- Ссылка на справочную информацию по команде ALTER SYSTEM PostgreSQL
-
Полная справочная информация по документации команды ALTER SYSTEM.
Примеры
- name: Restore wal_keep_segments parameter to initial state
community.postgresql.postgresql_set:
name: wal_keep_segments
reset: true
# Set work_mem parameter to 32MB and show what's been changed and restart is required or not
# (output example: "msg": "work_mem 4MB >> 64MB restart_req: False")
- name: Set work mem parameter
community.postgresql.postgresql_set:
name: work_mem
value: 32mb
register: set
- name: Print the result if the setting changed
ansible.builtin.debug:
msg: "{{ set.name }} {{ set.prev_val_pretty }} >> {{ set.value_pretty }} restart_req: {{ set.restart_required }}"
when: set.changed
# Ensure that the restart of PostgreSQL server must be required for some parameters.
# In this situation you see the same parameter in prev_val_pretty and value_pretty, but 'changed=True'
# (If you passed the value that was different from the current server setting).
- name: Set log_min_duration_statement parameter to 1 second
community.postgresql.postgresql_set:
name: log_min_duration_statement
value: 1s
- name: Set wal_log_hints parameter to default value (remove parameter from postgresql.auto.conf)
community.postgresql.postgresql_set:
name: wal_log_hints
value: default
- name: Set TimeZone parameter (careful, case sensitive)
community.postgresql.postgresql_set:
name: TimeZone
value: 'Europe/Paris'
Значения возврата
Общие значения возврата описаны здесь, ниже приведены поля, уникальные для данного модуля:
Ключ | Описание |
|---|---|
context строка | Контекст настройки PostgreSQL. Возвращаемое значение: success Пример: |
name строка | Имя параметра сервера PostgreSQL. Возвращаемое значение: success Пример: |
prev_val_pretty строка | Информация о предыдущем состоянии параметра. Возвращаемое значение: success Пример: |
restart_required логическое | Информация о текущем состоянии параметра. Возвращаемое значение: success Пример: |
value словарь | Словарь, содержащий текущее значение параметра (на момент завершения выполнения playbook). Обратите внимание, что для реального изменения некоторых параметров требуется перезапуск сервера PostgreSQL. Возвращает текущее значение в режиме проверки. Возвращаемое значение: success Пример: |
value_pretty строка | Информация о текущем состоянии параметра. Возвращаемое значение: success Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/postgresql/postgresql_set_module.html