On Wed, Jun 29, 2011 at 7:48 AM, Florian Weimer <fweimer@bfk.de> wrote:
> I've been looking around in the 9.0 documentation, but couldn't find the
> permission requirements for LOCK TABLE (in particular, LOCK TABLE IN
> SHARE MODE). From the source, you need at least one of UPDATE, DELETE
> or TRUNCATE.
>
> Is there a reason why the INSERT privilege is not sufficient for LOCK
> TABLE, or is this just an oversight?
The comments on this thread outline some reasons the permissions for
LOCK TABLE are setup the way they are:
http://archives.postgresql.org/pgsql-hackers/2010-11/msg01819.php
Basically, if you have UPDATE, DELETE, or TRUNCATE privileges you can
potentially lock out competing sessions on a table, similar to what
some forms of LOCK TABLE would do; just having INSERT privileges
doesn't necessarily give you that power.
Josh