[pgsql-ru-general] INSERT ON CONFLICT RETURNING - Mailing list pgsql-ru-general

From Д.П.
Subject [pgsql-ru-general] INSERT ON CONFLICT RETURNING
Date
Msg-id 6d849576-34ea-797b-73ea-18a1a939e1d3@yandex.ru
Whole thread Raw
Responses Re: [pgsql-ru-general] INSERT ON CONFLICT RETURNING  (Михаил <m.nasedkin@gmail.com>)
Re: [pgsql-ru-general] INSERT ON CONFLICT RETURNING  ("Dmitry E. Oboukhov" <unera@debian.org>)
List pgsql-ru-general
И снова здравствуйте.

Как бы мне извернуться, и узнать какое-нибудь поле из конфликтной 
записи, которого не было во вставке?
То есть, грубо говоря
я вставляю новую запись в таблицу
# \d requests                                      Таблица "public.requests"    Столбец    |             Тип
|                    Модификаторы
 
---------------+-----------------------------+------------------------------------------------------- id            |
bigint                     | NOT NULL DEFAULT 
 
nextval('requests_id_seq'::regclass) middleware_id | character varying(1024)     |

Индексы:    "requests_pkey" PRIMARY KEY, btree (id)    "requests_middleware_id_index" UNIQUE, btree (middleware_id)

И вот такой командой оно мне, в случае конфликта middleware_id 
возвращает ровно ничего.
> insert into requests ( middleware_id ) values (1) on conflict do 
nothing returning id;
 id
----
(0 строк)

INSERT 0 0

А я хочу id записи, или все поля записи.

Или это невозможно и надо проверять результат и потом SELECT?

В общем если добавить какое-то поле типа access_counter и ON CONFLICT DO 
UPDATE SET access_counter = access_counter + 1
то, конечно, id вернётся, но планируется неплохая нагрузка на эту 
таблицу и не хочется добавлять.

//ДП



-- 
Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-ru-general

pgsql-ru-general by date:

Previous
From: "Dmitry E. Oboukhov"
Date:
Subject: [pgsql-ru-general] Re: SPAM (6.4) [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Next
From: Михаил
Date:
Subject: Re: [pgsql-ru-general] INSERT ON CONFLICT RETURNING