Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

Чтобы использовать его в книге задач, укажите: community.general.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.general
Установите владельца для языка.
Игнорируется при state=absent.
port
целое число
По умолчанию:
5432
Порт базы данных для подключения.

Псевдонимы: login_port
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.general
    Варианты:
  • нет
  • да ←
Если no, проверьте, являются ли значения параметров lang, session_role, owner потенциально опасными.
Использование no имеет смысл только тогда, когда SQL-инъекции через параметры возможны.

Примечания

Примечание

  • Аутентификация по умолчанию предполагает, что вы либо входите в систему как пользователь, либо используете sudo для входа в postgres на узле.
  • Чтобы избежать ошибки «Ошибка проверки подлинности клиента для пользователя 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.general.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.general.postgresql_lang:
    db: testdb
    lang: pltclu
    state: present
    trust: yes
    force_trust: yes

- name: Remove language pltclu from database testdb
  community.general.postgresql_lang:
    db: testdb
    lang: pltclu
    state: absent

- name: Remove language pltclu from database testdb and remove all dependencies
  community.general.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.general.postgresql_lang:
    db: testdb
    lang: pltclu
    state: absent
    fail_on_drop: no

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

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

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

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

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


Авторы

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

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

Spec-Zone.ru

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