Re: Locking vs. Exceptions - Mailing list pgsql-performance

From Benjamin Minshall
Subject Re: Locking vs. Exceptions
Date
Msg-id 454A7C9B.40207@intellicon.biz
Whole thread Raw
In response to Locking vs. Exceptions  (Robins <tharakan@gmail.com>)
List pgsql-performance
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

pgsql-performance by date:

Previous
From: Vivek Khera
Date:
Subject: Re: VACUUMs take twice as long across all nodes
Next
From: Arjen van der Meijden
Date:
Subject: Re: Query plan for "heavy" SELECT with "lite" sub-SELECTs