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