Модуль community.postgresql.postgresql_idx — Создание или удаление индексов в базе данных PostgreSQL
Примечание
Этот модуль входит в коллекцию community.postgresql (версия 3.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.postgresql. Для использования этого модуля требуются дополнительные условия, см. Требования для получения подробностей.
Чтобы использовать его в книге задач, укажите: community.postgresql.postgresql_idx.
Описание
- Создание или удаление индексов в базе данных PostgreSQL.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- psycopg2 >= 2.5.1
Параметры
Параметр | Комментарии |
|---|---|
ca_cert псевдонимы: ssl_rootcert строка | Указывает имя файла, содержащего сертификат(ы) центра сертификации (CA) для SSL. Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров. |
cascade логический тип | Автоматически удаляет объекты, зависящие от индекса, и все объекты, зависящие от этих объектов. Используется только со значением state=absent. Исключающее с concurrent=true. Варианты:
|
columns псевдонимы: column список / элементы=строка | Список столбцов индекса, которые должны быть покрыты индексом. Исключающее с state=absent. |
concurrent логический тип | Включить или выключить режим одновременной обработки (CREATE / DROP INDEX CONCURRENTLY). Обратите внимание, что если concurrent=false, таблица будет заблокирована (ACCESS EXCLUSIVE) во время процесса построения. Для получения дополнительной информации об уровнях блокировки см. https://www.postgresql.org/docs/current/explicit-locking.html. Если процесс построения был прерван по какой-либо причине при concurrent=true, индекс становится недействительным. В этом случае он должен быть удален и создан заново. Исключающее с cascade=true. Варианты:
|
cond строка | Условия индекса. Исключающее с state=absent. |
connect_params словарь добавлен в community.postgresql 2.3.0 | Любые дополнительные параметры, которые необходимо передать libpg. Эти параметры имеют приоритет. По умолчанию: |
db псевдонимы: login_db строка | Имя базы данных для подключения и где индекс будет создан/удален. |
idxname псевдонимы: name строка / обязательно | Имя индекса для создания или удаления. |
idxtype псевдонимы: type строка | Тип индекса (например, btree, gist, gin и т.д.). Исключающее с state=absent. |
login_host псевдонимы: host строка | Хост, на котором работает база данных. Если у вас проблемы с подключением при использовании По умолчанию: |
login_password строка | Пароль, который этот модуль должен использовать для установления сессии PostgreSQL. По умолчанию: |
login_unix_socket псевдонимы: unix_socket строка | Путь к сокету Unix доменной области для локальных подключений. По умолчанию: |
login_user псевдонимы: login строка | Имя пользователя, которое этот модуль должен использовать для установления сессии PostgreSQL. По умолчанию: |
port псевдонимы: login_port целое число | Порт базы данных для подключения. По умолчанию: |
schema строка | Имя схемы базы данных, где будет создан индекс. |
session_role строка | Переключиться на session_role после подключения. Указанный session_role должен быть ролью, членом которой является текущий login_user. Проверка разрешений для команд SQL выполняется так, как если бы session_role был тем, кто первоначально вошел в систему. |
ssl_cert путь добавлен в community.postgresql 2.4.0 | Указывает имя файла клиентского SSL-сертификата. |
ssl_key path added in community.postgresql 2.4.0 | Указывает расположение секретного ключа, используемого для сертификата клиента. |
ssl_mode string | Определяет, будет ли и с каким приоритетом устанавливаться защищенное соединение SSL TCP/IP с сервером. Дополнительную информацию о режимах см. в https://www.postgresql.org/docs/current/static/libpq-ssl.html. По умолчанию Варианты:
|
state string | Состояние индекса.
Варианты:
|
storage_params list / elements=string | Параметры хранения, такие как fillfactor, vacuum_cleanup_index_scale_factor и т. д. Взаимоисключающее с state=absent. |
table string | Таблица, для которой необходимо создать индекс. Взаимоисключающее с state=absent. |
tablespace string | Указывает табличное пространство для индекса. Взаимоисключающее с state=absent. |
trust_input boolean added in community.postgresql 0.2.0 | Если Использовать Варианты:
|
unique boolean added in community.postgresql 0.2.0 | Включить уникальный индекс. В настоящее время только btree поддерживает уникальные индексы. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме проверки и возвращать прогнозируемый результат изменений без модификации целевого объекта. |
Примечания
Примечание
- Процесс создания индекса может повлиять на производительность базы данных.
- Для предотвращения блокировок таблиц в производственных базах данных используйте concurrent=true (поведение по умолчанию).
- Авторизация по умолчанию предполагает, что вы вошли как пользователь или используете sudo для входа в учетную запись
postgresна хосте. - Для предотвращения ошибки «Ошибка проверки подлинности участника для пользователя postgres» используйте пользователя postgres в качестве become_user.
- Этот модуль использует
psycopg, адаптер базы данных PostgreSQL на Python. Необходимо убедиться, чтоpsycopg2 >= 2.5.1илиpsycopg3 >= 3.1.8установлены на хосте перед использованием этого модуля. - Если удаленный хост является сервером PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удаленном хосте.
- Для систем на базе Ubuntu установите пакеты
postgresql,libpq-dev, иpython3-psycopg2на удаленном хосте перед использованием этого модуля.
См. также
См. также
- community.postgresql.postgresql_table
-
Создание, удаление или изменение таблицы PostgreSQL.
- community.postgresql.postgresql_tablespace
-
Добавление или удаление табличных пространств PostgreSQL на удаленных хостах.
- Справочник по индексам PostgreSQL
-
Общая информация об индексах PostgreSQL.
- Ссылка на CREATE INDEX
-
Полная документация команды CREATE INDEX.
- Ссылка на ALTER INDEX
-
Полная документация команды ALTER INDEX.
- Ссылка на DROP INDEX
-
Полная документация команды DROP INDEX.
Примеры
- name: Create btree index if not exists test_idx concurrently covering columns id and name of table products
community.postgresql.postgresql_idx:
db: acme
table: products
columns: id,name
name: test_idx
- name: Create btree index test_idx concurrently with tablespace called ssd and storage parameter
community.postgresql.postgresql_idx:
db: acme
table: products
columns:
- id
- name
idxname: test_idx
tablespace: ssd
storage_params:
- fillfactor=90
- name: Create gist index test_gist_idx concurrently on column geo_data of table map
community.postgresql.postgresql_idx:
db: somedb
table: map
idxtype: gist
columns: geo_data
idxname: test_gist_idx
# Note: for the example below pg_trgm extension must be installed for gin_trgm_ops
- name: Create gin index gin0_idx not concurrently on column comment of table test
community.postgresql.postgresql_idx:
idxname: gin0_idx
table: test
columns: comment gin_trgm_ops
concurrent: false
idxtype: gin
- name: Drop btree test_idx concurrently
community.postgresql.postgresql_idx:
db: mydb
idxname: test_idx
state: absent
- name: Drop test_idx cascade
community.postgresql.postgresql_idx:
db: mydb
idxname: test_idx
state: absent
cascade: true
concurrent: false
- name: Create btree index test_idx concurrently on columns id,comment where column id > 1
community.postgresql.postgresql_idx:
db: mydb
table: test
columns: id,comment
idxname: test_idx
cond: id > 1
- name: Create unique btree index if not exists test_unique_idx on column name of table products
community.postgresql.postgresql_idx:
db: acme
table: products
columns: name
name: test_unique_idx
unique: true
concurrent: false
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
name строка | Имя индекса. Возвращаемое значение: успех Пример: |
query строка | Запрос, который пытались выполнить. Возвращаемое значение: успех Пример: |
schema строка | Схема, в которой существует индекс. Возвращаемое значение: успех Пример: |
state строка | Состояние индекса. Возвращаемое значение: успех Пример: |
storage_params список / элементы=строка | Параметры хранения индекса. Возвращаемое значение: успех Пример: |
tablespace строка | Таблица, в которой существует индекс. Возвращаемое значение: успех Пример: |
valid логическое значение | Действительность индекса. Возвращаемое значение: успех Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/postgresql/postgresql_idx_module.html