Spec-Zone.ru › Ansible

Модуль community.postgresql.postgresql_ext — добавление и удаление расширений PostgreSQL из базы данных

Примечание

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

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.postgresql. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.postgresql.postgresql_ext.

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

Краткое описание

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

Требования

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

  • psycopg2 >= 2.5.1

Параметры

Параметр

Комментарии

ca_cert

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

строка

Указывает имя файла, содержащего сертификат или сертификаты центра сертификации (CA) SSL.

Если файл существует, будет проверено, что сертификат сервера подписан одним из этих центров.

cascade

логическое значение

Автоматически устанавливать или удалять все зависимости этого расширения, которые еще не установлены или не удалены (поддерживается начиная с PostgreSQL 9.6).

Варианты:

  • false ← (по умолчанию)
  • true

comment

строка

добавлено в community.postgresql 3.3.0

Задает комментарий для расширения.

Чтобы сбросить комментарий, передайте пустую строку.

connect_params

словарь

добавлено в community.postgresql 2.3.0

Любые дополнительные параметры, передаваемые в libpg.

Эти параметры имеют приоритет.

По умолчанию: {}

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

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

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

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

schema

строка

Имя схемы, в которую нужно добавить расширение.

session_role

строка

Переключиться на 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

строка

Состояние расширения базы данных.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

trust_input

логическое значение

добавлено в community.postgresql 0.2.0

Если false, проверить, могут ли значения параметров ext, schema, version, session_role представлять опасность.

Использовать false имеет смысл только в том случае, если через параметры возможны SQL-инъекции.

Варианты:

  • false
  • true ← (по умолчанию)

version

строка

Версия расширения для установки или обновления. Действует только при state=present.

Если параметр не указан и расширение не установлено в базе данных, будет создана последняя доступная версия.

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

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

Укажите version=latest, чтобы обновить расширение до последней доступной версии.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Модуль может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

Примечания

Примечание

  • Несопоставимые версии, например PostGIS ``unpackaged``, установить нельзя.
  • По умолчанию предполагается, что вы входите в систему под учетной записью postgres на хосте или переключаетесь на нее с помощью sudo.
  • Чтобы избежать ошибки «Peer authentication failed for user postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg — адаптер Python для базы данных PostgreSQL. Перед использованием модуля необходимо убедиться, что на хосте установлен psycopg2 >= 2.5.1 или psycopg3 >= 3.1.8.
  • Если удаленный хост является сервером PostgreSQL (что используется по умолчанию), PostgreSQL также должен быть установлен на удаленном хосте.
  • В системах на базе Ubuntu перед использованием модуля установите на удаленный хост пакеты postgresql, libpq-dev и python3-psycopg2.

См. также

См. также

Расширения 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
    login_db: acme
    schema: foo
    comment: Test extension

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

- name: Adds earthdistance extension to the database template1 cascade
  community.postgresql.postgresql_ext:
    name: earthdistance
    login_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
    login_db: acme
    cascade: true
    state: absent

- name: Create extension foo of version 1.2 or update it to that version if it's already created and a valid update path exists
  community.postgresql.postgresql_ext:
    login_db: acme
    name: foo
    version: 1.2

- name: Create the latest available version of extension foo. If already installed, update it to the latest version
  community.postgresql.postgresql_ext:
    login_db: acme
    name: foo
    version: latest

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

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

Ключ

Описание

prev_version

строка

добавлено в community.postgresql 3.1.0

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

Возвращается: при успешном выполнении

Пример: "1.0"

queries

список / элементы=строка

Список выполненных запросов.

Возвращается: при успешном выполнении

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

version

строка

добавлено в community.postgresql 3.1.0

Текущая установленная версия расширения или пустая строка, если расширение не установлено.

Возвращается: при успешном выполнении

Пример: "2.0"

Авторы

  • Daniel Schep (@dschep)
  • Thomas O’Donnell (@andytom)
  • Sandro Santilli (@strk)
  • Andrew Klychkov (@Andersson007)
  • Keith Fiske (@keithf4)
  • Daniele Giudice (@RealGreenDragon)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Сообщить о проблеме
  • Связь

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

Spec-Zone.ru

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