community.postgresql.postgresql_lang – Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL
Примечание
Этот плагин входит в коллекцию community.postgresql (версия 1.1.1).
Для его установки используйте: ansible-galaxy collection install community.postgresql.
Для использования в книге задач укажите: community.postgresql.postgresql_lang.
Описание
- Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL.
- Этот модуль позволяет добавить язык, удалить язык или изменить доверенные отношения с базой данных PostgreSQL.
- Модуль может быть использован на машине, где выполняется, или на удалённом узле.
- При удалении языка из базы данных, возможно, что зависимости препятствуют удалению базы данных. В этом случае, вы можете указать cascade=yes для автоматического удаления объектов, которые зависят от языка (например, функций на этом языке).
- Если язык не может быть удалён, потому что он необходим для работы системы базы данных, вы можете указать fail_on_drop=no, чтобы игнорировать ошибку.
- Будьте осторожны, помечая язык как надёжный, так как это может привести к потенциальной угрозе безопасности. Ненадёжные языки позволяют использовать этот язык для создания новых функций только пользователям с привилегией суперпользователя PostgreSQL.
Требования
Ниже перечислены требования к узлу, на котором выполняется этот модуль.
- psycopg2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_cert строка | Указывает имя файла, содержащего сертификат(ы) уполномоченной стороны SSL (CA). Если файл существует, серверный сертификат будет проверен на подпись одной из этих уполномоченных сторон. Псевдонимы: ssl_rootcert | |
| cascade булево |
| При удалении языка также удаляются объекты, зависящие от этого языка. Используется только при state=absent. |
| db строка / обязательный | Имя базы данных для подключения и где будет добавлен, удалён или изменён язык. Псевдонимы: login_db | |
| fail_on_drop булево |
| Если yes, происходит ошибка при удалении языка. В противном случае просто регистрируется и выполнение продолжается.В некоторых случаях нельзя удалить язык (используемый системой базы данных). Если зависимости блокируют удаление, рассмотрите использование cascade. |
| force_trust булево |
| Помечает язык как надёжный, даже если он помечен как ненадежный в pg_pltemplate. Используйте с осторожностью! |
| lang строка / обязательный | Имя процедурного языка для добавления, удаления или изменения. Псевдонимы: name | |
| login_host строка | Узел, на котором запущена база данных. | |
| login_password строка | Пароль, используемый для аутентификации. | |
| login_unix_socket строка | Путь к сокету Unix доменного имени для локальных подключений. | |
| login_user строка | По умолчанию: "postgres" | Имя пользователя, используемое для аутентификации. |
| owner строка добавлен в 0.2.0 community.postgresql | Устанавливает владельца языка. Игнорируется при state=absent. | |
| port целое число | По умолчанию: 5432 | Порт базы данных для подключения. Псевдонимы: login_port |
| session_role строка | Переключение на session_role после подключения. Указанный session_role должен быть ролью, членом которой является текущий login_user. Проверка разрешений для SQL-команд выполняется так, как будто session_role был тем, кто первоначально вошёл в систему. | |
| ssl_mode строка |
| Определяет, будет ли или с каким приоритетом устанавливаться безопасное SSL TCP/IP-соединение с сервером. См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах. Значение по умолчанию prefer соответствует значению по умолчанию libpq. |
| state строка |
| Состояние языка для выбранной базы данных. |
| trust булево |
| Сделать этот язык надёжным для выбранной базы данных. |
| trust_input булево добавлен в 0.2.0 community.postgresql |
| Если no, проверять, являются ли значения параметров lang, session_role, owner потенциально опасными.Имеет смысл использовать no только тогда, когда SQL-инъекции через параметры возможны. |
Примечания
Примечание
- Поддерживает
check_mode. - Аутентификация по умолчанию предполагает, что вы входите в систему как или подключаетесь к учётной записи
postgresна узле. - Чтобы избежать ошибки «Ошибка проверки подлинности peer для пользователя 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 LANGUAGE
-
Полная справка по команде CREATE LANGUAGE.
- Ссылка ALTER LANGUAGE
-
Полная справка по команде ALTER LANGUAGE.
- Ссылка DROP LANGUAGE
-
Полная справка по команде DROP LANGUAGE.
Примеры
- name: Add language pltclu to database testdb if it doesn't exist
community.postgresql.postgresql_lang: db=testdb lang=pltclu state=present
# Add language pltclu to database testdb if it doesn't exist and mark it as trusted.
# Marks the language as trusted if it exists but isn't trusted yet.
# force_trust makes sure that the language will be marked as trusted
- name: Add language pltclu to database testdb if it doesn't exist and mark it as trusted
community.postgresql.postgresql_lang:
db: testdb
lang: pltclu
state: present
trust: yes
force_trust: yes
- name: Remove language pltclu from database testdb
community.postgresql.postgresql_lang:
db: testdb
lang: pltclu
state: absent
- name: Remove language pltclu from database testdb and remove all dependencies
community.postgresql.postgresql_lang:
db: testdb
lang: pltclu
state: absent
cascade: yes
- name: Remove language c from database testdb but ignore errors if something prevents the removal
community.postgresql.postgresql_lang:
db: testdb
lang: pltclu
state: absent
fail_on_drop: no
- name: In testdb change owner of mylang to alice
community.postgresql.postgresql_lang:
db: testdb
lang: mylang
owner: alice
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| queries список / элементы=строка | всегда | Список выполненных запросов. Пример: ['CREATE LANGUAGE "acme"'] |
Авторы
- Jens Depuydt (@jensdepuydt)
- Thomas O’Donnell (@andytom)
© 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_lang_module.html