Spec-Zone.ru › Ansible

Модуль community.postgresql.postgresql_slot — добавление и удаление слотов репликации в базе данных PostgreSQL

Примечание

Этот модуль входит в коллекцию community.postgresql (версия 4.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.postgresql. Для использования этого модуля необходимы дополнительные требования. Подробнее см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.postgresql.postgresql_slot.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

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

Требования

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

  • psycopg2 >= 2.5.1

Параметры

Параметр

Комментарии

ca_cert

псевдонимы: ssl_rootcert

string

Указывает имя файла, содержащего сертификат или сертификаты центра сертификации (CA) SSL.

Если файл существует, будет проверено, что сертификат сервера подписан одним из этих центров сертификации.

connect_params

dictionary

добавлено в community.postgresql 2.3.0

Любые дополнительные параметры, передаваемые в libpg.

Эти параметры имеют приоритет.

По умолчанию: {}

immediately_reserve

boolean

Необязательный параметр, который при значении true указывает, что LSN для этого слота репликации нужно зарезервировать немедленно. В противном случае значение по умолчанию, false, указывает, что LSN резервируется при первом подключении клиента потоковой репликации.

Доступен начиная с версии PostgreSQL 9.6.

Используется только с slot_type=physical.

Взаимоисключающий с slot_type=logical.

Варианты:

  • false ← (по умолчанию)
  • true

login_db

псевдонимы: db

string

Имя базы данных для подключения.

Псевдоним db устарел и будет удалён в версии 5.0.0.

login_host

псевдонимы: host

string

Хост, на котором работает база данных.

Если при использовании localhost возникают проблемы с подключением, попробуйте вместо этого использовать 127.0.0.1.

По умолчанию: ""

login_password

string

Пароль, который модуль должен использовать для создания сеанса PostgreSQL.

По умолчанию: ""

login_port

псевдонимы: port

integer

Порт базы данных для подключения.

Псевдоним port устарел и будет удалён в следующем основном выпуске. Вместо него используйте login_port.

По умолчанию: 5432

login_unix_socket

псевдонимы: unix_socket

string

Путь к доменному сокету Unix для локальных подключений.

По умолчанию: ""

login_user

псевдонимы: login

string

Имя пользователя, которое модуль должен использовать для создания сеанса PostgreSQL.

По умолчанию: "postgres"

name

псевдонимы: slot_name

string / обязательный

Имя слота репликации для добавления или удаления.

output_plugin

string

Для всех логических слотов необходимо указать декодер выходного модуля, который они используют.

Этот параметр не применяется к физическим слотам.

Игнорируется при значении slot_type=physical.

По умолчанию: "test_decoding"

session_role

string

Переключиться на session_role после подключения. Указанная роль session_role должна быть ролью, участником которой является текущий login_user.

Проверка разрешений для команд SQL выполняется так, как если бы изначально вошедшим пользователем была роль session_role.

slot_type

string

Тип слота.

Варианты:

  • "logical"
  • "physical" ← (по умолчанию)

ssl_cert

path

добавлено в community.postgresql 2.4.0

Указывает имя файла сертификата SSL клиента.

ssl_key

path

добавлено в community.postgresql 2.4.0

Указывает расположение закрытого ключа, используемого для сертификата клиента.

ssl_mode

string

Определяет, будет ли согласовано с сервером безопасное TCP/IP-подключение SSL и какой приоритет ему будет назначен.

Подробнее о режимах см. на странице https://www.postgresql.org/docs/current/static/libpq-ssl.html.

Значение по умолчанию prefer соответствует значению по умолчанию libpq.

Варианты:

  • "allow"
  • "disable"
  • "prefer" ← (по умолчанию)
  • "require"
  • "verify-ca"
  • "verify-full"

state

string

Состояние слота.

state=present означает, что слот должен присутствовать в системе.

state=absent означает, что разрешения для groups должны быть отозваны у target_roles.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

trust_input

boolean

добавлено в community.postgresql 0.2.0

Если false, проверяет, может ли значение session_role быть потенциально опасным.

Использовать false имеет смысл только в том случае, если возможны SQL-инъекции через session_role.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может выполняться в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

Примечания

Примечание

  • Физические слоты репликации появились в PostgreSQL начиная с версии 9.4, а логические слоты репликации — начиная с версии 10.0.
  • Предполагается, что для аутентификации вы входите в систему как учётная запись postgres на хосте или переключаетесь на неё с помощью sudo.
  • Чтобы избежать ошибки «Peer authentication failed for user postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg — адаптер базы данных PostgreSQL для Python. Перед использованием модуля необходимо убедиться, что на хосте установлен psycopg2 >= 2.5.1 или psycopg3 >= 3.1.8.
  • Если удалённый хост является сервером PostgreSQL (что используется по умолчанию), PostgreSQL также должен быть установлен на удалённом хосте.
  • Для систем на базе Ubuntu перед использованием этого модуля установите на удалённом хосте пакеты postgresql, libpq-dev и python3-psycopg2.

См. также

См. также

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

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

Справочник по протоколу потоковой репликации 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
    login_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
    login_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
    login_port: 5433
    login_user: ourSuperuser
    login_password: thePassword
    state: absent

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

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

Ключ

Описание

name

string

Имя слота.

Возвращается: при успехе

Пример: "physical_one"

queries

string

Список выполненных запросов.

Возвращается: при успехе

Пример: "[\"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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/postgresql/postgresql_slot_module.html

Spec-Zone.ru

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