postgresql_slot – Добавление или удаление слотов репликации из базы данных PostgreSQL
Новое в версии 2.8.
Обзор
- Добавление или удаление физических или логических слотов репликации из базы данных PostgreSQL.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- psycopg2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_cert строка | Указывает имя файла, содержащего сертификаты центра сертификации (CA). Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров. псевдонимы: 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 подразумевает, что groups должны быть отозваны из target_roles. |
Примечания
Примечание
- Физические слоты репликации были введены в 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
postgresql_slot:
slot_name: physical_one
db: ansible
- name: Remove physical_one slot if exists
become_user: postgres
postgresql_slot:
slot_name: physical_one
db: ansible
state: absent
- name: Create logical_one logical slot to the database acme if doesn't exist
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
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)"] |
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- John Scalia (@jscalia)
- Andrew Klychkov (@Andersson007)
Подсказка
Если вы обнаружите какие-либо проблемы в данной документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/postgresql_slot_module.html