Несколько альтернатив для создания уникальных идентификаторов в PostgreSQL:
GENERATED-столбцы. habr.com Начиная с PostgreSQL 10, есть возможность объявления идентифицирующего столбца (GENERATED AS IDENTITY), соответствующего стандарту SQL:2003. habr.com В варианте GENERATED BY DEFAULT поведение эквивалентно serial, а с GENERATED ALWAYS — другое. habr.com
UUID. habr.com aristov.tech Тип UUID и функции генерации значений для него помогают создавать уникальные идентификаторы, особенно в распределённых системах, где отсутствует единая централизованная точка генерации идентификаторов. habr.com aristov.tech Для создания UUID в PostgreSQL можно использовать extension uuid-ossp или встроенную функцию genrandomuuid(). aristov.tech
OID. sky.pro Уникальные внутренние идентификаторы объектов базы данных PostgreSQL. sky.pro Преимущественно их применение ограничено системными каталогами, а в пользовательских таблицах их роль незначительна. sky.pro Со времени выхода PostgreSQL 8.1 по умолчанию OID не создаются в таблицах, но возможность их использования остаётся при явном указании. sky.pro
Скрытые системные поля tableoid/ctid. habr.com Они присутствуют в каждой записи и помогают, например, при операциях с таблицей без первичного ключа, а tableoid — для реализации определённых видов внешних ключей. habr.com
Примеры полезных ответов Поиска с Алисой на вопросы из разных сфер. Вопросы сгенерированы нейросетью YandexGPT для актуальных тем, которые определяются на базе обобщённых запросов к Поиску с Алисой.