Spec-Zone.ru › Ansible

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

Примечание

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

Возможно, эта коллекция уже установлена, если вы используете пакет 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

Параметры

Параметр

Комментарии

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).

login_db

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

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

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

Псевдоним db устарел и будет удалён в версии 5.0.0.

login_host

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

строка

Узел, на котором работает база данных.

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

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

login_password

строка

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

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

login_port

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

целое число

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

Псевдоним port устарел и будет удалён в следующем основном выпуске. Вместо него используйте login_port.

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

login_unix_socket

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

строка

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

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

login_user

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

строка

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

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

name

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

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

owner

строка

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

Если owner не задан, владельцем будет назначен login_user или session_role.

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

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

строка

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

Дополнительную информацию о режимах см. на странице https://www.postgresql.org/docs/current/static/libpq-ssl.html.

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

Варианты:

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

state

строка

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

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

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

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

Дополнительную информацию о 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.
  • Предполагается, что для аутентификации вы входите в систему под учётной записью 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.

См. также

См. также

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:
    login_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:
    login_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:
    login_db: mydb
    name: acme
    state: absent
    cascade: true

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

Возвращаемые значения

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

Ключ

Описание

exists

логический

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

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

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

Spec-Zone.ru

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