community.postgresql.postgresql_tablespace – Добавление или удаление табличных пространств PostgreSQL с удалённых хостов
Примечание
Этот плагин входит в коллекцию community.postgresql (версия 1.1.1).
Для его установки используйте: ansible-galaxy collection install community.postgresql.
Для использования в книге задач укажите: community.postgresql.postgresql_tablespace.
Обзор
- Добавляет или удаляет табличные пространства PostgreSQL с удалённых хостов.
Требования
Ниже перечислены требования, необходимые на хосте, выполняющем этот модуль.
- psycopg2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_cert строка | Указывает имя файла, содержащего сертификаты (CA) уполномоченного центра сертификации. Если файл существует, сертификат сервера будет проверен на соответствие подписи одного из этих центров. псевдонимы: 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 строка |
| Определяет, будет ли и с каким приоритетом устанавливаться безопасное SSL-TCP/IP-соединение с сервером. См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах. Значение по умолчанию prefer соответствует значению по умолчанию libpq. |
| state строка |
| Состояние табличного пространства. 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 не могут быть выполнены внутри блока транзакций.
- По умолчанию предполагается, что вы либо входите в систему как пользователь
postgres, либо переключаетесь на него с помощью sudo. - Чтобы избежать ошибки «Ошибка проверки подлинности клиента для пользователя 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.
См. также
См. также
- Табличные пространства 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 строка | всегда | Путь к табличному пространству в файловой системе. Пример: /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)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/postgresql/postgresql_tablespace_module.html