Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

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

Введено в версии 0.2.0: of community.postgresql

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

Обзор

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

Требования

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

  • psycopg2

Параметры

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

Псевдонимы: 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 или с момента создания CREATE 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 или выше.
  • По умолчанию предполагается, что вы входите в систему как или используете sudo для учетной записи postgres на хосте.
  • Чтобы избежать ошибки «Ошибка проверки подлинности клиента для пользователя 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/postgresql/postgresql_subscription_module.html

Spec-Zone.ru

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