Spec-Zone.ru › Ansible

Модуль community.postgresql.postgresql_subscription – Добавление, обновление или удаление подписки PostgreSQL

Примечание

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

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

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

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

Новая версия в community.postgresql 0.2.0

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

Описание

  • Добавление, обновление или удаление подписки PostgreSQL.

Требования

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

  • psycopg2 >= 2.5.1
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

ca_cert

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

строка

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

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

cascade

логическое значение

Удалить зависимости подписки. Действует только при state=absent.

Игнорируется, когда state не является absent.

Варианты:

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

comment

строка

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

Устанавливает комментарий к подписке.

Для сброса комментария передайте пустую строку.

connect_params

словарь

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

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

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

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

connparams

словарь

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

Для получения дополнительной информации см. https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING.

Игнорируется, когда state не является present.

Игнорируется, если параметры соединения существующей подписки недоступны от сервера (например, в CloudSQL).

db

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

строка / обязательно

Имя базы данных для подключения и где будет изменён статус подписки.

login_host

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

строка

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

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

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

login_password

строка

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

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

login_unix_socket

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

строка

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

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

login_user

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

строка

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

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

name

строка / обязательно

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

owner

строка

Владелец подписки.

Если owner не определен, владелец будет установлен как login_user или session_role.

Игнорируется, когда state не является present.

port

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

целое число

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

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

publications

список / элементы=строка

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

Игнорируется, когда state не является present.

session_role

строка

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

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

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

ssl_cert

путь

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

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

ssl_key

путь

добавлен в 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"

state

string

Состояние подписки.

present подразумевает, что если подписки name не существует, она будет создана.

absent подразумевает, что если подписка name существует, она будет удалена.

refresh подразумевает, что если подписка name существует, она будет обновлена. Извлечение отсутствующей информации о таблицах из издателя. Всегда возвращает ``changed`` равно ``True``. Это запустит репликацию таблиц, которые были добавлены в опубликованные подписки с момента последнего вызова REFRESH PUBLICATION или с момента создания подписки. Существующие данные в подписываемых публикациях должны быть скопированы после запуска репликации.

Для получения дополнительной информации о refresh см. https://www.postgresql.org/docs/current/sql-altersubscription.html.

Варианты:

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

subsparams

словарь

Словарь необязательных параметров для подписки, например, copy_data, enabled, create_slot и т. д.

Для обновления подписки разрешённые ключи — enabled, slot_name, synchronous_commit, publication_name.

См. доступные параметры для создания новой подписки на https://www.postgresql.org/docs/current/sql-createsubscription.html.

Игнорируется, когда state не равно present.

trust_input

логический

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

Если false, проверяет, являются ли значения параметров name, publications, owner, session_role, connparams, subsparams потенциально опасными.

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

Примечания

Примечание

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

См. также

См. также

community.postgresql.postgresql_publication

Добавление, обновление или удаление публикации PostgreSQL.

community.postgresql.postgresql_info

Сбор информации о серверах PostgreSQL.

Ссылка CREATE SUBSCRIPTION

Полное описание команды CREATE SUBSCRIPTION.

Ссылка ALTER SUBSCRIPTION

Полное описание команды ALTER SUBSCRIPTION.

Ссылка DROP SUBSCRIPTION

Полное описание команды DROP SUBSCRIPTION.

Примеры

- name: >
    Create acme subscription in mydb database using acme_publication and
    the following connection parameters to connect to the publisher.
    Set the subscription owner as alice.
  community.postgresql.postgresql_subscription:
    db: mydb
    name: acme
    state: present
    publications: acme_publication
    owner: alice
    connparams:
      host: 127.0.0.1
      port: 5432
      user: repl
      password: replpass
      dbname: mydb
    comment: Made by Ansible

- name: Assuming that acme subscription exists, try to change conn parameters
  community.postgresql.postgresql_subscription:
    db: mydb
    name: acme
    connparams:
      host: 127.0.0.1
      port: 5432
      user: repl
      password: replpass
      connect_timeout: 100

- name: Refresh acme publication
  community.postgresql.postgresql_subscription:
    db: mydb
    name: acme
    state: refresh

- name: Drop acme subscription from mydb with dependencies (cascade=true)
  community.postgresql.postgresql_subscription:
    db: mydb
    name: acme
    state: absent
    cascade: true

- name: Assuming that acme subscription exists and enabled, disable the subscription
  community.postgresql.postgresql_subscription:
    db: mydb
    name: acme
    state: present
    subsparams:
      enabled: false

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

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

Ключ

Описание

exists

boolean

Флаг, указывающий, существует ли подписка в конце выполнения.

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

Пример: true

final_state

словарь

Настройки подписки в конце выполнения.

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

Пример: {"conninfo": {}, "enabled": true, "owner": "postgres", "slotname": "test", "synccommit": true}

initial_state

словарь

Настройки подписки в начале выполнения.

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

Пример: {"conninfo": {}, "enabled": true, "owner": "postgres", "slotname": "test", "synccommit": true}

name

строка

Имя подписки.

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

Пример: "acme"

queries

строка

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

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

Пример: "['DROP SUBSCRIPTION \"mysubscription\"']"

Авторы

  • Andrew Klychkov (@Andersson007)

Ссылки на коллекцию

  • Система отслеживания проблем
  • Репозиторий (источники)
  • Сообщить об ошибке
  • Общение

© 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_subscription_module.html

Spec-Zone.ru

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