Spec-Zone.ru › Ansible 2.8

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

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

Обзор

  • Добавляет, удаляет или изменяет процедурные языки в базе данных PostgreSQL.
  • Этот модуль позволяет добавить язык, удалить язык или изменить доверенные отношения с базой данных PostgreSQL.
  • Модуль может быть использован на машине, на которой он выполняется, или на удалённом хосте.
  • При удалении языка из базы данных, зависимости могут препятствовать удалению базы данных. В этом случае вы можете указать cascase, чтобы автоматически удалить объекты, которые зависят от языка (например, функции на этом языке).
  • Если язык не может быть удалён, потому что он необходим для работы системы базы данных, вы можете указать fail_on_drop=no, чтобы пропустить ошибку.
  • Будьте осторожны при маркировке языка как доверенного, так как это может быть потенциальной уязвимостью безопасности. Недоверенные языки позволяют использовать этот язык для создания новых функций только пользователям с привилегиями суперпользователя PostgreSQL.
  • Для получения дополнительной информации о языках PostgreSQL, обратитесь к официальной документации https://www.postgresql.org/docs/current/sql-createlanguage.html, https://www.postgresql.org/docs/current/sql-alterlanguage.html, https://www.postgresql.org/docs/current/sql-droplanguage.html.

Требования

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

  • psycopg2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
строка
добавлено в 2.8
Указывает имя файла, содержащего сертификат(ы) центра сертификации (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
строка
добавлено в 2.8
Путь к сокету Unix доменного имени для локальных соединений.
login_user
строка
По умолчанию:
"postgres"
Имя пользователя, используемое для аутентификации.
port
целое число
По умолчанию:
5432
Порт базы данных для подключения.

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

Примечания

Примечание

  • По умолчанию аутентификация предполагает, что вы вошли в систему как пользователь postgres или используете sudo для входа в систему как пользователь postgres на хосте.
  • Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля.
  • Если удалённый хост является сервером PostgreSQL (что является случаем по умолчанию), то PostgreSQL также должен быть установлен на удалённом хосте.
  • Для систем на основе Ubuntu установите пакеты postgresql, libpq-dev и python-psycopg2 на удалённом хосте перед использованием этого модуля.
  • По умолчанию аутентификация предполагает, что вы вошли в систему как или используете sudo для входа в систему как пользователь postgres на хосте.
  • Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля. Если удалённый хост является сервером PostgreSQL (что является случаем по умолчанию), то PostgreSQL также должен быть установлен на удалённом хосте. Для систем на основе Ubuntu установите пакеты postgresql, libpq-dev, и python-psycopg2 на удалённом хосте перед использованием этого модуля.
  • Для параметра ca_cert требуется как минимум версия Postgres 8.4 и psycopg2 версия 2.4.3.

Примеры

- name: 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
- name: Add language pltclu to database testdb if it doesn't exist and mark it as trusted
  postgresql_lang:
    db: testdb
    lang: pltclu
    state: present
    trust: yes
    force_trust: yes

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

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

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

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

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

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


Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • 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.8/modules/postgresql_lang_module.html

Spec-Zone.ru

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