Spec-Zone.ru › Ansible 2.8

postgresql_slot – Добавление или удаление слотов из базы данных PostgreSQL

Новая версия с 2.8.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата
  • Состояние

Обзор

  • Добавление или удаление физических или логических слотов из базы данных 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
строка
    Варианты:
  • логический
  • физический ←
Тип слота.
Для получения дополнительной информации см. https://www.postgresql.org/docs/current/protocol-replication.html и https://www.postgresql.org/docs/current/logicaldecoding-explanation.html.
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.

Примечания

Примечание

  • Физические слоты репликации были введены в PostgreSQL с версией 9.4, а логические слоты репликации — начиная с версии 10.0.
  • По умолчанию предполагается, что вы входите в систему или используете sudo с учетной записью postgres на хосте.
  • Чтобы избежать ошибки «Ошибка проверки подлинности клиента для пользователя postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля.
  • Если удаленный хост является сервером PostgreSQL (что является случаем по умолчанию), то PostgreSQL также должен быть установлен на удаленном хосте.
  • Для систем на базе Ubuntu установите пакеты postgresql, libpq-dev и python-psycopg2
  • По умолчанию предполагается, что вы входите в систему или используете sudo с учетной записью postgres на хосте.
  • Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля. Если удаленный хост является сервером PostgreSQL (что является случаем по умолчанию), то PostgreSQL также должен быть установлен на удаленном хосте. Для систем на базе Ubuntu установите пакеты postgresql, libpq-dev, и python-psycopg2 на удаленном хосте перед использованием этого модуля.
  • Параметр ca_cert требует как минимум версии Postgres 8.4 и psycopg2 версии 2.4.3.

Примеры

- 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 doen't exist
  postgresql_slot:
    name: logical_slot_one
    slot_type: logical
    state: present
    output_plugin: custom_decoder_one

- 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)
  • Andew 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.8/modules/postgresql_slot_module.html

Spec-Zone.ru

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