community.postgresql.postgresql_lang модуль – Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL
Примечание
Этот модуль является частью коллекции community.postgresql (версия 3.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.postgresql. Для использования этого модуля требуются дополнительные зависимости. Подробности см. в разделе Требования.
Чтобы использовать его в книге задач, укажите: community.postgresql.postgresql_lang.
- УСТАРЕВШЕ
- Описание
- Требования
- Параметры
- Атрибуты
- Примечания
- См. также
- Примеры
- Возвращаемые значения
- Статус
УСТАРЕВШЕ
- Удалено в:
-
версии 4.0.0
- Почему:
-
Начиная с PostgreSQL 9.1, большинство процедурных языков стали расширениями.
- Альтернатива:
-
Используйте community.postgresql.postgresql_ext вместо этого.
Описание
- Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL.
- Этот модуль позволяет добавить язык, удалить язык или изменить отношения доверия с базой данных PostgreSQL.
- Модуль может использоваться на машине, на которой он выполняется, или на удалённом хосте.
- При удалении языка из базы данных возможно, что зависимости препятствуют удалению базы данных. В этом случае вы можете указать cascade=true, чтобы автоматически удалить объекты, зависящие от языка (например, функции на этом языке).
- Если язык не может быть удалён, потому что он необходим для работы системы баз данных, вы можете указать fail_on_drop=false, чтобы пропустить ошибку.
- Будьте осторожны при маркировании языка как надёжного, так как это может быть потенциальной уязвимостью. Ненадёжные языки позволяют использовать этот язык для создания новых функций только пользователям с привилегиями суперпользователя PostgreSQL.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- psycopg2 >= 2.5.1
Параметры
Параметр | Комментарии |
|---|---|
ca_cert псевдонимы: ssl_rootcert строка | Указывает имя файла, содержащего сертификат(ы) центра сертификации (CA) SSL. Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров. |
cascade логическое значение | При удалении языка также удаляются объекты, зависящие от этого языка. Используется только при state=absent. Варианты:
|
connect_params словарь добавлено в community.postgresql 2.3.0 | Дополнительные параметры, передаваемые в libpg. Эти параметры имеют приоритет. По умолчанию: |
db псевдонимы: login_db строка / обязательно | Имя базы данных для подключения, где язык будет добавлен, удален или изменен. |
fail_on_drop логическое значение | Если В некоторых случаях нельзя удалить язык (используется системой базы данных). При наличии зависимостей, блокирующих удаление, используйте cascade. Варианты:
|
force_trust логическое значение | Отмечает язык как доверенный, даже если он помечен как недоверенный в pg_pltemplate. Используйте с осторожностью! Варианты:
|
lang псевдонимы: name строка / обязательно | Имя процедурного языка для добавления, удаления или изменения. |
login_host псевдонимы: host строка | Хост, на котором работает база данных. Если у вас есть проблемы с подключением при использовании По умолчанию: |
login_password строка | Пароль, который этот модуль должен использовать для создания сеанса PostgreSQL. По умолчанию: |
login_unix_socket псевдонимы: unix_socket строка | Путь к сокету Unix доменной области для локальных подключений. По умолчанию: |
login_user псевдонимы: login строка | Имя пользователя, которое этот модуль должен использовать для создания сеанса PostgreSQL. По умолчанию: |
owner строка добавлено в community.postgresql 0.2.0 | Установить владельца для языка. Игнорируется при state=absent. |
port псевдонимы: login_port целое число | Порт базы данных для подключения. По умолчанию: |
session_role строка | Переключиться на session_role после подключения. Указанная session_role должна быть ролью, членом которой является текущий login_user. Проверка разрешений для SQL-команд выполняется так, как если бы session_role была той, которая изначально вошла в систему. |
ssl_cert путь добавлено в community.postgresql 2.4.0 | Указывает имя файла клиентского SSL-сертификата. |
ssl_key путь добавлено в community.postgresql 2.4.0 | Указывает местоположение секретного ключа, используемого для клиентского сертификата. |
ssl_mode строка | Определяет, будет ли установлено безопасное SSL TCP/IP-соединение с сервером и с каким приоритетом. См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах. Значение по умолчанию Варианты:
|
state строка | Состояние языка для выбранной базы данных. Варианты:
|
trust логический тип | Сделать этот язык доверенным для выбранной базы данных. Варианты:
|
trust_input логический тип добавлено в community.postgresql 0.2.0 | Если Использование Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Модуль может работать в режиме check_mode и возвращать прогноз изменения состояния без изменения целевого объекта. |
Примечания
Примечание
- По умолчанию предполагается, что вы вошли в систему или используете sudo от учетной записи
postgresна хосте. - Чтобы избежать ошибки «Ошибка проверки подлинности peer для пользователя postgres», используйте пользователя postgres в качестве become_user.
- Этот модуль использует
psycopg, адаптер Python для работы с базой данных PostgreSQL. Вам необходимо убедиться, чтоpsycopg2 >= 2.5.1илиpsycopg3 >= 3.1.8установлен на хосте перед использованием этого модуля. - Если удаленный хост — сервер PostgreSQL (что является типичным случаем), то PostgreSQL также должен быть установлен на удаленном хосте.
- Для систем на основе Ubuntu необходимо установить пакеты
postgresql,libpq-dev, иpython3-psycopg2на удаленном хосте перед использованием этого модуля.
См. также
См. также
- Языки 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
community.postgresql.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
community.postgresql.postgresql_lang:
db: testdb
lang: pltclu
state: present
trust: true
force_trust: true
- name: Remove language pltclu from database testdb
community.postgresql.postgresql_lang:
db: testdb
lang: pltclu
state: absent
- name: Remove language pltclu from database testdb and remove all dependencies
community.postgresql.postgresql_lang:
db: testdb
lang: pltclu
state: absent
cascade: true
- name: Remove language c from database testdb but ignore errors if something prevents the removal
community.postgresql.postgresql_lang:
db: testdb
lang: pltclu
state: absent
fail_on_drop: false
- name: In testdb change owner of mylang to alice
community.postgresql.postgresql_lang:
db: testdb
lang: mylang
owner: alice
Значения возврата
Общие значения возврата описаны в здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
queries список / элементы=строка | Список выполненных запросов. Возвращается: успех Пример: |
Статус
- Этот модуль будет удален в версии 4.0.0. [устарел]
- Дополнительная информация приведена в разделе УСТАРЕВШИЙ.
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/postgresql/postgresql_lang_module.html