Spec-Zone.ru › Ansible

Модуль community.postgresql.postgresql_tablespace — добавление и удаление табличных пространств PostgreSQL на удалённых узлах

Примечание

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

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

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

Чтобы использовать модуль в плейбуке, укажите: community.postgresql.postgresql_tablespace.

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

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

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

Требования

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

  • psycopg2 >= 2.5.1

Параметры

Параметр

Комментарии

ca_cert

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

строка

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

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

comment

строка

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

Задаёт комментарий к табличному пространству.

Чтобы удалить комментарий, передайте пустую строку.

connect_params

словарь

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

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

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

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

location

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

путь

Путь к каталогу табличного пространства в файловой системе.

Убедитесь, что каталог существует и имеет необходимые права доступа.

login_db

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

строка

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

Псевдоним db устарел и будет удалён в версии 5.0.0.

login_host

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

строка

Узел, на котором работает база данных.

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

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

login_password

строка

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

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

login_port

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

целое число

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

Псевдоним port устарел и будет удалён в следующем основном выпуске. Вместо него используйте login_port.

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

login_unix_socket

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

строка

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

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

login_user

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

строка

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

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

owner

строка

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

Если этот параметр не указан, владельцем табличного пространства будет роль, создавшая его.

rename_to

строка

УСТАРЕЛО (см. обсуждение). Этот параметр будет удалён в версии 5.0.0. Чтобы переименовать табличное пространство, используйте модуль community.postgresql.postgresql_query.

Новое имя табличного пространства.

Новое имя не может начинаться с 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_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

строка

Состояние табличного пространства.

state=present означает, что табличное пространство необходимо создать, если оно не существует.

state=absent означает, что табличное пространство необходимо удалить, если оно существует. state=absent несовместимо с параметрами location, owner, i(set).

Ограничения режима проверки описаны в разделе «Примечания».

Варианты:

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

tablespace

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

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

Имя табличного пространства, которое нужно добавить или удалить.

trust_input

логический

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

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

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: частичная

Для state=absent и state=present (во втором случае — если табличное пространство не существует) режим проверки не поддерживается, поскольку соответствующие команды PostgreSQL DROP и CREATE TABLESPACE нельзя выполнять внутри блока транзакции.

Может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой узел.

Примечания

Примечание

  • При аутентификации по умолчанию предполагается, что вы либо входите в систему как учётная запись postgres на узле, либо переключаетесь на неё с помощью sudo.
  • Чтобы избежать ошибки «Peer authentication failed for user postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg — адаптер базы данных PostgreSQL для Python. Перед использованием этого модуля необходимо убедиться, что на узле установлен psycopg2 >= 2.5.1 или psycopg3 >= 3.1.8.
  • Если удалённый узел является сервером PostgreSQL (что используется по умолчанию), PostgreSQL также должен быть установлен на удалённом узле.
  • В системах на базе Ubuntu перед использованием этого модуля установите на удалённый узел пакеты postgresql, libpq-dev и python3-psycopg2.

См. также

См. также

Табличные пространства 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
    comment: "Bob's tablespace"

- 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: Drop tablespace called bloat
  community.postgresql.postgresql_tablespace:
    name: bloat
    state: absent

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

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

Ключ

Описание

comment

строка

Комментарий к табличному пространству.

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

Пример: "Test tablespace"

location

строка

Путь к табличному пространству в файловой системе.

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

Пример: "/incredible/fast/ssd"

newname

строка

Новое имя табличного пространства.

Возвращается: если существует

Пример: "new_ssd"

options

словарь

Параметры табличного пространства.

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

Пример: {"random_page_cost": 1, "seq_page_cost": 1}

owner

строка

Владелец табличного пространства.

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

Пример: "Bob"

queries

строка

Список запросов, которые пытались выполнить.

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

Пример: "[\"CREATE TABLESPACE bar LOCATION '/incredible/ssd'\"]"

state

строка

Состояние табличного пространства по завершении выполнения.

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

Пример: "present"

tablespace

строка

Имя табличного пространства.

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

Пример: "ssd"

Авторы

  • Flavien Chantelot (@Dorn-)
  • Antoine Levy-Lambert (@antoinell)
  • Andrew Klychkov (@Andersson007)
  • Daniele Giudice (@RealGreenDragon)

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

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

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/postgresql/postgresql_tablespace_module.html

Spec-Zone.ru

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