Spec-Zone.ru › Ansible

Модуль community.postgresql.postgresql_sequence — создание, удаление или изменение последовательности PostgreSQL

Примечание

Этот модуль входит в коллекцию community.postgresql (версия 4.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.postgresql. Для работы с этим модулем требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.postgresql.postgresql_sequence.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Позволяет создавать, удалять или изменять определение генератора последовательности.

Требования

Следующие компоненты должны быть установлены на узле, на котором выполняется этот модуль.

  • psycopg2 >= 2.5.1

Параметры

Параметр

Комментарии

ca_cert

псевдонимы: ssl_rootcert

строка

Указывает имя файла, содержащего сертификат (сертификаты) центра сертификации (CA) SSL.

Если файл существует, будет проверено, что сертификат сервера подписан одним из этих центров.

cache

целое число

Параметр cache задаёт, сколько номеров последовательности предварительно выделяется и хранится в памяти для ускорения доступа. Минимальное значение — 1 (за один раз можно сгенерировать только одно значение, то есть кэш не используется); это также значение по умолчанию.

cascade

логическое значение

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

Игнорируется, если state=present.

Используется только с state=absent.

Варианты:

  • false ← (по умолчанию)
  • true

connect_params

словарь

добавлено в community.postgresql 2.3.0

Любые дополнительные параметры, передаваемые в libpg.

Эти параметры имеют приоритет.

По умолчанию: {}

cycle

логическое значение

Параметр cycle позволяет последовательности начинаться заново при достижении maxvalue или minvalue соответственно возрастающей или убывающей последовательностью. При достижении предельного значения следующим сгенерированным числом будет соответственно minvalue или maxvalue.

Если указано false (NO CYCLE), любой вызов nextval после достижения последовательностью максимального значения вернёт ошибку. Значение False (NO CYCLE) используется по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

data_type

строка

Указывает тип данных последовательности. Допустимые типы: bigint, integer и smallint. По умолчанию используется bigint. Тип данных определяет значения минимума и максимума последовательности по умолчанию. Подробнее см. в документации: https://www.postgresql.org/docs/current/sql-createsequence.html.

Поддерживается начиная с PostgreSQL 10.

Варианты:

  • "bigint"
  • "integer"
  • "smallint"

increment

целое число

Параметр increment задаёт значение, которое прибавляется к текущему значению последовательности для получения нового.

Положительное значение создаёт возрастающую последовательность, отрицательное — убывающую. Значение по умолчанию — 1.

login_db

псевдонимы: database, db

строка

Имя базы данных, к которой нужно подключиться и выполнить запросы.

Псевдонимы db и database устарели и будут удалены в версии 5.0.0.

По умолчанию: ""

login_host

псевдоним: host

строка

Узел, на котором запущена база данных.

Если при использовании localhost возникают проблемы с подключением, попробуйте вместо этого использовать 127.0.0.1.

По умолчанию: ""

login_password

строка

Пароль, который модуль должен использовать для установки сеанса PostgreSQL.

По умолчанию: ""

login_port

псевдоним: port

целое число

Порт базы данных для подключения.

Псевдоним port устарел и будет удалён в следующем основном выпуске. Вместо него используйте login_port.

По умолчанию: 5432

login_unix_socket

псевдоним: unix_socket

строка

Путь к сокету домена Unix для локальных подключений.

По умолчанию: ""

login_user

псевдоним: login

строка

Имя пользователя, которое модуль должен использовать для установки сеанса PostgreSQL.

По умолчанию: "postgres"

maxvalue

псевдоним: max

целое число

Параметр maxvalue задаёт максимальное значение последовательности. По умолчанию для возрастающей последовательности используется максимальное значение типа данных. Для убывающей последовательности по умолчанию используется -1.

minvalue

псевдоним: min

целое число

Параметр minvalue задаёт минимальное значение, которое может генерировать последовательность. По умолчанию для возрастающей последовательности используется 1. Для убывающей последовательности по умолчанию используется минимальное значение типа данных.

newschema

строка

Новая схема для sequence. Используется для перемещения sequence в другую schema.

Работает только для существующих последовательностей.

owner

строка

Задать владельца для sequence.

rename_to

строка

УСТАРЕЛО (см. обсуждение). Этот параметр будет удалён в версии 5.0.0. Чтобы переименовать последовательность, используйте модуль community.postgresql.postgresql_query.

Новое имя для sequence.

Работает только для существующих последовательностей.

schema

строка

Схема для sequence. Используется для создания и перемещения sequence в указанную схему.

По умолчанию: "public"

sequence

псевдоним: name

строка / обязательный

Имя последовательности.

session_role

строка

Переключиться на session_role после подключения. Указанный session_role должен быть ролью, участником которой является текущий login_user.

Проверка разрешений для команд SQL выполняется так, как если бы изначально вход был выполнен от имени session_role.

ssl_cert

путь

добавлено в community.postgresql 2.4.0

Указывает имя файла клиентского сертификата SSL.

ssl_key

путь

добавлено в community.postgresql 2.4.0

Указывает расположение секретного ключа, используемого для клиентского сертификата.

ssl_mode

строка

Определяет, будет ли устанавливаться защищённое SSL-соединение TCP/IP с сервером и, если да, с каким приоритетом.

Подробнее о режимах см. на странице https://www.postgresql.org/docs/current/static/libpq-ssl.html.

Значение по умолчанию prefer соответствует значению libpq по умолчанию.

Варианты:

  • "allow"
  • "disable"
  • "prefer" ← (по умолчанию)
  • "require"
  • "verify-ca"
  • "verify-full"

start

целое число

Параметр start позволяет начать последовательность с любого значения. Начальное значение по умолчанию для возрастающих последовательностей — minvalue, а для убывающих — maxvalue.

state

строка

Состояние последовательности.

Если state=absent, остальные параметры будут проигнорированы, за исключением name и schema.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

trust_input

логическое значение

добавлено в community.postgresql 0.2.0

Если false, проверяет, не являются ли значения параметров sequence, schema, rename_to, owner, newschema, session_role потенциально опасными.

Использовать false имеет смысл только в том случае, если возможны SQL-инъекции через параметры.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой узел.

Примечания

Примечание

  • Если не указать параметр db, последовательность будет создана в базе данных с именем postgres.
  • По умолчанию предполагается, что вы входите в систему как учётная запись postgres на узле или переключаетесь на неё с помощью sudo.
  • Чтобы избежать ошибки «Peer authentication failed for user 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_owner

Изменение владельца объекта базы данных PostgreSQL.

community.postgresql.postgresql_privs

Выдача или отзыв привилегий для объектов базы данных PostgreSQL.

community.postgresql.postgresql_tablespace

Добавление или удаление табличных пространств PostgreSQL на удалённых узлах.

Справочник 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: true
    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: 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: true
    state: absent

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

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

Ключ

Описание

cycle

boolean

Показывает, зациклена ли последовательность.

Возвращается: при успешном выполнении

Пример: false

data_type

string

Показывает текущий тип данных последовательности.

Возвращается: при успешном выполнении

Пример: "bigint"

increment

integer

Значение шага последовательности. Положительное значение задаёт возрастающую последовательность, отрицательное — убывающую.

Возвращается: при успешном выполнении

Пример: -1

maxvalue

integer

Значение maxvalue последовательности.

Возвращается: при успешном выполнении

Пример: 9223372036854775807

minvalue

integer

Значение minvalue последовательности.

Возвращается: при успешном выполнении

Пример: 1

newname

string

Показывает новое имя последовательности после переименования.

Возвращается: при успешном выполнении

Пример: "barfoo"

newschema

string

Показывает новую схему последовательности после изменения схемы.

Возвращается: при успешном выполнении

Пример: "foobar"

owner

string

Показывает текущего владельца последовательности после успешного выполнения задачи.

Возвращается: при успешном выполнении

Пример: "postgres"

queries

string

Список запросов, которые пытались выполнить.

Возвращается: при успешном выполнении

Пример: "['CREATE SEQUENCE \"foo\"']"

schema

string

Имя схемы последовательности.

Возвращается: при успешном выполнении

Пример: "foo"

sequence

string

Имя последовательности.

Возвращается: при успешном выполнении

Пример: "foobar"

start

integer

Начальное значение последовательности.

Возвращается: при успешном выполнении

Пример: 12

state

string

Состояние последовательности по завершении выполнения.

Возвращается: при успешном выполнении

Пример: "present"

Авторы

  • Tobias Birkefeld (@tcraxs)
  • Thomas O’Donnell (@andytom)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Сообщить о проблеме
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/postgresql/postgresql_sequence_module.html

Spec-Zone.ru

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