从角色postgres撤消数据库上的temp

时间:2018-03-23 18:43:56

标签: postgresql permissions temp-tables

我正在尝试在PostgreSQL中创建一个只读用户,我已经这样做了,唯一需要注意的是我的新只读用户能够创建临时表。怎么样??为什么?

我特意跑了:

CREATE ROLE read_access LOGIN;

REVOKE CREATE ON SCHEMA public FROM public;

GRANT USAGE ON SCHEMA {schema_name} TO read_access;

GRANT SELECT ON ALL TABLES IN SCHEMA {schema_name} TO read_access;

ALTER DEFAULT PRIVILEGES IN SCHEMA {schema_name}
   GRANT SELECT ON TABLES TO read_access;

1 个答案:

答案 0 :(得分:1)

您缺少一项权限:

REVOKE TEMPORARY ON DATABASE {dbname} FROM PUBLIC;

默认情况下,允许每个人自动所属的特殊角色PUBLIC创建临时表。