Spec-Zone.ru › Ansible 2.8

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

Новая в версии 2.8.

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

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

  • Изменение владельца объекта базы данных PostgreSQL.
  • Также позволяет переназначить владение объектами базы данных, принадлежащими базе данных роли, другой роли.
  • Дополнительную информацию о команде REASSIGN OWNED BY см. на https://www.postgresql.org/docs/current/sql-reassign-owned.html.

Требования

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

  • 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
список
Список имён ролей. Владение всеми объектами в текущей базе данных и всеми общими объектами (базы данных, пространства имен таблиц), принадлежащими этой роли(ям), будет переназначаться владельцу.
Обратите внимание — это переназначает все объекты, принадлежащие этой роли(ям), в базе данных db!
Если роль(и) существует, всегда возвращает изменённое значение True.
Невозможно переназначить владение объектами, необходимыми для работы базы данных.
Дополнительную информацию см. на https://www.postgresql.org/docs/current/sql-reassign-owned.html.
Взаимоисключающие с obj_type.
session_role
строка
Переключение на 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.

Примечания

Примечание

  • По умолчанию аутентификация предполагает, что вы входите как пользователь или используете sudo для входа в учетную запись postgres на хосте.
  • Чтобы избежать ошибки «Отказано в проверке подлинности пользователя postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует 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.

Примеры

# 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
  postgresql_owner:
    db: bar
    new_owner: alice
    obj_name: myfunc
    obj_type: function

- name: Set owner as bob for table acme in database bar
  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
  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
  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
  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
  postgresql_owner:
    db: bar
    new_owner: alice
    reassign_owned_by:
    - bob
    - bill

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

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

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

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


Статус

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

Авторы

  • Андрей Клычков (@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.8/modules/postgresql_owner_module.html

Spec-Zone.ru

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