Spec-Zone.ru › Ansible

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.

Варианты:

  • false ← (по умолчанию)
  • true

connect_params

словарь

добавлено в community.postgresql 2.3.0

Дополнительные параметры, передаваемые в libpg.

Эти параметры имеют приоритет.

По умолчанию: {}

db

псевдонимы: login_db

строка / обязательно

Имя базы данных для подключения, где язык будет добавлен, удален или изменен.

fail_on_drop

логическое значение

Если true, прервать процесс при удалении языка. В противном случае просто записать в журнал и продолжить.

В некоторых случаях нельзя удалить язык (используется системой базы данных).

При наличии зависимостей, блокирующих удаление, используйте cascade.

Варианты:

  • false
  • true ← (по умолчанию)

force_trust

логическое значение

Отмечает язык как доверенный, даже если он помечен как недоверенный в pg_pltemplate.

Используйте с осторожностью!

Варианты:

  • false ← (по умолчанию)
  • true

lang

псевдонимы: name

строка / обязательно

Имя процедурного языка для добавления, удаления или изменения.

login_host

псевдонимы: host

строка

Хост, на котором работает база данных.

Если у вас есть проблемы с подключением при использовании localhost, попробуйте использовать 127.0.0.1 вместо этого.

По умолчанию: ""

login_password

строка

Пароль, который этот модуль должен использовать для создания сеанса PostgreSQL.

По умолчанию: ""

login_unix_socket

псевдонимы: unix_socket

строка

Путь к сокету Unix доменной области для локальных подключений.

По умолчанию: ""

login_user

псевдонимы: login

строка

Имя пользователя, которое этот модуль должен использовать для создания сеанса PostgreSQL.

По умолчанию: "postgres"

owner

строка

добавлено в community.postgresql 0.2.0

Установить владельца для языка.

Игнорируется при state=absent.

port

псевдонимы: login_port

целое число

Порт базы данных для подключения.

По умолчанию: 5432

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 для получения дополнительной информации о режимах.

Значение по умолчанию prefer соответствует значению по умолчанию libpq.

Варианты:

  • "allow"
  • "disable"
  • "prefer" ← (по умолчанию)
  • "require"
  • "verify-ca"
  • "verify-full"

state

строка

Состояние языка для выбранной базы данных.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

trust

логический тип

Сделать этот язык доверенным для выбранной базы данных.

Варианты:

  • false ← (по умолчанию)
  • true

trust_input

логический тип

добавлено в community.postgresql 0.2.0

Если false, проверить, являются ли значения параметров lang, session_role, owner потенциально опасными.

Использование false имеет смысл только в том случае, если SQL-инъекции через параметры возможны.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

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

список / элементы=строка

Список выполненных запросов.

Возвращается: успех

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

Статус

  • Этот модуль будет удален в версии 4.0.0. [устарел]
  • Дополнительная информация приведена в разделе УСТАРЕВШИЙ.

Авторы

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

Ссылки на коллекции

  • Система отслеживания ошибок
  • Репозиторий (исходные коды)
  • Сообщить об ошибке
  • Связь

© 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

Spec-Zone.ru

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