serial в PostgreSQL создаёт integer-колонку с default nextval от последовательности и NOT NULL. Уникальность и PRIMARY KEY автоматически не добавляются.
Ты везде сделал id serial. Что это значит?
serial в PostgreSQL создаёт integer-колонку с default nextval от последовательности и NOT NULL. Уникальность и PRIMARY KEY автоматически не добавляются.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
serial в PostgreSQL создаёт integer-колонку с default nextval от последовательности и NOT NULL. Уникальность и PRIMARY KEY автоматически не добавляются.
Значение генерируется при вставке без явно заданного id. Последовательность может иметь пропуски, например после отката транзакции, поэтому serial не подходит для требования непрерывной нумерации. Для уникального ключа нужно отдельное ограничение. Современная альтернатива — GENERATED AS IDENTITY, но и для неё требование уникальности задаётся явно.
Источник: www.postgresql.org.