есть еще поле UUID которое хотелось бы автоматом генерить при создании строки.
Как я понимаю это решение дырявое, потому что UUID может повториться и вылетит ошибка, это можно как-то обойти по сторону постгреса или лучше на клиенте при повторении UUID повторить вставку?
CREATE TABLE foo (
id BIGSERIAL PRIMARY KEY NOT NULL,
uuid UUID NOT NULL UNIQUE DEFAULT md5(random()::text || clock_timestamp()::text)::uuid,
)
как вариант делать свой UUID-like id с привязкой по времени, но...возможно есть вещь проще
uuid по спекам есть 4 вида, соответственно 1 - это рандом с привязкой к машине и времени, 4 - это рандом (словить дубль это крайне маловероятно), 3 - md5, 5 - sha1
Обсуждают сегодня