community.general.postgresql_sequence – Создание, удаление или изменение последовательности PostgreSQL
Примечание
Этот плагин входит в коллекцию community.general (версия 1.3.2).
Для его установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать его в книге задач, укажите: community.general.postgresql_sequence.
Описание
- Позволяет создавать, удалять или изменять определение генератора последовательности.
Требования
Ниже перечислены требования, необходимые на хосте, на котором будет выполняться этот модуль.
- psycopg2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ca_cert строка | Указывает имя файла, содержащего сертификаты SSL (сертификаты центра сертификации). Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров сертификации. Псевдонимы: 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 строка | Новая схема для sequence. Будет использоваться для перемещения sequence в другую схему. Работает только для существующих последовательностей. | |
| owner строка | Установить владельца для sequence. | |
| port целое число | По умолчанию: 5432 | Порт базы данных для подключения. Псевдонимы: login_port |
| rename_to строка | Новое имя для sequence. Работает только для существующих последовательностей. | |
| schema строка | По умолчанию: "public" | Схема sequence. Используется для создания и перемещения sequence в заданную схему. |
| sequence строка / обязательный | Имя последовательности. Псевдонимы: name | |
| 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. |
| trust_input логическое значение добавлено в 0.2.0 community.general |
| Если no, проверять, являются ли значения параметров sequence, schema, rename_to, owner, newschema, session_role потенциально опасными.Использовать no имеет смысл только в том случае, если возможны SQL-инъекции через параметры. |
Примечания
Примечание
- Если вы не передаете параметр 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.general.postgresql_table
-
Официальная документация по модулю community.general.postgresql_table.
- community.general.postgresql_owner
-
Официальная документация по модулю community.general.postgresql_owner.
- community.general.postgresql_privs
-
Официальная документация по модулю community.general.postgresql_privs.
- community.general.postgresql_tablespace
-
Официальная документация по модулю community.general.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.general.postgresql_sequence:
name: foobar
- name: Create an ascending integer sequence called foobar, starting at 101
community.general.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.general.postgresql_sequence:
name: foobar
increment: -1
cache: 10
start: 101
- name: Create an ascending sequence called foobar, which cycle between 1 to 10
community.general.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.general.postgresql_sequence:
name: foobar
owner: foobar
- name: Rename an existing sequence named foo to bar
community.general.postgresql_sequence:
name: foo
rename_to: bar
- name: Change the schema of an existing sequence to foobar
community.general.postgresql_sequence:
name: foobar
newschema: foobar
- name: Change the owner of an existing sequence to foobar
community.general.postgresql_sequence:
name: foobar
owner: foobar
- name: Drop a sequence called foobar
community.general.postgresql_sequence:
name: foobar
state: absent
- name: Drop a sequence called foobar with cascade
community.general.postgresql_sequence:
name: foobar
cascade: yes
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| cycle строка | всегда | Указывает, цикличен ли последовательность. Пример: NO |
| 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 строка | всегда | Состояние последовательности в конце выполнения. Пример: present |
Авторы
- Tobias Birkefeld (@tcraxs)
- Thomas O’Donnell (@andytom)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/postgresql_sequence_module.html