Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

Для использования в книге задач укажите: community.general.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 подразумевает, что groups должны быть отозваны от target_roles.
trust_input
булево
добавлен в 0.2.0 от community.general
    Варианты:
  • нет
  • да ←
Если 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.general.postgresql_slot:
    slot_name: physical_one
    db: ansible

- name: Remove physical_one slot if exists
  become_user: postgres
  community.general.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.general.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.general.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/general/postgresql_slot_module.html

Spec-Zone.ru

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