]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Revert "Avoid race condition between "GRANT role" and "DROP ROLE"".
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Sep 2025 17:05:53 +0000 (13:05 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Sep 2025 17:05:53 +0000 (13:05 -0400)
commitcc7053a5fe08883801057faa70101dcf99f0d071
tree3894b92f9a9af7f5196f80282399962b58fbdb00
parent4ad846445dd0a1596ca7bfeb5b2ea93f6d7a751d
Revert "Avoid race condition between "GRANT role" and "DROP ROLE"".

This reverts commit 98fc31d6499163a0a781aa6f13582a07f09cd7c6.
That change allowed DROP OWNED BY to drop grants of the target
role to other roles, arguing that nobody would need those
privileges anymore.  But that's not so: if you're not superuser,
you still need admin privilege on the target role so you can
drop it.

It's not clear whether or how the dependency-based approach
to solving the original problem can be adapted to keep these
grants.  Since v18 release is fast approaching, the sanest
thing to do seems to be to revert this patch for now.  The
race-condition problem is low severity and not worth taking
risks for.

I didn't force a catversion bump in 98fc31d64, so I won't do
so here either.

Reported-by: Dipesh Dhameliya <dipeshdhameliya125@gmail.com>
Author: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/CABgZEgczOFicCJoqtrH9gbYMe_BV3Hq8zzCBRcMgmU6LRsihUA@mail.gmail.com
Backpatch-through: 18
doc/src/sgml/ref/drop_owned.sgml
src/backend/commands/user.c
src/test/regress/expected/privileges.out
src/test/regress/sql/privileges.sql