UPSERT — INSERT, который при конфликте уникального ключа делает UPDATE вместо ошибки. В PostgreSQL: INSERT INTO users (email, name) VALUES ('a@b.com', 'Alice') ON CONFLICT (email) DO UPDATE SET name = EXCLUDED.name. EXCLUDED — специальная таблица со значениями, которые пытались вставить. ON CONFLICT можно по индексу или constraint. DO NOTHING — просто пропустить дубликат. Атомарная операция — нет race condition между "проверить и вставить". В Go с pgx: обычный Exec с этим SQL.
Что такое UPSERT в PostgreSQL?
Middle
624 просмотровAFK Offer AI
Как работать с timezone?