pgsql: Simplify permissions for LOCK TABLE.

From: Jeff Davis <jdavis(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Simplify permissions for LOCK TABLE.
Date: 2023-01-13 22:39:16
Message-ID: E1pGShf-003WBy-Ly@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Simplify permissions for LOCK TABLE.

The prior behavior was confusing and hard to document. For instance,
if you had UPDATE privileges, you could lock a table in any lock mode
except ACCESS SHARE mode.

Now, if granted a privilege to lock at a given mode, one also has
privileges to lock at a less-conflicting mode. MAINTAIN, UPDATE,
DELETE, and TRUNCATE privileges allow any lock mode. INSERT privileges
allow ROW EXCLUSIVE (or below). SELECT privileges allow ACCESS SHARE.

Reviewed-by: Nathan Bossart
Discussion: https://postgr.es/m/9550c76535404a83156252b25a11babb4792ea1e.camel%40j-davis.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c44f6334ca6ff6d242d9eb6742441bc4e1294067

Modified Files
--------------
doc/src/sgml/ref/lock.sgml | 25 ++++++------
src/backend/commands/lockcmds.c | 18 ++++-----
src/test/regress/expected/privileges.out | 66 ++++++++++++++------------------
src/test/regress/sql/privileges.sql | 61 ++++++++++++++---------------
4 files changed, 79 insertions(+), 91 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2023-01-13 23:08:27 pgsql: Clean up useless "skipping" messages for VACUUM/ANALYZE.
Previous Message Amit Kapila 2023-01-13 09:41:29 pgsql: Ignore dropped and generated columns from the column list.