postgresql_sequence – Создание, удаление или изменение последовательности PostgreSQL
Новая в версии 2.9.
Синопсис
- Позволяет создавать, удалять или изменять определение генератора последовательности.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- psycopg2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_cert строка | Указывает имя файла, содержащего сертификат(ы) авторитета сертификации SSL (CA). Если файл существует, сертификат сервера будет проверен на подпись одним из этих авторитетов. Псевдонимы: ssl_rootcert | |
| cache целое число | Параметр cache определяет, сколько номеров последовательности предварительно выделяется и хранится в памяти для более быстрого доступа. Минимальное значение равно 1 (может быть сгенерировано только одно значение за раз, т.е. кеш отсутствует), и это также значение по умолчанию. | |
| cascade логическое значение |
| Автоматически удаляет объекты, которые зависят от последовательности, а также все объекты, которые зависят от этих объектов. Игнорируется, если state=present. Используется только с state=absent. |
| cycle логическое значение |
| Опция cycle позволяет последовательности циклически повторяться, когда значение maxvalue или minvalue достигнуто восходящей или нисходящей последовательностью соответственно. Если предел достигнут, следующее сгенерированное число будет соответственно minvalue или maxvalue. Если false (БЕЗ ЦИКЛА) указано, любые вызовы nextval после того, как последовательность достигла своего максимального значения, вернут ошибку. False (БЕЗ ЦИКЛА) является значением по умолчанию. |
| data_type строка |
| Указывает тип данных последовательности. Допустимые типы — bigint, integer и smallint. bigint — значение по умолчанию. Тип данных определяет значения по умолчанию для минимального и максимального значений последовательности. Дополнительная информация в документации https://www.postgresql.org/docs/current/sql-createsequence.html. Поддерживается начиная с PostgreSQL 10. |
| db строка | Имя базы данных для подключения и выполнения запросов. Псевдонимы: database, login_db | |
| increment целое число | Параметр increment определяет, какое значение добавляется к текущему значению последовательности для создания нового значения. Положительное значение создаст восходящую последовательность, отрицательное — нисходящую. Значение по умолчанию равно 1. | |
| login_host строка | Хост, на котором работает база данных. | |
| login_password строка | Пароль для аутентификации. | |
| login_unix_socket строка | Путь к сокету Unix-домена для локальных подключений. | |
| login_user строка | По умолчанию: "postgres" | Имя пользователя для аутентификации. |
| maxvalue целое число | Maxvalue определяет максимальное значение для последовательности. Значение по умолчанию для восходящей последовательности — максимальное значение типа данных. Значение по умолчанию для нисходящей последовательности — -1. Псевдонимы: max | |
| minvalue целое число | Minvalue определяет минимальное значение, которое может сгенерировать последовательность. Значение по умолчанию для восходящей последовательности — 1. Значение по умолчанию для нисходящей последовательности — минимальное значение типа данных. Псевдонимы: min | |
| newschema строка | Новая схема для последовательности. Используется для перемещения последовательности в другую схему. Работает только для существующих последовательностей. | |
| owner строка | Установить владельца для последовательности. | |
| port целое число | По умолчанию: 5432 | Порт базы данных для подключения. Псевдонимы: login_port |
| rename_to строка | Новое имя для последовательности. Работает только для существующих последовательностей. | |
| schema строка | По умолчанию: "public" | Схема последовательности. Используется для создания и перемещения последовательности в указанную схему. |
| sequence строка / обязательно | Имя последовательности. Псевдонимы: имя | |
| session_role строка | Переключиться на session_role после подключения. Указанная session_role должна быть ролью, членом которой является текущий login_user. Проверка разрешений для команд SQL выполняется так, как будто session_role был тем, кто первоначально вошел в систему. | |
| ssl_mode строка |
| Определяет, будет ли или с какой приоритетностью устанавливаться защищённое SSL TCP/IP соединение с сервером. См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах. Значение по умолчанию prefer соответствует значению по умолчанию libpq. |
| start целое число | Параметр start позволяет начать последовательность с любого значения. Значение по умолчанию для восходящей последовательности — minvalue, для нисходящей — maxvalue. | |
| state строка |
| Состояние последовательности. Если state=absent, все остальные параметры будут проигнорированы, за исключением name и schema. |
Примечания
Примечание
- Если вы не передаёте параметр db, последовательность будет создана в базе данных с именем postgres.
- Аутентификация по умолчанию предполагает, что вы входите в систему или используете sudo для учетной записи
postgresна хосте. - Чтобы избежать ошибки «Ошибка проверки подлинности клиента для пользователя 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_table – Создание, удаление или изменение таблицы PostgreSQL
- Официальная документация по модулю postgresql_table.
- postgresql_owner – Изменение владельца объекта базы данных PostgreSQL
- Официальная документация по модулю postgresql_owner.
- postgresql_privs – Назначение или отмена прав доступа к объектам базы данных PostgreSQL
- Официальная документация по модулю postgresql_privs.
- postgresql_tablespace – Добавление или удаление пространств таблиц PostgreSQL с удаленных хостов
- Официальная документация по модулю postgresql_tablespace.
- Ссылка на CREATE SEQUENCE
- Полное руководство по команде CREATE SEQUENCE.
- Ссылка на ALTER SEQUENCE
- Полное руководство по команде ALTER SEQUENCE.
- Ссылка на DROP SEQUENCE
- Полное руководство по команде DROP SEQUENCE.
Примеры
- name: Create an ascending bigint sequence called foobar in the default
database
postgresql_sequence:
name: foobar
- name: Create an ascending integer sequence called foobar, starting at 101
postgresql_sequence:
name: foobar
data_type: integer
start: 101
- name: Create an descending sequence called foobar, starting at 101 and
preallocated 10 sequence numbers in cache
postgresql_sequence:
name: foobar
increment: -1
cache: 10
start: 101
- name: Create an ascending sequence called foobar, which cycle between 1 to 10
postgresql_sequence:
name: foobar
cycle: yes
min: 1
max: 10
- name: Create an ascending bigint sequence called foobar in the default
database with owner foobar
postgresql_sequence:
name: foobar
owner: foobar
- name: Rename an existing sequence named foo to bar
postgresql_sequence:
name: foo
rename_to: bar
- name: Change the schema of an existing sequence to foobar
postgresql_sequence:
name: foobar
newschema: foobar
- name: Change the owner of an existing sequence to foobar
postgresql_sequence:
name: foobar
owner: foobar
- name: Drop a sequence called foobar
postgresql_sequence:
name: foobar
state: absent
- name: Drop a sequence called foobar with cascade
postgresql_sequence:
name: foobar
cascade: yes
state: absent
Значения возврата
Общие значения возврата описаны здесь, а следующие являются специфичными для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| cycle строка | всегда | Показывает, цикличен ли последовательность. Пример: НЕТ |
| data_type строка | всегда | Отображает текущий тип данных последовательности. Пример: bigint |
| increment целое число | всегда | Значение приращения последовательности. Положительное значение создает возрастающую последовательность, отрицательное – убывающую. Пример: -1 |
| maxvalue целое число | всегда | Значение максимального значения последовательности. Пример: 9223372036854775807 |
| minvalue целое число | всегда | Значение минимального значения последовательности. Пример: 1 |
| newname строка | при успехе | Отображает новое имя последовательности после переименования. Пример: barfoo |
| newschema строка | при успехе | Отображает новую схему последовательности после изменения схемы. Пример: foobar |
| owner строка | всегда | Отображает текущего владельца последовательности после успешного выполнения задачи. Пример: postgres |
| queries строка | всегда | Список запросов, которые пытались выполнить. Пример: ['CREATE SEQUENCE "foo"'] |
| schema строка | всегда | Имя схемы последовательности Пример: foo |
| sequence строка | всегда | Имя последовательности. Пример: foobar |
| start целое число | всегда | Значение начала последовательности. Пример: 12 |
| state строка | всегда | Состояние последовательности по завершении выполнения. Пример: существует |
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Tobias Birkefeld (@tcraxs)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/postgresql_sequence_module.html