Spec-Zone.ru › Ansible 2.11

community.postgresql.postgresql_ext – Добавить или удалить расширения PostgreSQL из базы данных

Примечание

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

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

Для использования в плейбуке укажите: community.postgresql.postgresql_ext.

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

Описание

  • Добавление или удаление расширений PostgreSQL из базы данных.

Требования

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

  • psycopg2

Параметры

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

Псевдонимы: ssl_rootcert
cascade
логическое
    Варианты:
  • нет ←
  • да
Автоматически устанавливать/удалять любые расширения, от которых зависит это расширение, которые еще не установлены/удалены (поддерживается с PostgreSQL 9.6).
db
строка / обязательно
Имя базы данных, к которой нужно добавить или из которой нужно удалить расширение.

Псевдонимы: login_db
login_host
строка
Хост, на котором работает база данных.
login_password
строка
Пароль, используемый для аутентификации.
login_unix_socket
строка
Путь к сокету Unix доменной области для локальных подключений.
login_user
строка
По умолчанию:
"postgres"
Имя пользователя, используемое для аутентификации.
name
строка / обязательно
Имя расширения, которое нужно добавить или удалить.

Псевдонимы: ext
port
целое число
По умолчанию:
5432
Порт базы данных для подключения.

Псевдонимы: login_port
schema
строка
Имя схемы, к которой нужно добавить расширение.
session_role
строка
Переключение на session_role после подключения.
Указанная роль session_role должна быть ролью, членом которой является текущий login_user.
Проверка разрешений для команд SQL выполняется так, как будто роль session_role была той, которая первоначально вошла в систему.
ssl_mode
строка
    Варианты:
  • разрешено
  • выключено
  • предпочитать ←
  • требуется
  • проверять-ca
  • проверять-полностью
Определяет, будет ли или с каким приоритетом будет установлено безопасное подключение SSL TCP/IP с сервером.
См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.
Значение по умолчанию prefer соответствует значению по умолчанию libpq.
state
строка
    Варианты:
  • отсутствует
  • наличие ←
Состояние расширения базы данных.
trust_input
логическое
добавлен в 0.2.0 community.postgresql
    Варианты:
  • нет
  • да ←
Если no, проверяется, являются ли значения параметров ext, schema, version, session_role потенциально опасными.
Имеет смысл использовать no только в том случае, если SQL-инъекции через параметры возможны.
version
строка
Версия расширения для добавления или обновления. Действует только при state=present.
Если не указано, будет создана последняя версия расширения.
Невозможно понизить версию расширения. Если требуется понижение версии, удалите расширение и создайте новое с соответствующей версией.
Установите version=latest, чтобы обновить расширение до последней доступной версии.

Примечания

Примечание

  • Поддерживает check_mode.
  • Аутентификация по умолчанию предполагает, что вы входите в систему или используете sudo для учетной записи postgres на хосте.
  • Этот модуль использует psycopg2, адаптер базы данных Python PostgreSQL.
  • Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля.
  • Если удаленный хост является сервером PostgreSQL (что является случаем по умолчанию), то PostgreSQL также должен быть установлен на удаленном хосте.
  • Для систем на основе Ubuntu установите пакеты postgresql, libpq-dev, и python-psycopg2 на удаленном хосте перед использованием этого модуля.
  • Несовместимые версии, например PostGIS unpackaged, не могут быть установлены.
  • Аутентификация по умолчанию предполагает, что вы входите в систему или используете 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.

См. также

См. также

Расширения PostgreSQL

Общая информация о расширениях PostgreSQL.

Ссылка CREATE EXTENSION

Полное руководство по команде CREATE EXTENSION.

Ссылка ALTER EXTENSION

Полное руководство по команде ALTER EXTENSION.

Ссылка DROP EXTENSION

Полное руководство по команде DROP EXTENSION.

Примеры

- name: Adds postgis extension to the database acme in the schema foo
  community.postgresql.postgresql_ext:
    name: postgis
    db: acme
    schema: foo

- name: Removes postgis extension to the database acme
  community.postgresql.postgresql_ext:
    name: postgis
    db: acme
    state: absent

- name: Adds earthdistance extension to the database template1 cascade
  community.postgresql.postgresql_ext:
    name: earthdistance
    db: template1
    cascade: true

# In the example below, if earthdistance extension is installed,
# it will be removed too because it depends on cube:
- name: Removes cube extension from the database acme cascade
  community.postgresql.postgresql_ext:
    name: cube
    db: acme
    cascade: yes
    state: absent

- name: Create extension foo of version 1.2 or update it if it's already created
  community.postgresql.postgresql_ext:
    db: acme
    name: foo
    version: 1.2

- name: Assuming extension foo is created, update it to the latest version
  community.postgresql.postgresql_ext:
    db: acme
    name: foo
    version: latest

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

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

Ключ Возвращаемое значение Описание
query
список / элементы=строка
всегда
Список выполненных запросов.

Пример:
['DROP EXTENSION "acme"']


Авторы

  • Daniel Schep (@dschep)
  • Thomas O’Donnell (@andytom)
  • Sandro Santilli (@strk)
  • Andrew Klychkov (@Andersson007)

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

Spec-Zone.ru

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