MXStat
MXStat
Введите текст для поиска
Расширенный поиск каналов
  • Вход на сайт
  • Каталог
    Каталог каналов Региональные подборки Поиск каналов
    Добавить канал
  • Рейтинги
    Рейтинг каналов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Max
Data Science. SQL hub

10 Jun, 02:42

Открыть в Max Поделиться

PostgreSQL 19 Beta 1 добавляет ON CONFLICT DO SELECT.

Выглядит как незначительно изменение, но для разработки это очень удобная штука: теперь можно атомарно сделать get-or-create.
То есть логика становится простой:

- вставить строку
- если такой ключ уже есть - не обновлять её
- просто вернуть существующую запись

Пример:
INSERT INTO users (email, name)
VALUES ('alice@example.com', 'Alice')
ON CONFLICT (email) DO SELECT
RETURNING *;
Раньше для такого случая часто приходилось городить обходные варианты через DO NOTHING, отдельный SELECT, CTE или искусственный DO UPDATE, который ничего по сути не меняет.

Теперь PostgreSQL закрывает один из самых частых кейсов в backend-разработке: безопасно создать запись или получить уже существующую без лишней гонки между запросами.

Простой синтаксис, большой плюс к читаемости.

350 8
Каталог
Каталог каналов Подборки каналов Поиск каналов Добавить канал
Рейтинги
Рейтинг каналов Max
Контакты
Написать в Max Написать в Telegram Написать на почту
Всякая всячина
Пользовательское соглашение Политика конфиденциальности
Наши каналы
MXStat в Telegram MXStat в Max
Наши боты
MXAuthBot MXAnalyticsBot
Made by TGStat