Spec-Zone.ru › Ansible 2.9

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

Новая в версии 2.9.

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

Обзор

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

Требования

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

  • psycopg2

Параметры

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

Псевдонимы: ssl_rootcert
cascade
булево
    Варианты:
  • нет ←
  • да
Удаление зависимостей публикации. Действует только при state=absent.
db
строка
Имя базы данных для подключения, в которой будет изменено состояние публикации.

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

Псевдонимы: login_port
ssl_mode
строка
    Варианты:
  • разрешить
  • отключить
  • предпочитать ←
  • требовать
  • проверить-ca
  • проверить-полностью
Определяет, будет ли или с каким приоритетом устанавливаться защищенное SSL TCP/IP-соединение с сервером.
См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.
Значение по умолчанию prefer соответствует значению по умолчанию libpq.
state
строка
    Варианты:
  • отсутствует
  • существует ←
Состояние публикации.
tables
список / элементы=строка
Список таблиц для добавления в публикацию.
Если значение не задано, все таблицы будут выбраны.
Если публикация уже существует для определенных таблиц и tables не передается, ничего не изменится. Если нужно добавить все таблицы в публикацию с тем же именем, удалите существующую и создайте новую, не передавая tables.

Примечания

Примечание

  • Версия 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.

См. также

См. также

Ссылка на CREATE PUBLICATION
Полная справка по команде CREATE PUBLICATION.
Ссылка на ALTER PUBLICATION
Полная справка по команде ALTER PUBLICATION.
Ссылка на DROP PUBLICATION
Полная справка по команде DROP PUBLICATION.

Примеры

- name: Create a new publication with name "acme" targeting all tables in database "test".
  postgresql_publication:
    db: test
    name: acme

- name: Create publication "acme" publishing only prices and vehicles tables.
  postgresql_publication:
    name: acme
    tables:
    - prices
    - vehicles

- name: >
    Create publication "acme", set user alice as an owner, targeting all tables.
    Allowable DML operations are INSERT and UPDATE only
  postgresql_publication:
    name: acme
    owner: alice
    parameters:
      publish: 'insert,update'

- name: >
    Assuming publication "acme" exists and there are targeted
    tables "prices" and "vehicles", add table "stores" to the publication.
  postgresql_publication:
    name: acme
    tables:
    - prices
    - vehicles
    - stores

- name: Remove publication "acme" if exists in database "test".
  postgresql_publication:
    db: test
    name: acme
    state: absent

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

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

Ключ Возвращаемое значение Описание
alltables
булево
если публикация существует
Флаг указывает, что все таблицы опубликованы.

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

Пример:
True
owner
строка
если публикация существует
Владелец публикации по окончании выполнения.

Пример:
alice
parameters
словарь
если публикация существует
Параметры публикации по окончании выполнения.

Пример:
{'publish': {'insert': False, 'delete': False, 'update': True}}
queries
строка
всегда
Список выполненных запросов.

Пример:
['DROP PUBLICATION "acme" CASCADE']
tables
список
если публикация существует
Список таблиц в публикации по окончании выполнения.
Если все таблицы опубликованы, возвращает пустой список.

Пример:
['"public"."prices"', '"public"."vehicles"']


Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Лоик Бло (@nerzhul) <loic.blot@unix-experience.fr>
  • Андрей Клычков (@Andersson007) <aaklychkov@mail.ru>
END_OF_DOCUMENT_MARKER

Подсказка

Если вы заметили какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/postgresql_publication_module.html

Spec-Zone.ru

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