| From: | Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru> |
|---|---|
| To: | immerrr again <immerrr(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org |
| Subject: | Re: DROP ROLE blocked by pg_init_privs |
| Date: | 2025-11-25 22:49:15 |
| Message-ID: | ca3fe7b5-2399-4537-bba4-cd000907bda7@postgrespro.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Hi
On 24.11.2025 18:59, immerrr again wrote:
> First time trying to configure a PG cluster by the book, I want to create a
> role with read permissions on all current and future tables in the current
> db. It looks smth like this
>
> CREATE ROLE test_role;
> GRANT SELECT ON ALL TABLES IN SCHEMA public TO test_role;
> ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO test_role;
>
> I've been trying out different scenarios for the future, and currently having
> a problem when trying to remove "test_role" after adding an extension.
Hm, I have checked your example, it works as expected:
postgres(at)postgres(16.9)=# CREATE ROLE test_role;
CREATE ROLE
postgres(at)postgres(16.9)=# GRANT SELECT ON ALL TABLES IN SCHEMA public TO
test_role;
GRANT
postgres(at)postgres(16.9)=# ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT ON TABLES TO test_role;
ALTER DEFAULT PRIVILEGES
postgres(at)postgres(16.9)=# CREATE EXTENSION pg_stat_statements;
CREATE EXTENSION
postgres(at)postgres(16.9)=# REVOKE SELECT ON ALL TABLES IN SCHEMA public
FROM test_role;
REVOKE
postgres(at)postgres(16.9)=# ALTER DEFAULT PRIVILEGES IN SCHEMA public
REVOKE SELECT ON TABLES FROM test_role;
ALTER DEFAULT PRIVILEGES
postgres(at)postgres(16.9)=# DROP ROLE test_role;
DROP ROLE
postgres(at)postgres(16.9)=# DROP EXTENSION pg_stat_statements;
DROP EXTENSION
In any case, since v14 you can use the predefined role pg_read_all_data.
--
Pavel Luzanov
Postgres Professional:https://postgrespro.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | immerrr again | 2025-11-25 23:00:02 | Re: DROP ROLE blocked by pg_init_privs |
| Previous Message | Adrian Klaver | 2025-11-25 22:13:46 | Re: Restore Windows dump to Linux (locale issue) |