From: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
---|---|
To: | Christophe Pettus <xof(at)thebuild(dot)com>, PostgreSQL General <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Can't remove default permissions entry |
Date: | 2020-05-28 06:47:53 |
Message-ID: | 0087809ce65d648b1394b1a21b920ac2b4ea7f88.camel@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Wed, 2020-05-27 at 10:06 -0700, Christophe Pettus wrote:
> On RDS (thus, no superuser) we are trying to drop a user. The only remaining item that the user owns is an "empty" default permissions entry, but we can't seem to get rid of it so that the user can
> be dropped:
>
> I'm sure I'm missing something obvious!
>
> Logged in as xyuser:
>
> db=> \ddp+
> Default access privileges
> Owner | Schema | Type | Access privileges
> ------------+---------------+----------+--------------------------
> xyuser | | table |
>
> db=> ALTER DEFAULT PRIVILEGES FOR USER xyuser REVOKE ALL ON TABLES FROM xyuser;
> ALTER DEFAULT PRIVILEGES
> db=> \ddp+
> Default access privileges
> Owner | Schema | Type | Access privileges
> ------------+---------------+----------+--------------------------
> xyuser | | table |
That's tricky one.
The answer must be that the empty entry is *not* a NULL (meaning default
privileges), but actually an empty entry, meaning nobody gets any privileges,
including the table owner.
The solution is to restore the default situation:
ALTER DEFAULT PRIVILEGES FOR ROLE xyuser GRANT ALL ON TABLES TO xyuser;
Then the offending entry should be gone.
It's probably too late to fix that, but in my opinion it was a BAD
design decision to use NULL to represent default privileges, at least
on display.
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com
From | Date | Subject | |
---|---|---|---|
Next Message | Zwettler Markus (OIZ) | 2020-05-28 07:59:17 | Linux Update Experience |
Previous Message | James Brauman | 2020-05-28 03:32:22 | Re: SELECT query results are different depending on whether table statistics are available. |