Re: SELECT FOR UPDATE locks whole table - Mailing list pgsql-sql

From Bruce Momjian
Subject Re: SELECT FOR UPDATE locks whole table
Date
Msg-id 200212061910.gB6JAkY06339@candle.pha.pa.us
Whole thread Raw
In response to SELECT FOR UPDATE locks whole table  ("D'Arcy J.M. Cain" <darcy@druid.net>)
Responses Re: SELECT FOR UPDATE locks whole table  ("D'Arcy J.M. Cain" <darcy@druid.net>)
List pgsql-sql
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,
Pennsylvania19073
 


pgsql-sql by date:

Previous
From: "D'Arcy J.M. Cain"
Date:
Subject: SELECT FOR UPDATE locks whole table
Next
From: Cédric Dufour (public)
Date:
Subject: Re: Accent-insensitive