Spec-Zone.ru › Ansible 2.11

community.postgresql.postgresql_slot – Добавление или удаление реплицируемых слотов из базы данных PostgreSQL

Примечание

Этот плагин входит в коллекцию community.postgresql (версия 1.1.1).

Для его установки используйте: ansible-galaxy collection install community.postgresql.

Для использования в книге задач укажите: community.postgresql.postgresql_slot.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Обзор

  • Добавление или удаление физических или логических реплицируемых слотов из базы данных PostgreSQL.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • psycopg2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
строка
Указывает имя файла, содержащего сертификат(ы) центра сертификации SSL.
Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров.

псевдонимы: ssl_rootcert
db
строка
Имя базы данных для подключения.

псевдонимы: login_db
immediately_reserve
булево
    Варианты:
  • нет ←
  • да
Дополнительный параметр, который, когда yes, указывает, что LSN для этого реплицируемого слота должен быть зарезервирован немедленно, в противном случае по умолчанию, no, указывает, что LSN резервируется при первом подключении от клиента потоковой репликации.
Доступен с версии PostgreSQL 9.6.
Используется только с slot_type=physical.
Взаимоисключающий с slot_type=logical.
login_host
строка
Хост, на котором работает база данных.
login_password
строка
Пароль для аутентификации.
login_unix_socket
строка
Путь к сокету Unix для локальных подключений.
login_user
строка
По умолчанию:
"postgres"
Имя пользователя для аутентификации.
name
строка / обязательно
Имя реплицируемого слота для добавления или удаления.

псевдонимы: slot_name
output_plugin
строка
По умолчанию:
"test_decoding"
Все логические слоты должны указывать, какой декодер плагина вывода они используют.
Этот параметр не относится к физическим слотам.
Он будет проигнорирован с slot_type=physical.
port
целое число
По умолчанию:
5432
Порт базы данных для подключения.

псевдонимы: login_port
session_role
строка
Переключение на session_role после подключения. Указанный session_role должен быть ролью, членом которой является текущий login_user.
Проверка разрешений для SQL-команд выполняется так, как будто session_role был тем, кто изначально вошел в систему.
slot_type
строка
    Варианты:
  • логический
  • физический ←
Тип слота.
ssl_mode
строка
    Варианты:
  • разрешить
  • отключить
  • предпочитать ←
  • требовать
  • проверять-ца
  • проверять-полностью
Определяет, будет ли и с какой приоритетностью устанавливаться защищенное SSL TCP/IP-соединение с сервером.
См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.
По умолчанию prefer соответствует значению по умолчанию libpq.
state
строка
    Варианты:
  • отсутствует
  • наличие ←
Состояние слота.
state=present подразумевает, что слот должен присутствовать в системе.
state=absent подразумевает, что группы должны быть отозваны из target_roles.
trust_input
булево
добавлен в 0.2.0 community.postgresql
    Варианты:
  • нет
  • да ←
Если no, проверьте, что значение session_role потенциально опасно.
Использование no целесообразно только в случае возможности SQL-инъекций через session_role.

Примечания

Примечание

  • Физические реплицируемые слоты были введены в PostgreSQL с версией 9.4, а логические реплицируемые слоты — начиная с версии 10.0.
  • Поддерживает check_mode.
  • Аутентификация по умолчанию предполагает, что вы либо входите в систему как, либо используете sudo для учетной записи postgres на хосте.
  • Чтобы избежать ошибки «Не удалась проверка подлинности узла для пользователя postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля.
  • Если удаленный хост является сервером PostgreSQL (что является стандартным случаем), PostgreSQL также должен быть установлен на удаленном хосте.
  • Для систем на базе Ubuntu установите пакеты postgresql, libpq-dev и python-psycopg2 на удаленном хосте перед использованием этого модуля.
  • Параметр ca_cert требует как минимум версии Postgres 8.4 и psycopg2 версии 2.4.3.

См. также

См. также

Ссылка на справку по представлению PostgreSQL pg_replication_slots

Полная справка по представлению PostgreSQL pg_replication_slots.

Ссылка на справку по протоколу потоковой репликации PostgreSQL

Полная справка по документации протокола потоковой репликации PostgreSQL.

Ссылка на справку по протоколу логической репликации PostgreSQL

Полная справка по документации протокола логической репликации PostgreSQL.

Примеры

- name: Create physical_one physical slot if doesn't exist
  become_user: postgres
  community.postgresql.postgresql_slot:
    slot_name: physical_one
    db: ansible

- name: Remove physical_one slot if exists
  become_user: postgres
  community.postgresql.postgresql_slot:
    slot_name: physical_one
    db: ansible
    state: absent

- name: Create logical_one logical slot to the database acme if doesn't exist
  community.postgresql.postgresql_slot:
    name: logical_slot_one
    slot_type: logical
    state: present
    output_plugin: custom_decoder_one
    db: "acme"

- name: Remove logical_one slot if exists from the cluster running on another host and non-standard port
  community.postgresql.postgresql_slot:
    name: logical_one
    login_host: mydatabase.example.org
    port: 5433
    login_user: ourSuperuser
    login_password: thePassword
    state: absent

Возвращаемые значения

Общие возвращаемые значения описаны в этом разделе, ниже приведены поля, уникальные для данного модуля:

Ключ Возвращаемое значение Описание
name
строка
всегда
Имя слота.

Пример:
physical_one
queries
строка
всегда
Список выполненных запросов.

Пример:
["SELECT pg_create_physical_replication_slot('physical_one', False, False)"]


Авторы

  • John Scalia (@jscalia)
  • Andrew Klychkov (@Andersson007)
  • Thomas O’Donnell (@andytom)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/postgresql/postgresql_slot_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API