From: Bruce Momjian <pgman@candle.pha.pa.us>
To: D'Arcy J.M. Cain <darcy@druid.net>
Cc: pgsql-sql@postgresql.org
Subject: Re: SELECT FOR UPDATE locks whole table
Date: Fri, 6 Dec 2002 14:10:46 -0500 (EST)
Message-ID: <200212061910.gB6JAkY06339@candle.pha.pa.us> (raw)
In-Reply-To: <20021206190303.98BD31BA6@druid.net>
It should lock only the rows you retrieved, but I have no idea how FOR
UPDATE and INTO TEMP behave. My guess is that it should work fine, but
I have never seen those two used together before.
---------------------------------------------------------------------------
D'Arcy J.M. Cain wrote:
> We have the following query:
>
> SELECT certificate_id
> INTO TEMP TABLE x_certs
> FROM certificate
> WHERE cert_status = 0 AND
> certificate_id BETWEEN 1111 AND 2222 AND
> client_id IN (1, 2, 3)
> ORDER BY certificate_id
> FOR UPDATE;
>
> Is there any reason that this query should lock the entire certificate table?
> Is there something strange because of the IN clause or because it is going
> into a temporary table? This is a production server running 7.2.2 so perhaps
> it is fixed in 7.3.
>
> --
> D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves
> http://www.druid.net/darcy/ | and a sheep voting on
> +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: pgman@candle.pha.pa.us, darcy@druid.net
Subject: Re: SELECT FOR UPDATE locks whole table
In-Reply-To: <200212061910.gB6JAkY06339@candle.pha.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox