Основные различия между типами данных SERIAL и SEQUENCE в PostgreSQL:
- SERIAL — это псевдотип, который при создании столбца автоматически создаёт объект последовательности и устанавливает следующее значение последовательности как значение по умолчанию для столбца. neon.tech pysql.tecladocode.com При удалении столбца или таблицы объект последовательности удаляется. neon.tech
- SEQUENCE — это генератор последовательности, который представляет собой таблицу с одной строкой (целое число, по умолчанию текущее значение последовательности начинается с 1). pysql.tecladocode.com Работа с последовательностью нетранзакционна, то есть не вызывает блокировок, но две параллельные транзакции заведомо получат разные значения. habr.com
Таким образом, SERIAL используется для создания столбца с автоматическим увеличением значения, а SEQUENCE — для генерации последовательности уникальных чисел. stackoverflow.com pysql.tecladocode.com