UUID в PostgreSQL: уникальный идентификатор

UUID (Universally Unique Identifier) — это универсальный уникальный идентификатор, используемый в PostgreSQL. UUID представляет собой строку из 32 шестнадцатеричных цифр, гарантируя уникальность идентификаторов.

Использование UUID в таблицах

Создание таблицы с UUID в качестве первичного ключа (с автоматической генерацией значений):

CREATE TABLE users (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    username VARCHAR(50) NOT NULL
);

Также можно создавать таблицы без автоматической генерации UUID:

CREATE TABLE products (
    id UUID PRIMARY KEY,
    product_name VARCHAR(100)
);

В этом случае UUID указывается явно при вставке:

INSERT INTO products (id, product_name)
VALUES ('550e8400-e29b-41d4-a716-446655440000', 'Laptop');

Генерация UUID вручную

Для генерации случайного UUID используется встроенная функция:

SELECT gen_random_uuid();

Применение UUID в запросах

Пример поиска по UUID:

SELECT * FROM users WHERE id = '550e8400-e29b-41d4-a716-446655440000';

Использование UUID упрощает работу с уникальными идентификаторами и идеально подходит для приложений, которым необходима глобальная уникальность данных, например, распределённых систем или проектов с высоким уровнем сложности.