Вчера, седьмого января вышел новый стабильный релиз PostgreSQL 9.5. Он принёс с собой несколько важных изменений с которыми можно ознакомиться по ссылке.

Самым важным для меня является появление UPSERT. Вот уж чего не хватало простому программисткому народу.

Итак от к слов к делу


Код инсерта показан на примере таблицы users (uid, name).
Рабочий, готовый к копипасте код выглядит так:
insert into users (uid, name)
values (1987, 'Светлана')
on conflict (uid)
do update set (uid, name) = (1988, 'Елена')

А теперь небольшие пояснения: