postgresql_lang — Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL.
Новая версия с 1.7.
Обзор
- Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL.
- Этот модуль позволяет добавить язык, удалить язык или изменить доверительные отношения с базой данных PostgreSQL. Модуль может быть использован на машине, где он выполняется, или на удалённом хосте.
- При удалении языка из базы данных возможно, что зависимости препятствуют удалению базы данных. В этом случае вы можете указать casade, чтобы автоматически удалить объекты, которые зависят от языка (например, функции на этом языке). В случае, если язык не может быть удалён, потому что он необходим для работы системы базы данных, вы можете указать fail_on_drop=no, чтобы проигнорировать ошибку.
- Будьте внимательны, маркируя язык как надёжный, так как это может привести к потенциальной бреши в безопасности. Ненадёжные языки позволяют использовать этот язык для создания новых функций только пользователям с привилегиями суперпользователя PostgreSQL.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- psycopg2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| cascade bool |
| при удалении языка также удаляются объекты, зависящие от этого языка. используется только при state=absent. |
| db | имя базы данных, в которой будет добавлен, удален или изменён язык | |
| fail_on_drop bool |
| если yes, при удалении языка возникает ошибка. В противном случае просто залогируйте и продолжайтев некоторых случаях невозможно удалить язык (используется системой базы данных). Если удаление блокируется зависимостями, рассмотрите использование cascade. |
| force_trust bool |
| отмечает язык как надёжный, даже если он помечен как ненадежный в pg_pltemplate. используйте с осторожностью! |
| lang обязательно | имя процедурного языка для добавления, удаления или изменения | |
| login_host | Значение по умолчанию: "localhost" | Хост, на котором работает PostgreSQL, где вы хотите выполнить действия. |
| login_password | Пароль, используемый для аутентификации в PostgreSQL (должен совпадать с login_user) | |
| login_user | Значение по умолчанию: "postgres" | Пользователь, используемый для аутентификации в PostgreSQL |
| port | Значение по умолчанию: 5432 | Порт базы данных для подключения. |
| state |
| Состояние языка для выбранной базы данных |
| trust bool |
| сделать этот язык надёжным для выбранной базы данных |
Примечания
Примечание
- Аутентификация по умолчанию предполагает, что вы входите как пользователь 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
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. См. Техническое обслуживание модулей и поддержка для получения дополнительной информации.
Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.
Автор
- 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.6/modules/postgresql_lang_module.html