Re: Use ctid in where clause in update from statement

Поиск
Список
Период
Сортировка
От Dirk Mika
Тема Re: Use ctid in where clause in update from statement
Дата
Msg-id 428A47B1-DBC5-47D6-B361-C142B2534756@mikatiming.de
обсуждение исходный текст
Ответ на Re: Use ctid in where clause in update from statement  (Achilleas Mantzios <achill@matrix.gatewaynet.com>)
Ответы Re: Use ctid in where clause in update from statement  (Thomas Kellerer <spam_eater@gmx.net>)
Список pgsql-general

Hi,

 

The problem with the INSERT ON CONFLICT is that an insert is tried here first, which may fire triggers.

In my case there is a fairly expensive INSERT Trigger ON EACH ROW, which I would like to avoid.

 

Since the SELECT statement only returns records whose PK already exists, I thought an UPDATE FROM would be the better choice.

As I said, with the PK as JOIN condition it works fine too. I'm only interested in why no tid scan is used.

 

Dirk

 

--
Dirk Mika
Software Developer



mika:timing GmbH
Strundepark - Kürtener Str. 11b
51465 Bergisch Gladbach
Germany

fon +49 2202 2401-1197
dirk.mika@mikatiming.de
www.mikatiming.de

AG Köln HRB 47509 * WEEE-Reg.-Nr. DE 90029884
Geschäftsführer: Harald Mika, Jörg Mika


 

Von: Achilleas Mantzios <achill@matrix.gatewaynet.com>
Datum: Montag, 1. Juli 2019 um 11:27
An: "pgsql-general@lists.postgresql.org" <pgsql-general@lists.postgresql.org>
Betreff: Re: Use ctid in where clause in update from statement

 

On 1/7/19 12:13 μ.μ., Dirk Mika wrote:

Hello,

 

I come from the Oracle world and am trying to convert some queries to PostgreSQL syntax. One of these queries is a MERGE statement, which I converted into an UPDATE SET FROM WHERE construct. In the original query I use the pseudo column ROWID to match a source row with a target row.

This is a simplified version of such a query:

 

Postgresql supports upserts : https://www.postgresql.org/docs/11/sql-insert.html "ON CONFLICT"


 

BR

Dirk

 

--
Dirk Mika
Software Developer

cid:part1.679C32D5.E7787ACA@matrix.gatewaynet.com

mika:timing GmbH

Strundepark - Kürtener Str. 11b
51465 Bergisch Gladbach
Germany

fon +49 2202 2401-1197
dirk.mika@mikatiming.de
www.mikatiming.de

AG Köln HRB 47509 * WEEE-Reg.-Nr. DE 90029884
Geschäftsführer: Harald Mika, Jörg Mika

 

cid:part2.E58C80B6.31D80ADB@matrix.gatewaynet.com


 




-- 
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt
Вложения

В списке pgsql-general по дате отправления:

Предыдущее
От: Dirk Mika
Дата:
Сообщение: Re: Use ctid in where clause in update from statement
Следующее
От: Thomas Kellerer
Дата:
Сообщение: Re: Use ctid in where clause in update from statement