Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

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

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

Обзор

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

Требования

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

  • psycopg2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
строка
Указывает имя файла, содержащего сертификат(ы) центра сертификации (CA) для 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
строка
    Варианты:
  • разрешить
  • отключить
  • предпочитать ←
  • требовать
  • проверить-ca
  • проверить-полностью
Определяет, будет ли или с каким приоритетом устанавливаться защищенное 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.
  • Аутентификация по умолчанию предполагает, что вы либо входите в систему как пользователь, либо используете 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/postgresql/postgresql_slot_module.html

Spec-Zone.ru

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