community.postgresql.postgresql_sequence – Создание, удаление или изменение последовательности PostgreSQL
Примечание
Этот плагин входит в состав коллекции community.postgresql (версия 1.1.1).
Для его установки используйте: ansible-galaxy collection install community.postgresql.
Для использования в книге задач укажите: community.postgresql.postgresql_sequence.
Описание
- Позволяет создавать, удалять или изменять определение генератора последовательности.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- psycopg2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_cert строка | Указывает имя файла, содержащего сертификат(ы) центра сертификации (CA) SSL. Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров. алиасы: ssl_rootcert | |
| cache целое число | Параметр cache указывает, сколько номеров последовательности должно быть предварительно распределено и сохранено в памяти для более быстрого доступа. Минимальное значение равно 1 (может быть сгенерировано только одно значение за раз, т. е. кеширование отключено), и это также значение по умолчанию. | |
| cascade булево |
| Автоматически удаляет объекты, зависящие от последовательности, а также все объекты, зависящие от этих объектов. Игнорируется, если state=present. Используется только при state=absent. |
| cycle булево |
| Параметр cycle позволяет последовательности циклически повторяться, когда maxvalue или minvalue достигнуты соответственно в возрастающей или убывающей последовательности. Если false (БЕЗ ЦИКЛА) указано, любые вызовы nextval после того, как последовательность достигла максимального значения, вернут ошибку. По умолчанию значение ложь (БЕЗ ЦИКЛА). |
| 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 строка / обязательно | Имя последовательности. алиасы: name | |
| session_role строка | Переключается на роль сеанса после подключения. Указанная роль сеанса должна быть ролью, членом которой является текущий login_user. Проверка разрешений для SQL-команд выполняется так, как будто роль сеанса была той, которая первоначально вошла в систему. | |
| 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. |
| trust_input булево добавлено в 0.2.0 версии community.postgresql |
| Если no, проверяется, являются ли значения параметров sequence, schema, rename_to, owner, newschema, session_role потенциально опасными.Использование no имеет смысл только тогда, когда возможны SQL-инъекции через параметры. |
Примечания
Примечание
- Поддерживает
check_mode. - Если параметр 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.
См. также
См. также
- community.postgresql.postgresql_table
-
Официальная документация по модулю community.postgresql.postgresql_table.
- community.postgresql.postgresql_owner
-
Официальная документация по модулю community.postgresql.postgresql_owner.
- community.postgresql.postgresql_privs
-
Официальная документация по модулю community.postgresql.postgresql_privs.
- community.postgresql.postgresql_tablespace
-
Официальная документация по модулю community.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
community.postgresql.postgresql_sequence:
name: foobar
- name: Create an ascending integer sequence called foobar, starting at 101
community.postgresql.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
community.postgresql.postgresql_sequence:
name: foobar
increment: -1
cache: 10
start: 101
- name: Create an ascending sequence called foobar, which cycle between 1 to 10
community.postgresql.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
community.postgresql.postgresql_sequence:
name: foobar
owner: foobar
- name: Rename an existing sequence named foo to bar
community.postgresql.postgresql_sequence:
name: foo
rename_to: bar
- name: Change the schema of an existing sequence to foobar
community.postgresql.postgresql_sequence:
name: foobar
newschema: foobar
- name: Change the owner of an existing sequence to foobar
community.postgresql.postgresql_sequence:
name: foobar
owner: foobar
- name: Drop a sequence called foobar
community.postgresql.postgresql_sequence:
name: foobar
state: absent
- name: Drop a sequence called foobar with cascade
community.postgresql.postgresql_sequence:
name: foobar
cascade: yes
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие — уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| cycle строка | всегда | Показывает, цикличен ли последовательность. Пример: НЕТ |
| data_type строка | всегда | Показывает текущий тип данных последовательности. Пример: bigint |
| increment целое число | всегда | Значение приращения последовательности. Положительное значение создаст возрастающую последовательность, отрицательное — убывающую. Пример: -1 |
| maxvalue целое число | всегда | Значение maxvalue последовательности. Пример: 9223372036854775807 |
| minvalue целое число | всегда | Значение minvalue последовательности. Пример: 1 |
| newname строка | при успехе | Показывает новое имя последовательности после переименования. Пример: barfoo |
| newschema строка | при успехе | Показывает новую схему последовательности после изменения схемы. Пример: foobar |
| owner строка | всегда | Показывает текущего владельца последовательности после успешного выполнения задачи. Пример: postgres |
| queries строка | всегда | Список запросов, которые пытались выполнить. Пример: ['CREATE SEQUENCE "foo"'] |
| schema строка | всегда | Имя схемы последовательности. Пример: foo |
| sequence строка | всегда | Имя последовательности. Пример: foobar |
| start целое число | всегда | Значение начала последовательности. Пример: 12 |
| state строка | всегда | Состояние последовательности в конце выполнения. Пример: present |
Авторы
- Tobias Birkefeld (@tcraxs)
- Thomas O’Donnell (@andytom)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/postgresql/postgresql_sequence_module.html