postgresql_lang – Добавляет, удаляет или изменяет процедурные языки с базой данных PostgreSQL
Обзор
- Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL.
- Этот модуль позволяет добавить язык, удалить язык или изменить доверенные отношения с базой данных PostgreSQL.
- Модуль может быть использован на машине, на которой он выполняется, или на удалённом хосте.
- При удалении языка из базы данных, зависимости могут препятствовать удалению базы данных. В этом случае вы можете указать cascase, чтобы автоматически удалить объекты, которые зависят от языка (например, функции на этом языке).
- Если язык не может быть удалён, потому что он необходим для работы системы базы данных, вы можете указать fail_on_drop=no, чтобы пропустить ошибку.
- Будьте осторожны при маркировке языка как доверенного, так как это может быть потенциальной уязвимостью безопасности. Недоверенные языки позволяют использовать этот язык для создания новых функций только пользователям с привилегиями суперпользователя PostgreSQL.
- Для получения дополнительной информации о языках PostgreSQL, обратитесь к официальной документации https://www.postgresql.org/docs/current/sql-createlanguage.html, https://www.postgresql.org/docs/current/sql-alterlanguage.html, https://www.postgresql.org/docs/current/sql-droplanguage.html.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- psycopg2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_cert строка добавлено в 2.8 | Указывает имя файла, содержащего сертификат(ы) центра сертификации (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 строка добавлено в 2.8 | Путь к сокету Unix доменного имени для локальных соединений. | |
| login_user строка | По умолчанию: "postgres" | Имя пользователя, используемое для аутентификации. |
| port целое число | По умолчанию: 5432 | Порт базы данных для подключения. алиасы: login_port |
| session_role строка добавлено в 2.8 | Переключение на роль session_role после подключения. Указанная роль session_role должна быть ролью, членом которой является текущий пользователь login_user. Проверка разрешений для SQL-команд выполняется так, как если бы роль session_role была той, которая первоначально вошла в систему. | |
| ssl_mode строка добавлено в 2.8 |
| Определяет, будет ли и с какой приоритетностью устанавливаться защищённое SSL TCP/IP-соединение с сервером. См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах. Значение по умолчанию prefer соответствует значению по умолчанию libpq. |
| state строка |
| Состояние языка для выбранной базы данных. |
| trust логическое |
| Сделать этот язык доверенным для выбранной базы данных. |
Примечания
Примечание
- По умолчанию аутентификация предполагает, что вы вошли в систему как пользователь postgres или используете sudo для входа в систему как пользователь postgres на хосте.
- Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля.
- Если удалённый хост является сервером PostgreSQL (что является случаем по умолчанию), то PostgreSQL также должен быть установлен на удалённом хосте.
- Для систем на основе Ubuntu установите пакеты postgresql, libpq-dev и python-psycopg2 на удалённом хосте перед использованием этого модуля.
- По умолчанию аутентификация предполагает, что вы вошли в систему как или используете sudo для входа в систему как пользователь
postgresна хосте. - Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля. Если удалённый хост является сервером PostgreSQL (что является случаем по умолчанию), то PostgreSQL также должен быть установлен на удалённом хосте. Для систем на основе Ubuntu установите пакеты
postgresql,libpq-dev, иpython-psycopg2на удалённом хосте перед использованием этого модуля. - Для параметра ca_cert требуется как минимум версия Postgres 8.4 и psycopg2 версия 2.4.3.
Примеры
- name: Add language pltclu to database testdb if it doesn't exist
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
postgresql_lang:
db: testdb
lang: pltclu
state: present
trust: yes
force_trust: yes
- name: Remove language pltclu from database testdb
postgresql_lang:
db: testdb
lang: pltclu
state: absent
- name: Remove language pltclu from database testdb and remove all dependencies
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
postgresql_lang:
db: testdb
lang: pltclu
state: absent
fail_on_drop: no
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| queries список добавлено в 2.8 | всегда | Список выполненных запросов. Пример: ['CREATE LANGUAGE "acme"'] |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Jens Depuydt (@jensdepuydt)
- Thomas O’Donnell (@andytom)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/postgresql_lang_module.html