Модуль 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). Варианты:
|
comment строка добавлено в community.postgresql 3.3.0 | Задает комментарий для расширения. Чтобы сбросить комментарий, передайте пустую строку. |
connect_params словарь добавлено в community.postgresql 2.3.0 | Любые дополнительные параметры, передаваемые в libpg. Эти параметры имеют приоритет. По умолчанию: |
login_db псевдонимы: db строка / обязательный | Имя базы данных, в которую добавляется расширение или из которой оно удаляется. Псевдоним |
login_host псевдонимы: host строка | Хост, на котором работает база данных. Если при использовании По умолчанию: |
login_password строка | Пароль, который модуль должен использовать для установки сеанса PostgreSQL. По умолчанию: |
login_port псевдонимы: port целое число | Порт базы данных для подключения. Псевдоним По умолчанию: |
login_unix_socket псевдонимы: unix_socket строка | Путь к доменному сокету Unix для локальных подключений. По умолчанию: |
login_user псевдонимы: login строка | Имя пользователя, которое модуль должен использовать для установки сеанса PostgreSQL. По умолчанию: |
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. Значение по умолчанию Варианты:
|
state строка | Состояние расширения базы данных. Варианты:
|
trust_input логическое значение добавлено в community.postgresql 0.2.0 | Если Использовать Варианты:
|
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 | Предыдущая установленная версия расширения или пустая строка, если расширение не было установлено. Возвращается: при успешном выполнении Пример: |
queries список / элементы=строка | Список выполненных запросов. Возвращается: при успешном выполнении Пример: |
version строка добавлено в community.postgresql 3.1.0 | Текущая установленная версия расширения или пустая строка, если расширение не установлено. Возвращается: при успешном выполнении Пример: |
Ссылки на коллекцию
© 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