Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Зеркалирование
Управление ресурсами
Безопасность
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
Изменение определения генератора последовательности.
ALTER SEQUENCE [ IF EXISTS ] name [INCREMENT [ BY ] increment]
[MINVALUE minvalue | NO MINVALUE]
[MAXVALUE maxvalue | NO MAXVALUE]
[START [ WITH ] start ]
[RESTART [ [ WITH ] restart] ]
[CACHE cache] [[ NO ] CYCLE]
[OWNED BY {table.column | NONE}]
ALTER SEQUENCE [ IF EXISTS ] name OWNER TO new_owner
ALTER SEQUENCE [ IF EXISTS ] name RENAME TO new_name
ALTER SEQUENCE [ IF EXISTS ] name SET SCHEMA new_schema
ALTER SEQUENCE изменяет параметры существующего генератора последовательности. Все параметры, которые явно не заданы в команде ALTER SEQUENCE, сохраняют свои предыдущие значения.
Пользователь должен обладать правами на использование данной последовательности для выполнения команды ALTER SEQUENCE. Чтобы изменить схему последовательности, пользователь также должен иметь привилегию CREATE в новой схеме. Обратите внимание, что суперпользователи автоматически обладают всеми привилегиями.
Чтобы изменить владельца, пользователь должен быть прямым или косвенным членом новой роли, а сама новая роль должна иметь разрешение CREATE на схему последовательности (эти ограничения гарантируют, что смена владельца не позволит делать ничего такого, что нельзя сделать путём удаления и повторного создания последовательности). Однако суперпользователи могут изменять владельца любой последовательности.
name
IF EXISTS
Increment
minvalue
NO MINVALUE
maxvalue
NO MAXVALUE
start
restart
new_owner
cache
CYCLE
NO CYCLE
OWNED BY table.column
OWNED BY NONE
new_name
new_schema
Чтобы избежать блокировки параллельных транзакций, запрашивающих числа из одной и той же последовательности, изменения параметров генерации последовательности командой ALTER SEQUENCE никогда не откатываются. Эти изменения вступают в силу немедленно и являются необратимыми. Однако предложения OWNED BY, OWNER TO, RENAME TO и SET SCHEMA представляют собой обычные обновления каталога, которые можно откатить.
ALTER SEQUENCE не оказывает немедленного влияния на результаты nextval() в сессиях, где значения последовательности уже были предварительно выделены (с помощью кэширования), за исключением текущей сессии. Такие сессии будут использовать все закэшированные значения до тех пор, пока не заметят изменённые параметры генерации последовательности. Текущая сессия подвергается изменениям немедленно.
Для обеспечения обратной совместимости команду ALTER TABLE также можно использовать с последовательностями. Однако единственный допустимый вариант ALTER TABLE для последовательностей эквивалентен форме, описанной выше.
Перезапуск последовательности с именем serial со значения 105:
ALTER SEQUENCE serial RESTART WITH 105;
Команда ALTER SEQUENCE соответствует стандарту SQL, за исключением предложений START WITH, OWNED BY, OWNER TO, RENAME TO и SET SCHEMA, которые являются расширениями базы данных YMatrix.