Re: Clarification on Role Access Rights to Table Indexes
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jeff Davis <pgsql@j-davis.com>
Cc: Nathan Bossart <nathandbossart@gmail.com>,
Ayush Vatsa <ayushvatsa1810@gmail.com>,
Robert Haas <robertmhaas@gmail.com>,
"David G. Johnston" <david.g.johnston@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-10-13T21:21:07Z
Lists: pgsql-hackers, pgsql-general
Jeff Davis <pgsql@j-davis.com> writes: > On Wed, 2025-09-24 at 12:13 -0400, Tom Lane wrote: >> Don't we do that intentionally, to make sure someone can't cause DOS >> on a table they have no privileges on? > Is this only a problem for strong locks (ShareLock or greater)? > Strong locks are a problem when you have a pattern like a long running > query that holds an AccessShareLock, and then an unprivileged user > requests an AccessExclusiveLock, forcing other queries to queue up > behind it, and the queue doesn't clear until the long running query > finishes. > But weaker locks don't seem to have that problem, right? I don't think so. Even AccessShareLock is enough to block another session trying to acquire AccessExclusiveLock, and then not only have you DoS'd that session, but everything else trying to access the table will queue up behind the AccessExclusiveLock request. So it's only not-a-problem if nothing anywhere in the system wants non-sharable locks. regards, tom lane
Commits
-
Fix privilege checks for pg_prewarm() on indexes.
- fae0ce5e318e 16.11 landed
- f146eb45cb1a 14.20 landed
- a0551bc5734b 17.7 landed
- 6c03ae8d6e81 15.15 landed
- 3ccf8e9ac96e 18.1 landed
- 208927e65692 19 (unreleased) landed
- 19a64f5676bb 13.23 landed
-
Fix lookup code for REINDEX INDEX.
- 079480dc2022 19 (unreleased) landed
-
Fix redefinition of typedef RangeVar.
- 15d7dded0e93 18.1 landed
-
Fix lookups in pg_{clear,restore}_{attribute,relation}_stats().
- c8af5019bee5 18.1 landed
- 688dc6299a5b 19 (unreleased) landed
-
dblink: Avoid locking relation before privilege check.
- c9b299f6df98 19 (unreleased) landed