postgresql_lang – Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL
Краткое описание
- Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL.
- Этот модуль позволяет добавить язык, удалить язык или изменить доверенные отношения с базой данных PostgreSQL.
- Модуль может быть использован на машине, где он выполняется, или на удалённом хосте.
- При удалении языка из базы данных, возможны зависимости, которые препятствуют удалению базы данных. В этом случае, можно указать cascade=yes, чтобы автоматически удалить объекты, зависящие от языка (например, функции на этом языке).
- В случае, если язык не может быть удалён, потому что он требуется системой базы данных, можно указать fail_on_drop=no, чтобы проигнорировать ошибку.
- Будьте внимательны при маркировке языка как доверенного, так как это может представлять собой потенциальную угрозу безопасности. Недоверенные языки позволяют использовать этот язык для создания новых функций только пользователям с привилегиями суперпользователя PostgreSQL.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- psycopg2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_cert строка добавлен в 2.8 | Указывает имя файла, содержащего сертификаты (CA) сертификатов SSL. Если файл существует, сертификат сервера будет проверен на подпись одной из этих властей. псевдонимы: 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 логическое значение |
| Сделать этот язык доверенным для выбранной базы данных. |
Примечания
Примечание
- Аутентификация по умолчанию предполагает, что вы либо заходите как пользователь, либо используете sudo для входа как
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
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. [community]
Авторы
- 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.9/modules/postgresql_lang_module.html