Robins wrote:
Hi,

The documentation says that function blocks with exceptions are far
costlier than without one.
I recommend against using exceptions. There is a memory leak in the
exception handler that will cause headaches if it is called many times
in the transaction.

In plpgsql, I would use:

SELECT ... FOR UPDATE;
IF FOUND THEN
UPDATE ...;
ELSE
INSERT ...;
END IF;


If you have multiple transactions doing this process at the same time,
you'll need explicit locking of the table to avoid a race condition.

--
Benjamin Minshall <minshall@intellicon.biz>
Senior Developer -- Intellicon, Inc.
http://www.intellicon.biz

Search Discussions

Discussion Posts

Previous

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 2 of 2 | next ›
Discussion Overview
grouppgsql-performance @
categoriespostgresql
postedNov 2, '06 at 12:46p
activeNov 2, '06 at 11:51p
posts2
users2
websitepostgresql.org
irc#postgresql

2 users in discussion

Benjamin Minshall: 1 post Robins: 1 post

People

Translate

site design / logo © 2021 Grokbase