postgresql_lang - Добавление, удаление или изменение процедурных языков в базе данных PostgreSQL.
Новое в версии 1.7.
Описание
- Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL.
- Этот модуль позволяет добавить язык, удалить язык или изменить доверительные отношения с базой данных PostgreSQL. Модуль может использоваться на машине, где он выполняется, или на удалённом хосте.
- При удалении языка из базы данных возможно, что зависимости препятствуют удалению базы данных. В этом случае можно указать cascase, чтобы автоматически удалить объекты, зависящие от языка (например, функции на этом языке). В случае, если язык не может быть удален, так как он необходим системе базы данных, можно указать fail_on_drop=no, чтобы проигнорировать ошибку.
- Будьте осторожны при маркировании языка как надёжного, так как это может привести к потенциальной безопасности. Ненадёжные языки позволяют использовать этот язык для создания новых функций только пользователям с привилегиями суперпользователя PostgreSQL.
Требования (на хосте, на котором выполняется модуль)
- psycopg2
Параметры
| параметр | обязательный | значение по умолчанию | варианты | комментарии |
|---|---|---|---|---|
| cascade | нет |
| при удалении языка также удаляются объекты, зависящие от этого языка. используется только при state=absent. | |
| db | нет | имя базы данных, где будет добавлен, удален или изменён язык | ||
| fail_on_drop | нет | да |
| если yes, произойдёт сбой при удалении языка. В противном случае просто залогировать и продолжитьв некоторых случаях невозможно удалить язык (используется системой базы данных). Если удаление заблокировано зависимостями, рассмотрите использование cascade. |
| force_trust | нет |
| помечает язык как надёжный, даже если он помечен как ненадежный в pg_pltemplate. используйте с осторожностью! | |
| lang | да | имя процедурного языка для добавления, удаления или изменения | ||
| login_host | нет | localhost | Хост, на котором запущен PostgreSQL, где вы хотите выполнить действия. | |
| login_password | нет | Пароль, используемый для аутентификации с PostgreSQL (должен совпадать с login_user) | ||
| login_user | нет | postgres | Пользователь, используемый для аутентификации с PostgreSQL | |
| port | нет | 5432 | Порт базы данных для подключения. | |
| state | нет | present |
| Состояние языка для выбранной базы данных |
| trust | нет |
| сделать этот язык надёжным для выбранной базы данных |
Примеры
# 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
- postgresql_lang:
db: testdb
lang: pltclu
state: present
trust: yes
force_trust: yes
# Remove language pltclu from database testdb:
- postgresql_lang:
db: testdb
lang: pltclu
state: absent
# Remove language pltclu from database testdb and remove all dependencies:
- postgresql_lang:
db: testdb
lang: pltclu
state: absent
cascade: yes
# 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
Примечания
Примечание
- По умолчанию аутентификация предполагает, что вы вошли как пользователь postgres на хосте или выполнили sudo как этот пользователь.
- Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля. Если удалённый хост является сервером PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удалённом хосте. Для систем на базе Ubuntu установите пакеты postgresql, libpq-dev и python-psycopg2 на удалённом хосте перед использованием этого модуля.
Статус
Этот модуль помечен как предварительный просмотр, что означает, что он не гарантирует обратную совместимость.
Для получения помощи в разработке модулей, если вы так заинтересованы, ознакомьтесь с Информация о сообществе и сотрудничество, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/postgresql_lang_module.html