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