Spec-Zone.ru › Ansible 2.10

community.postgresql.postgresql_owner – Изменение владельца объекта базы данных PostgreSQL

Примечание

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

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

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

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

Обзор

  • Изменение владельца объекта базы данных PostgreSQL.
  • Также позволяет переназначить владение объектами базы данных, принадлежащими роли базы данных, другой роли.

Требования

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

  • psycopg2

Параметры

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

псевдонимы: ssl_rootcert
db
строка
Имя базы данных для подключения.

псевдонимы: login_db
fail_on_role
логическое значение
    Варианты:
  • нет
  • да ←
Если yes, прервать выполнение, когда роль reassign_owned_by не существует. В противном случае просто вывести предупреждение и продолжить.
Взаимоисключающее с obj_name и obj_type.
login_host
строка
Хост, на котором работает база данных.
login_password
строка
Пароль, используемый для аутентификации.
login_unix_socket
строка
Путь к сокету Unix для локальных подключений.
login_user
строка
Значение по умолчанию:
"postgres"
Имя пользователя, используемое для аутентификации.
new_owner
строка / обязательно
Роль (пользователь/группа) для назначения владельцем obj_name.
obj_name
строка
Имя объекта базы данных, для которого необходимо изменить владельца.
Взаимоисключающее с reassign_owned_by.
obj_type
строка
    Варианты:
  • база данных
  • функция
  • matview
  • последовательность
  • схема
  • таблица
  • пространство имен таблиц
  • представление
Тип объекта базы данных.
Взаимоисключающее с reassign_owned_by.

псевдонимы: тип
port
целое число
Значение по умолчанию:
5432
Порт базы данных для подключения.

псевдонимы: login_port
reassign_owned_by
список / элементы=строка
Список имен ролей. Владение всеми объектами в текущей базе данных и всеми общими объектами (базами данных, пространствами имен таблиц), принадлежащими этой роли(ям), будет переназначено на owner.
Обратите внимание - это переназначает владение всеми объектами, принадлежащими этой роли(ям), в db!
Если роль(и) существует, всегда возвращает изменённое значение True.
Нельзя переназначить владение объектами, необходимыми для работы базы данных.
Взаимоисключающее с obj_type.
session_role
строка
Переключение на сессионную роль после подключения. Указанная сессионная роль должна быть ролью, членом которой является текущий пользователь login_user.
Проверка разрешений для команд SQL выполняется так, как если бы сессионная роль была той, которая изначально вошла в систему.
ssl_mode
строка
    Варианты:
  • разрешить
  • отключить
  • предпочитать ←
  • требовать
  • проверить-ca
  • полная-проверка
Определяет, будет ли установлено защищенное соединение SSL TCP/IP с сервером и с какой приоритетностью.
См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.
Значение по умолчанию prefer соответствует значению по умолчанию libpq.
trust_input
логическое значение
добавлен в 0.2.0 community.postgresql
    Варианты:
  • нет
  • да ←
Если no, проверить, не являются ли значения параметров new_owner, obj_name, reassign_owned_by, session_role потенциально опасными.
Использование 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.

См. также

См. также

community.postgresql.postgresql_user

Официальная документация модуля community.postgresql.postgresql_user.

community.postgresql.postgresql_privs

Официальная документация модуля community.postgresql.postgresql_privs.

community.postgresql.postgresql_membership

Официальная документация модуля community.postgresql.postgresql_membership.

Ссылка на документацию PostgreSQL по команде REASSIGN OWNED

Полная документация по команде PostgreSQL REASSIGN OWNED.

Примеры

# Set owner as alice for function myfunc in database bar by ansible ad-hoc command:
# ansible -m postgresql_owner -a "db=bar new_owner=alice obj_name=myfunc obj_type=function"

- name: The same as above by playbook
  community.postgresql.postgresql_owner:
    db: bar
    new_owner: alice
    obj_name: myfunc
    obj_type: function

- name: Set owner as bob for table acme in database bar
  community.postgresql.postgresql_owner:
    db: bar
    new_owner: bob
    obj_name: acme
    obj_type: table

- name: Set owner as alice for view test_view in database bar
  community.postgresql.postgresql_owner:
    db: bar
    new_owner: alice
    obj_name: test_view
    obj_type: view

- name: Set owner as bob for tablespace ssd in database foo
  community.postgresql.postgresql_owner:
    db: foo
    new_owner: bob
    obj_name: ssd
    obj_type: tablespace

- name: Reassign all object in database bar owned by bob to alice
  community.postgresql.postgresql_owner:
    db: bar
    new_owner: alice
    reassign_owned_by: bob

- name: Reassign all object in database bar owned by bob and bill to alice
  community.postgresql.postgresql_owner:
    db: bar
    new_owner: alice
    reassign_owned_by:
    - bob
    - bill

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

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

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

Пример:
['REASSIGN OWNED BY "bob" TO "alice"']


Авторы

  • Андрей Клычкова (@Andersson007)

© 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/postgresql/postgresql_owner_module.html

Spec-Zone.ru

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