Модуль 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 строка | Имя базы данных, к которой нужно подключиться и выполнять запросы. Псевдоним |
login_host псевдонимы: host строка | Узел, на котором работает база данных. Если при использовании По умолчанию: |
login_password строка | Пароль, который модуль должен использовать для установки сеанса PostgreSQL. По умолчанию: |
login_port псевдонимы: port целое число | Порт базы данных для подключения. Псевдоним По умолчанию: |
login_unix_socket псевдонимы: unix_socket строка | Путь к сокету домена Unix для локальных подключений. По умолчанию: |
login_user псевдонимы: login строка | Имя пользователя, которое модуль должен использовать для установки сеанса PostgreSQL. По умолчанию: |
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. Значение по умолчанию Варианты:
|
state строка | Состояние табличного пространства. state=present означает, что табличное пространство необходимо создать, если оно не существует. state=absent означает, что табличное пространство необходимо удалить, если оно существует. state=absent несовместимо с параметрами location, owner, i(set). Ограничения режима проверки описаны в разделе «Примечания». Варианты:
|
tablespace псевдонимы: name строка / обязательно | Имя табличного пространства, которое нужно добавить или удалить. |
trust_input логический добавлено в community.postgresql 0.2.0 | Если Использовать Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
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 строка | Комментарий к табличному пространству. Возвращается: при успехе Пример: |
location строка | Путь к табличному пространству в файловой системе. Возвращается: при успехе Пример: |
newname строка | Новое имя табличного пространства. Возвращается: если существует Пример: |
options словарь | Параметры табличного пространства. Возвращается: при успехе Пример: |
owner строка | Владелец табличного пространства. Возвращается: при успехе Пример: |
queries строка | Список запросов, которые пытались выполнить. Возвращается: при успехе Пример: |
state строка | Состояние табличного пространства по завершении выполнения. Возвращается: при успехе Пример: |
tablespace строка | Имя табличного пространства. Возвращается: при успехе Пример: |
Ссылки на коллекцию
© 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