SEQUENCE в PostgreSQL: последовательности

SEQUENCE в PostgreSQL используется для генерации уникальных последовательных чисел. Чаще всего применяется для автоинкрементных значений в таблицах.

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

Создание новой последовательности с начальным значением 1 и шагом 1:

CREATE SEQUENCE example_seq START 1 INCREMENT 1;

Получение следующего значения

Для получения следующего значения в последовательности используется NEXTVAL:

SELECT NEXTVAL('example_seq');

Использование SEQUENCE в таблицах

Часто SEQUENCE применяется для автоинкрементных полей. Пример создания таблицы с использованием последовательности:

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name TEXT
);

Альтернативный способ с явным указанием SEQUENCE:

CREATE TABLE users (
    id INTEGER DEFAULT NEXTVAL('example_seq') PRIMARY KEY,
    name TEXT
);

Установка текущего значения

Установка определенного значения в последовательности выполняется через SETVAL:

SELECT SETVAL('example_seq', 100);

Получение текущего значения

Текущее значение последовательности можно получить с помощью CURRVAL:

SELECT CURRVAL('example_seq');

Удаление последовательности

Удаление созданной последовательности выполняется командой:

DROP SEQUENCE example_seq;