postgresql_tablespace – Добавление или удаление табличных пространств PostgreSQL на удалённых хостах
Новое в версии 2.8.
Описание
- Добавляет или удаляет табличные пространства PostgreSQL на удалённых хостах https://www.postgresql.org/docs/current/sql-createtablespace.html, https://www.postgresql.org/docs/current/manage-ag-tablespaces.html.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется данный модуль.
- 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 передаётся как значение параметра, если параметр был установлен ранее, он будет удалён https://www.postgresql.org/docs/current/sql-altertablespace.html. | |
| 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 |
Примечания
Примечание
- state=absent и state=present (второе, если табличного пространства нет) не поддерживают режим проверки, потому что соответствующие команды PostgreSQL DROP и CREATE TABLESPACE не могут быть выполнены внутри блока транзакции.
- По умолчанию предполагается, что вы вошли в систему как пользователь postgres или используете sudo для доступа к учётной записи postgres на хосте.
- Чтобы избежать ошибки «Ошибка аутентификации клиента для пользователя postgres», используйте пользователя postgres в качестве become_user.
- Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля.
- Если удалённый хост является сервером PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удалённом хосте.
- Для систем на основе Ubuntu установите пакеты postgresql, libpq-dev и python-psycopg2 на удалённом хосте перед использованием этого модуля.
- По умолчанию предполагается, что вы вошли в систему как пользователь
postgresили используете sudo для доступа к учётной записи на хосте. - Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля. Если удалённый хост является сервером PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удалённом хосте. Для систем на основе Ubuntu установите пакеты
postgresql,libpq-dev, иpython-psycopg2на удалённом хосте перед использованием этого модуля. - Для параметра ca_cert требуется как минимум версия Postgres 8.4 и psycopg2 версии 2.4.3.
Примеры
- name: Create a new tablespace called acme and set bob as an its owner
postgresql_tablespace:
name: acme
owner: bob
location: /data/foo
- name: Create a new tablespace called bar with tablespace options
postgresql_tablespace:
name: bar
set:
random_page_cost: 1
seq_page_cost: 1
- name: Reset random_page_cost option
postgresql_tablespace:
name: bar
set:
random_page_cost: reset
- name: Rename the tablespace from bar to pcie_ssd
postgresql_tablespace:
name: bar
rename_to: pcie_ssd
- name: Drop tablespace called bloat
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 |
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
- Данный модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.8/modules/postgresql_tablespace_module.html