Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в коллекцию community.postgresql (версия 1.1.1).

Для его установки используйте: ansible-galaxy collection install community.postgresql.

Для использования в книге задач укажите: community.postgresql.postgresql_subscription.

Добавлено в версии 0.2.0: of community.postgresql

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

Обзор

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

Требования

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

  • psycopg2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
строка
Указывает имя файла, содержащего сертификат(ы) центра сертификации SSL.
Если файл существует, серверный сертификат будет проверен на подпись одним из этих центров.

Псевдонимы: ssl_rootcert
cascade
логическое значение
    Варианты:
  • нет ←
  • да
Удаление зависимостей подписки. Имеет эффект только со значением state=absent.
Игнорируется, когда state не равно absent.
connparams
словарь
Словарь параметров соединения для подключения к издателю.
Для получения дополнительной информации см. https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING.
Игнорируется, когда state не равно present.
db
строка / обязательно
Имя базы данных, к которой необходимо подключиться и где будет изменено состояние подписки.

Псевдонимы: login_db
login_host
строка
Хост, на котором работает база данных.
login_password
строка
Пароль, используемый для аутентификации.
login_unix_socket
строка
Путь к сокету Unix доменной области для локальных подключений.
login_user
строка
По умолчанию:
"postgres"
Имя пользователя, используемое для аутентификации.
name
строка / обязательно
Имя подписки для добавления, обновления или удаления.
owner
строка
Владелец подписки.
Если owner не определен, владелец будет установлен как login_user или session_role.
Игнорируется, когда state не равно present.
port
целое число
По умолчанию:
5432
Порт базы данных для подключения.

Псевдонимы: login_port
publications
список / элементы=строка
Имена публикаций на издателе, которые будут использоваться для подписки.
Игнорируется, когда state не равно present.
session_role
строка
добавлено в 0.2.0 of community.postgresql
Переключение на session_role после подключения. Указанная session_role должна быть ролью, членом которой является текущий login_user.
Проверка разрешений для SQL-команд выполняется так, как будто session_role был тем, кто первоначально вошел в систему.
ssl_mode
строка
    Варианты:
  • allow
  • disable
  • prefer ←
  • require
  • verify-ca
  • verify-full
Определяет, будет ли и с каким приоритетом устанавливаться защищенное SSL-TCP/IP-соединение с сервером.
См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.
Значение по умолчанию prefer соответствует значению по умолчанию libpq.
state
строка
    Варианты:
  • absent
  • present ←
  • refresh
Состояние подписки.
present подразумевает, что если подписки name не существует, она будет создана.
absent подразумевает, что если подписка name существует, она будет удалена.
refresh подразумевает, что если подписка name существует, она будет обновлена. Извлечение отсутствующей информации о таблице из издателя. Всегда возвращает ``changed`` равно ``True``. Это запустит репликацию таблиц, которые были добавлены в подписываемые публикации с момента последнего вызова REFRESH PUBLICATION или с момента создания SUBSCRIPTION. Существующие данные в подписываемых публикациях должны быть скопированы после запуска репликации.
Для получения дополнительной информации о refresh см. https://www.postgresql.org/docs/current/sql-altersubscription.html.
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
логическое значение
добавлено в 0.2.0 of community.postgresql
    Варианты:
  • нет
  • да ←
Если no, проверьте, являются ли значения параметров name, publications, owner, session_role, connparams, subsparams потенциально опасными.
Использование yes имеет смысл только в том случае, если SQL-инъекции через параметры возможны.

Примечания

Примечание

  • Версия PostgreSQL должна быть 10 или выше.
  • Поддерживает check_mode.
  • Аутентификация по умолчанию предполагает, что вы входите в систему как или используя sudo для учетной записи postgres на хосте.
  • Чтобы избежать ошибки «Ошибка аутентификации peer для пользователя 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.

См. также

См. также

community.postgresql.postgresql_publication

Официальная документация по модулю community.postgresql.postgresql_publication.

community.postgresql.postgresql_info

Официальная документация по модулю community.postgresql.postgresql_info.

Ссылка 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

- 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=yes)
  community.postgresql.postgresql_subscription:
    db: mydb
    name: acme
    state: absent
    cascade: yes

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

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

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

Ключ Возвращаемое значение Описание
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"']


Авторы

  • Андрей Клычков (@Andersson007) <aaklychkov@mail.ru>

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/postgresql/postgresql_subscription_module.html

Spec-Zone.ru

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