Модуль 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 | Необязательный параметр, который при значении Доступен начиная с версии PostgreSQL 9.6. Используется только с slot_type=physical. Взаимоисключающий с slot_type=logical. Варианты:
|
login_db псевдонимы: db string | Имя базы данных для подключения. Псевдоним |
login_host псевдонимы: host string | Хост, на котором работает база данных. Если при использовании По умолчанию: |
login_password string | Пароль, который модуль должен использовать для создания сеанса PostgreSQL. По умолчанию: |
login_port псевдонимы: port integer | Порт базы данных для подключения. Псевдоним По умолчанию: |
login_unix_socket псевдонимы: unix_socket string | Путь к доменному сокету Unix для локальных подключений. По умолчанию: |
login_user псевдонимы: login string | Имя пользователя, которое модуль должен использовать для создания сеанса PostgreSQL. По умолчанию: |
name псевдонимы: slot_name string / обязательный | Имя слота репликации для добавления или удаления. |
output_plugin string | Для всех логических слотов необходимо указать декодер выходного модуля, который они используют. Этот параметр не применяется к физическим слотам. Игнорируется при значении slot_type=physical. По умолчанию: |
session_role string | Переключиться на session_role после подключения. Указанная роль session_role должна быть ролью, участником которой является текущий login_user. Проверка разрешений для команд SQL выполняется так, как если бы изначально вошедшим пользователем была роль session_role. |
slot_type string | Тип слота. Варианты:
|
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. Значение по умолчанию Варианты:
|
state string | Состояние слота. state=present означает, что слот должен присутствовать в системе. state=absent означает, что разрешения для groups должны быть отозваны у target_roles. Варианты:
|
trust_input boolean добавлено в community.postgresql 0.2.0 | Если Использовать Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
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 | Имя слота. Возвращается: при успехе Пример: |
queries string | Список выполненных запросов. Возвращается: при успехе Пример: |
Ссылки на коллекцию
© 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