Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию community.postgresql (версия 3.6.1).

У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.postgresql. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.

Чтобы использовать его в книге задач, укажите: community.postgresql.postgresql_owner.

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

Краткое описание

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

Требования

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

  • psycopg2 >= 2.5.1

Параметры

Параметр

Комментарии

ca_cert

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

строка

Указывает имя файла, содержащего сертификат(ы) центра сертификации (CA) для SSL.

Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров.

connect_params

словарь

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

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

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

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

db

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

строка

Имя базы данных для подключения.

fail_on_role

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

Если true, прервать выполнение при отсутствии роли reassign_owned_by. Иначе просто вывести предупреждение и продолжить.

Взаимоисключающие параметры с obj_name и obj_type.

Варианты:

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

login_host

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

строка

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

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

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

login_password

строка

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

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

login_unix_socket

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

строка

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

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

login_user

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

строка

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

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

new_owner

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

Роль (пользователь/группа), которая будет установлена как владелец объекта obj_name.

obj_name

строка

Имя объекта базы данных, для которого нужно изменить владельца.

Взаимоисключающие параметры с reassign_owned_by.

obj_type

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

строка

Тип объекта базы данных.

Взаимоисключающие параметры с reassign_owned_by.

obj_type=matview доступен начиная с PostgreSQL 9.3.

obj_type=event_trigger, obj_type=procedure, obj_type=publication, obj_type=statistics и obj_type=routine доступны начиная с PostgreSQL 11.

Варианты:

  • "aggregate"
  • "collation"
  • "conversion"
  • "database"
  • "domain"
  • "event_trigger"
  • "foreign_data_wrapper"
  • "foreign_table"
  • "function"
  • "language"
  • "large_object"
  • "matview"
  • "procedure"
  • "publication"
  • "routine"
  • "schema"
  • "sequence"
  • "server"
  • "statistics"
  • "table"
  • "tablespace"
  • "text_search_configuration"
  • "text_search_dictionary"
  • "type"
  • "view"

port

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

целое число

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

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

reassign_owned_by

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

Внимание - владение всеми объектами в указанной db, принадлежащими этой роли(ям), будет переназначено new_owner.

Часто используется для подготовки к удалению одной или нескольких ролей.

НЕ затрагивает объекты в других базах данных.

Выполняйте эту команду в каждой базе данных, содержащей объекты, принадлежащие роли, которая должна быть удалена.

Если роль(и) существует, всегда возвращает changed True.

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

Взаимоисключающие параметры с obj_type

session_role

строка

Переключиться на session_role после подключения. Указанная session_role должна быть ролью, членом которой является текущий login_user.

Проверка прав для SQL-команд выполняется так, как будто бы session_role была той, которая первоначально вошла в систему.

ssl_cert

путь

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

Указывает имя файла клиентского SSL-сертификата.

ssl_key

path

added in community.postgresql 2.4.0

Указывает расположение секретного ключа, используемого для сертификата клиента.

ssl_mode

string

Определяет, будет ли и с каким приоритетом устанавливаться защищенное SSL TCP/IP соединение с сервером.

См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.

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

Варианты:

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

trust_input

boolean

added in community.postgresql 0.2.0

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

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и предсказывать результат изменений без модификации целевого объекта.

Примечания

Примечание

  • Перегрузка функций не поддерживается, поэтому при obj_type равном aggregate, function, routine, или procedure obj_name считается единственным объектом того же типа с этим именем.
  • Несмотря на то, что перегрузка функций не поддерживается, при obj_type=aggregate obj_name должен также содержать подпись агрегата, так как это необходимо для синтаксиса SQL.
  • new_owner должен быть суперпользователем, если obj_type равен event_type или foreign_data_wrapper.
  • Для управления собственностью на подписки используйте модуль community.postgresql.postgresql_subscription.
  • По умолчанию предполагается, что вы входите в систему или используете 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 на удаленном хосте перед использованием этого модуля.

См. также

См. также

community.postgresql.postgresql_user

Создание, изменение или удаление пользователя (роли) с сервера PostgreSQL.

community.postgresql.postgresql_privs

Предоставление или отзыв привилегий на объекты базы данных PostgreSQL.

community.postgresql.postgresql_membership

Добавление или удаление ролей PostgreSQL из групп.

community.postgresql.postgresql_subscription

Добавление, обновление или удаление подписки PostgreSQL.

Справочник по команде 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 databases owned by bob to alice and all objects in database bar owned by bob to alice
  community.postgresql.postgresql_owner:
    db: bar
    new_owner: alice
    reassign_owned_by: bob

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

Значения возврата

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

Ключ

Описание

queries

string

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

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

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

Авторы

  • Andrew Klychkov (@Andersson007)
  • Daniele Giudice (@RealGreenDragon)

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

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

© 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_owner_module.html

Spec-Zone.ru

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