Search Postgresql Archives

Re: Lock Modes (Documentation)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thomas F. O'Connell wrote:
> I thought about posting to pgsql-docs, but since this might require  
> comment from developers, I thought -general might be a better  
> starting point.
> 
> Anyway, I've occasionally run into monitoring situations where it  
> would be immediately helpful to know the built-in SQL statements that  
> generate given table-lock modes.
> 
> For instance, doesn't UPDATE implicitly mean that an ACCESS SHARE  
> lock will be taken if there are foreign keys involved (at least in  
> versions prior to 8.1)? Are there any other scenarios where a given  
> SQL command might take a lock of one of these forms as a result of  
> what it does under the hood? Maybe UPDATE is the only one since it's  
> implicitly a SELECT, DELETE, and INSERT all rolled into one.
> 
> I'd love to see 12.3 <http://www.postgresql.org/docs/8.0/static/ 
> explicit-locking.html> document this more thoroughly, but I don't  
> know enough about the underlying locking requirements of each step of  
> each SQL command to know when locks might implicitly be acquired.  
> Even if UPDATE is the only special case, it seems like it'd be worth  
> mentioning.

Actually, pre-8.1 used ROW EXCLUSIVE for foreign keys because we didn't
have ROW SHARE until 8.1.  I actually can't find out how we are doing
that in the code, however.  Analyzing the code is probably the only way
to get this detailed lock information.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@xxxxxxxxxxxxxxxx               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your
       message can get through to the mailing list cleanly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux