Зависит от задачиPostgreSQLSQL

Идентификаторы: UUID и bigint

UUID удобен для независимого создания записей и публичных идентификаторов. Имя поля и его тип — разные решения.

Проверено Изменено

Плохо

CREATE TABLE orders (
  order_id bigint PRIMARY KEY
);
-- Два независимых сервиса выдали order_id = 42.

Хорошо

CREATE TABLE orders (
  order_id uuid PRIMARY KEY DEFAULT uuidv7()
);
-- PostgreSQL 18: генерация без общего счётчика.

Почему это важно

UUID уменьшает зависимость от единого генератора. Он не заменяет проверку доступа; UUIDv7 раскрывает временную составляющую.

Когда применять

Числовой identity допустим в централизованной БД. UUIDv7 есть в PostgreSQL 18; UUIDv4 через gen_random_uuid() подходит там, где v7 недоступен.

Кто что делает

Человек

Выбирает требования к публичности, генерации и совместимости идентификаторов.

AI-агент

Готовит схему или миграцию, проверяет граничные значения и совместимость с текущими запросами.

Контроль результата:

  • Где создаётся идентификатор? Нужен ли единый счётчик? Проверяется ли доступ независимо от UUID?

Как проверить у себя

  • Где создаётся идентификатор? Нужен ли единый счётчик? Проверяется ли доступ независимо от UUID?
ПервоисточникиИстория изменений на GitHub

Дата проверки отражает содержательную сверку. Синхронизация сайта не обновляет её автоматически.