Spec-Zone.ru › Ansible 2.11

community.postgresql.postgresql_lang – Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL

Примечание

Этот плагин входит в коллекцию community.postgresql (версия 1.1.1).

Для его установки используйте: ansible-galaxy collection install community.postgresql.

Для использования в книге задач укажите: community.postgresql.postgresql_lang.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Описание

  • Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL.
  • Этот модуль позволяет добавить язык, удалить язык или изменить доверенные отношения с базой данных PostgreSQL.
  • Модуль может быть использован на машине, где выполняется, или на удалённом узле.
  • При удалении языка из базы данных, возможно, что зависимости препятствуют удалению базы данных. В этом случае, вы можете указать cascade=yes для автоматического удаления объектов, которые зависят от языка (например, функций на этом языке).
  • Если язык не может быть удалён, потому что он необходим для работы системы базы данных, вы можете указать fail_on_drop=no, чтобы игнорировать ошибку.
  • Будьте осторожны, помечая язык как надёжный, так как это может привести к потенциальной угрозе безопасности. Ненадёжные языки позволяют использовать этот язык для создания новых функций только пользователям с привилегией суперпользователя PostgreSQL.

Требования

Ниже перечислены требования к узлу, на котором выполняется этот модуль.

  • psycopg2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
строка
Указывает имя файла, содержащего сертификат(ы) уполномоченной стороны SSL (CA).
Если файл существует, серверный сертификат будет проверен на подпись одной из этих уполномоченных сторон.

Псевдонимы: 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
строка
Путь к сокету Unix доменного имени для локальных подключений.
login_user
строка
По умолчанию:
"postgres"
Имя пользователя, используемое для аутентификации.
owner
строка
добавлен в 0.2.0 community.postgresql
Устанавливает владельца языка.
Игнорируется при state=absent.
port
целое число
По умолчанию:
5432
Порт базы данных для подключения.

Псевдонимы: login_port
session_role
строка
Переключение на session_role после подключения.
Указанный session_role должен быть ролью, членом которой является текущий login_user.
Проверка разрешений для SQL-команд выполняется так, как будто session_role был тем, кто первоначально вошёл в систему.
ssl_mode
строка
    Варианты:
  • разрешить
  • отключить
  • предпочитать ←
  • требовать
  • проверить-ca
  • проверить-полностью
Определяет, будет ли или с каким приоритетом устанавливаться безопасное SSL TCP/IP-соединение с сервером.
См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.
Значение по умолчанию prefer соответствует значению по умолчанию libpq.
state
строка
    Варианты:
  • отсутствует
  • наличие ←
Состояние языка для выбранной базы данных.
trust
булево
    Варианты:
  • нет ←
  • да
Сделать этот язык надёжным для выбранной базы данных.
trust_input
булево
добавлен в 0.2.0 community.postgresql
    Варианты:
  • нет
  • да ←
Если no, проверять, являются ли значения параметров lang, session_role, owner потенциально опасными.
Имеет смысл использовать no только тогда, когда SQL-инъекции через параметры возможны.

Примечания

Примечание

  • Поддерживает check_mode.
  • Аутентификация по умолчанию предполагает, что вы входите в систему как или подключаетесь к учётной записи 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
  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: yes
    force_trust: yes

- 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: yes

- 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: no

- name: In testdb change owner of mylang to alice
  community.postgresql.postgresql_lang:
    db: testdb
    lang: mylang
    owner: alice

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
queries
список / элементы=строка
всегда
Список выполненных запросов.

Пример:
['CREATE LANGUAGE "acme"']


Авторы

  • Jens Depuydt (@jensdepuydt)
  • Thomas O’Donnell (@andytom)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/postgresql/postgresql_lang_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API