Spec-Zone.ru › Ansible 2.8

postgresql_idx – Создание или удаление индексов из базы данных PostgreSQL

Новое в версии 2.8.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Создание или удаление индексов из базы данных PostgreSQL.
  • Для получения дополнительной информации см. https://www.postgresql.org/docs/current/sql-createindex.html, https://www.postgresql.org/docs/current/sql-dropindex.html.

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • psycopg2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
строка
Указывает имя файла, содержащего сертификат(ы) центра сертификации SSL (CA).
Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров.

псевдонимы: ssl_rootcert
cascade
логический тип
    Варианты:
  • нет ←
  • да
Автоматически удаляет объекты, зависящие от индекса, и, в свою очередь, все объекты, зависящие от этих объектов https://www.postgresql.org/docs/current/sql-dropindex.html.
Используется только со значением state=absent.
Несовместимо с concurrent=да
columns
список
Список столбцов индекса, которые должны быть покрыты индексом.
Несовместимо со значением state=absent.

псевдонимы: column
concurrent
логический тип
    Варианты:
  • нет
  • да ←
Включить или выключить режим одновременной обработки (CREATE / DROP INDEX CONCURRENTLY).
Обратите внимание, если concurrent=нет, таблица будет заблокирована (ACCESS EXCLUSIVE) во время построения. Более подробную информацию о уровнях блокировок см. https://www.postgresql.org/docs/current/explicit-locking.html.
Если процесс построения был прерван по какой-либо причине при concurrent=да, индекс становится недействительным. В этом случае он должен быть удалён и создан заново.
Несовместимо с cascade=да.
cond
строка
Условие индекса.
Несовместимо со значением state=absent.
db
строка
Имя базы данных для подключения и создания/удаления индекса.

псевдонимы: login_db
idxname
строка / обязательно
Имя индекса для создания или удаления.

псевдонимы: name
idxtype
строка
Тип индекса (например, btree, gist, gin и т.д.).
Несовместимо со значением state=absent.

псевдонимы: type
login_host
строка
Хост, на котором запущена база данных.
login_password
строка
Пароль для аутентификации.
login_unix_socket
строка
Путь к сокету Unix доменного имени для локальных подключений.
login_user
строка
По умолчанию:
"postgres"
Имя пользователя для аутентификации.
port
целое число
По умолчанию:
5432
Порт базы данных для подключения.

псевдонимы: login_port
schema
строка
Имя схемы базы данных, где будет создан индекс.
session_role
строка
Переключиться на session_role после подключения. Указанная session_role должна быть ролью, членом которой является текущий login_user.
Проверка разрешений для команд SQL выполняется так, как если бы роль session_role была той, которая изначально вошла в систему.
ssl_mode
строка
    Варианты:
  • allow
  • disable
  • prefer ←
  • require
  • verify-ca
  • verify-full
Определяет, будет ли и с какой приоритетностью устанавливаться защищённое SSL TCP/IP соединение с сервером.
См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.
Значение по умолчанию prefer соответствует значению по умолчанию libpq.
state
строка
    Варианты:
  • absent
  • present ←
Состояние индекса.
state=present подразумевает, что индекс будет создан, если он не существует.
state=absent подразумевает, что индекс будет удален, если он существует.
storage_params
список
Параметры хранения, такие как fillfactor, vacuum_cleanup_index_scale_factor и т.д.
Несовместимо со значением state=absent.
table
строка / обязательно
Таблица, на которой будет создан индекс.
Несовместимо со значением state=absent.
tablespace
строка
Установить табличное пространство для индекса.
Несовместимо со значением state=absent.

Примечания

Примечание

  • Процесс построения индекса может повлиять на производительность базы данных.
  • Чтобы избежать блокировок таблиц в производственных базах данных, используйте concurrent=да (поведение по умолчанию).
  • Аутентификация по умолчанию предполагает, что вы вошли в систему как или выполнили sudo для учетной записи postgres на хосте.
  • Этот модуль использует psycopg2, адаптер базы данных Python PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля.
  • Если удалённый хост является сервером PostgreSQL (что является случаем по умолчанию), то PostgreSQL также должен быть установлен на удалённом хосте.
  • Для систем на основе Ubuntu установите пакеты postgresql, libpq-dev и python-psycopg2 на удалённом хосте перед использованием этого модуля.
  • Аутентификация по умолчанию предполагает, что вы вошли в систему как или выполнили sudo для учетной записи postgres на хосте.
  • Этот модуль использует psycopg2, адаптер базы данных Python PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля. Если удалённый хост является сервером PostgreSQL (что является случаем по умолчанию), то PostgreSQL также должен быть установлен на удалённом хосте. Для систем на основе Ubuntu установите пакеты postgresql, libpq-dev, и python-psycopg2 на удалённом хосте перед использованием этого модуля.
  • Параметр ca_cert требует как минимум версию Postgres 8.4 и psycopg2 версии 2.4.3.

Примеры

- name: Create btree index if not exists test_idx concurrently covering columns id and name of table products
  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
  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
  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
  postgresql_idx:
    idxname: gin0_idx
    table: test
    columns: comment gin_trgm_ops
    concurrent: no
    idxtype: gin

- name: Drop btree test_idx concurrently
  postgresql_idx:
    db: mydb
    idxname: test_idx
    state: absent

- name: Drop test_idx cascade
  postgresql_idx:
    db: mydb
    idxname: test_idx
    state: absent
    cascade: yes
    concurrent: no

- name: Create btree index test_idx concurrently on columns id,comment where column id > 1
  postgresql_idx:
    db: mydb
    table: test
    columns: id,comment
    idxname: test_idx
    cond: id > 1

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

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

Ключ Возвращаемое значение Описание
name
строка
всегда
Имя индекса.

Пример:
foo_idx
query
строка
всегда
Запрос, который пытались выполнить.

Пример:
CREATE INDEX CONCURRENTLY foo_idx ON test_table USING BTREE (id)
schema
строка
всегда
Схема, где существует индекс.

Пример:
public
state
строка
всегда
Состояние индекса.

Пример:
present
storage_params
список
всегда
Параметры хранения индекса.

Пример:
['fillfactor=90']
tablespace
строка
всегда
Файловая система, где существует индекс.

Пример:
ssd
valid
булево
всегда
Действительность индекса.

Пример:
True


Статус

  • Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Андрей Клычков (@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_idx_module.html

Spec-Zone.ru

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