Spec-Zone.ru › Ansible

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

Примечание

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

У вас, возможно, уже установлена эта коллекция, если вы используете пакет 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.

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

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

db

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

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

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

login_host

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

строка

Хост, на котором работает база данных.

Если у вас проблемы с подключением при использовании localhost, попробуйте использовать 127.0.0.1 вместо этого.

По умолчанию: ""

login_password

строка

Пароль, который этот модуль должен использовать для установления сеанса PostgreSQL.

По умолчанию: ""

login_unix_socket

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

строка

Путь к сокету Unix-домена для локальных подключений.

По умолчанию: ""

login_user

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

строка

Имя пользователя, которое этот модуль должен использовать для установления сеанса PostgreSQL.

По умолчанию: "postgres"

name

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

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

Имя расширения для добавления или удаления.

port

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

целое число

Порт базы данных для подключения.

По умолчанию: 5432

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

boolean

added in community.postgresql 0.2.0

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

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

Варианты:

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

version

string

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

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

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

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

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

Примечания

Примечание

  • Несовместимые версии, например, PostGIS ``unpackaged``, не могут быть установлены.
  • По умолчанию предполагается, что вы вошли в систему или используете sudo с учетной записью postgres на хосте.
  • Чтобы избежать ошибки «Ошибка проверки подлинности клиента для пользователя 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
    db: acme
    schema: foo
    comment: Test extension

- 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: 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:
    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:
    db: acme
    name: foo
    version: latest

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

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

Ключ

Описание

prev_version

string

added in community.postgresql 3.1.0

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

Возвращаемое значение: успех

Пример: "1.0"

queries

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

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

Возвращаемое значение: успех

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

version

string

added in 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/postgresql/postgresql_ext_module.html

Spec-Zone.ru

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