Spec-Zone.ru › Ansible

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

Примечание

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

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

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

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

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

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

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

Требования

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

  • psycopg2 >= 2.5.1

Параметры

Параметр

Комментарии

ca_cert

aliases: ssl_rootcert

string

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

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

connect_params

dictionary

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

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

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

Значение по умолчанию: {}

db

aliases: login_db

string

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

immediately_reserve

boolean

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

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

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

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

Варианты:

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

login_host

aliases: host

string

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

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

Значение по умолчанию: ""

login_password

string

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

Значение по умолчанию: ""

login_unix_socket

aliases: unix_socket

string

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

Значение по умолчанию: ""

login_user

aliases: login

string

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

Значение по умолчанию: "postgres"

name

aliases: slot_name

string / required

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

output_plugin

string

Все логические слоты должны указывать, какой декодер плагина вывода они используют.

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

Он будет игнорироваться с slot_type=physical.

Значение по умолчанию: "test_decoding"

port

aliases: login_port

integer

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

Значение по умолчанию: 5432

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

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

См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.

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

Варианты:

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

состояние

строка

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

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

состояние=отсутствие подразумевает, что группы должны быть отозваны из target_roles.

Варианты:

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

trust_input

логическое

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

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

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

Примечания

Примечание

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

См. также

См. также

Ссылка на справку 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.postgresql.postgresql_slot:
    slot_name: physical_one
    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
    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
    port: 5433
    login_user: ourSuperuser
    login_password: thePassword
    state: absent

Значения возврата

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

Ключ

Описание

имя

строка

Имя слота.

Возвращаемое значение: успех

Пример: "physical_one"

запросы

строка

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

Возвращаемое значение: успех

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

Spec-Zone.ru

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