Spec-Zone.ru › Ansible 2.10

community.postgresql.postgresql_tablespace – Добавление или удаление пространств имен PostgreSQL на удалённых хостах

Примечание

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

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

Для использования в playbook, укажите: community.postgresql.postgresql_tablespace.

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

Обзор

  • Добавляет или удаляет пространства имен PostgreSQL на удалённых хостах.

Требования

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

  • psycopg2

Параметры

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

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

Псевдонимы: login_db
location
путь
Путь к каталогу пространства имён в файловой системе.
Убедитесь, что каталог существует и имеет соответствующие права.

Псевдонимы: path
login_host
строка
Хост, на котором выполняется база данных.
login_password
строка
Пароль, используемый для аутентификации.
login_unix_socket
строка
Путь к сокету Unix-домена для локальных подключений.
login_user
строка
По умолчанию:
"postgres"
Имя пользователя, используемое для аутентификации.
owner
строка
Имя роли, которая будет назначена владельцем пространства имён.
Если этот параметр не указан, владелец пространства имён — роль, создавшая пространство имён.
port
целое число
По умолчанию:
5432
Порт базы данных для подключения.

Псевдонимы: login_port
rename_to
строка
Новое имя пространства имён.
Новое имя не может начинаться с pg_, так как такие имена зарезервированы для системных пространств имён.
session_role
строка
Переключение на роль session_role после подключения. Указанная роль session_role должна быть ролью, членом которой является текущий пользователь login_user.
Проверка разрешений для SQL-команд выполняется так, как если бы роль session_role была той, которая первоначально вошла в систему.
set
словарь
Словарь параметров пространства имён для установки. Поддерживается с PostgreSQL 9.0.
Для получения дополнительной информации см. https://www.postgresql.org/docs/current/sql-createtablespace.html.
При передаче reset в качестве значения параметра, если параметр был установлен ранее, он будет удалён.
ssl_mode
строка
    Варианты:
  • allow
  • disable
  • prefer ←
  • require
  • verify-ca
  • verify-full
Определяет, будет ли и с каким приоритетом устанавливаться защищённое SSL-TCP/IP-соединение с сервером.
См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.
Значение по умолчанию prefer соответствует значению по умолчанию libpq.
state
строка
    Варианты:
  • absent
  • present ←
Состояние пространства имён.
state=present означает, что пространство имён должно быть создано, если оно не существует.
state=absent означает, что пространство имён должно быть удалено, если оно существует. state=absent несовместим с location, owner, i(set).
См. раздел «Примечания» для получения информации о ограничениях режима проверки.
tablespace
строка / обязательно
Имя пространства имён для добавления или удаления.

Псевдонимы: name
trust_input
логическое
добавлено в 0.2.0 community.postgresql
    Варианты:
  • нет
  • да ←
Если no, проверьте, являются ли значения параметров tablespace, location, owner, rename_to, session_role, settings_list потенциально опасными.
Использование no имеет смысл только в том случае, если возможны SQL-инъекции через параметры.

Примечания

Примечание

  • state=absent и state=present (второе, если пространство имён не существует) не поддерживают режим проверки, потому что соответствующие команды PostgreSQL DROP и CREATE TABLESPACE не могут выполняться внутри блока транзакции.
  • По умолчанию аутентификация предполагает, что вы либо заходите в систему, либо выполняете sudo для пользователя postgres на хосте.
  • Чтобы избежать ошибки «Ошибка аутентификации клиента для пользователя postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg2, адаптер базы данных PostgreSQL для Python. Вы должны убедиться, что psycopg2 установлен на хосте перед использованием этого модуля.
  • Если удалённый хост является сервером PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удалённом хосте.
  • Для систем на основе Ubuntu установите пакеты postgresql, libpq-dev и python-psycopg2 на удалённом хосте перед использованием этого модуля.
  • Параметр ca_cert требует как минимум версии Postgres 8.4 и psycopg2 версии 2.4.3.

См. также

См. также

Пространства имён PostgreSQL

Общая информация о пространствах имён PostgreSQL.

Ссылка CREATE TABLESPACE

Полная документация по команде CREATE TABLESPACE.

Ссылка ALTER TABLESPACE

Полная документация по команде ALTER TABLESPACE.

Ссылка DROP TABLESPACE

Полная документация по команде DROP TABLESPACE.

Примеры

- name: Create a new tablespace called acme and set bob as an its owner
  community.postgresql.postgresql_tablespace:
    name: acme
    owner: bob
    location: /data/foo

- name: Create a new tablespace called bar with tablespace options
  community.postgresql.postgresql_tablespace:
    name: bar
    set:
      random_page_cost: 1
      seq_page_cost: 1

- name: Reset random_page_cost option
  community.postgresql.postgresql_tablespace:
    name: bar
    set:
      random_page_cost: reset

- name: Rename the tablespace from bar to pcie_ssd
  community.postgresql.postgresql_tablespace:
    name: bar
    rename_to: pcie_ssd

- name: Drop tablespace called bloat
  community.postgresql.postgresql_tablespace:
    name: bloat
    state: absent

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

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

Ключ Возвращаемое значение Описание
location
строка
всегда
Путь к пространству имён в файловой системе.

Пример:
/невероятный/быстрый/ssd
newname
строка
если существует
Новое имя пространства имён

Пример:
new_ssd
options
словарь
всегда
Параметры пространства имён.

Пример:
{'random_page_cost': 1, 'seq_page_cost': 1}
owner
строка
всегда
Владелец пространства имён.

Пример:
Иван
queries
строка
всегда
Список запросов, которые пытались выполнить.

Пример:
["CREATE TABLESPACE bar LOCATION '/невероятный/ssd'"]
state
строка
всегда
Состояние пространства имён в конце выполнения.

Пример:
present
tablespace
строка
всегда
Имя пространства имён.

Пример:
ssd


Авторы

  • Flavien Chantelot (@Dorn-)
  • Antoine Levy-Lambert (@antoinell)
  • Andrew Klychkov (@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_tablespace_module.html

Spec-Zone.ru

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