Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}

Поиск
Список
Период
Сортировка
Искать
От
Simon Riggs
Тема
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}
Дата
Msg-id
CA+U5nMK8VbiSoxw6YQ14XLvF1e9YMkj0m2FM2Gy_P-h8DjCwfw@mail.gmail.com
Ответ на
Список
Дерево обсуждения
INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andreas Karlsson <andreas@proxel.se>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andreas Karlsson <andreas@proxel.se>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Robert Haas <robertmhaas@gmail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Marti Raudsepp <marti@juffo.org>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Marti Raudsepp <marti@juffo.org>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Robert Haas <robertmhaas@gmail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Robert Haas <robertmhaas@gmail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Robert Haas <robertmhaas@gmail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Heikki Linnakangas <hlinnakangas@vmware.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andres Freund <andres@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Heikki Linnakangas <hlinnakangas@vmware.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andres Freund <andres@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Heikki Linnakangas <hlinnakangas@vmware.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andres Freund <andres@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Alvaro Herrera <alvherre@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andres Freund <andres@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Robert Haas <robertmhaas@gmail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andreas Karlsson <andreas@proxel.se>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Craig Ringer <craig@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Craig Ringer <craig@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Gavin Flower <GavinFlower@archidevsys.co.nz>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Craig Ringer <craig@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Craig Ringer <craig@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Gavin Flower <GavinFlower@archidevsys.co.nz>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Gavin Flower <GavinFlower@archidevsys.co.nz>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Craig Ringer <craig@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Heikki Linnakangas <hlinnakangas@vmware.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andres Freund <andres@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Kevin Grittner <kgrittn@ymail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Kevin Grittner <kgrittn@ymail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Kevin Grittner <kgrittn@ymail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andres Freund <andres@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Kevin Grittner <kgrittn@ymail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andres Freund <andres@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Kevin Grittner <kgrittn@ymail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Andres Freund <andres@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Craig Ringer <craig@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Kevin Grittner <kgrittn@ymail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Craig Ringer <craig@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Robert Haas <robertmhaas@gmail.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Simon Riggs <simon@2ndquadrant.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Gavin Flower <GavinFlower@archidevsys.co.nz>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} Peter Geoghegan <pg@heroku.com>
On 9 October 2014 07:27, Peter Geoghegan  wrote:

> Please be more specific.

Do not use CONFLICTING() which looks like it is a function.

Instead, use a row qualifier, such as NEW, OLD etc to reference values
from the incoming data
e.g. CONFLICTING.value rather than CONFLICTING(value)

Do not use the word CONFLICTING since it isn't clear whether you are
referring to the row in the table or the value in the incoming data. I
suggest the use of two separately named row qualifiers to allow us to
use either of those when desired. I don't have suggestions as to what
you should call those qualifiers, though Postgres already uses NEW and
OLD in similar circumstances in triggers. (This has nothing at all to
do with the MERGE command in the SQL standard, so please don't mention
that here.)

You may also wish to support the AS keyword, as MERGE does to make the
above even more clear.

e.g. SET col = EXISTING.col + NEW.col

Thank you.

-- Simon Riggs                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services


В списке pgsql-hackers по дате отправления
От: Heikki Linnakangas
Дата:
От: Michael Paquier
Дата:
FAQ