Postgresql readonly角色和用户

时间:2018-02-07 12:31:31

标签: postgresql access readonly

我找不到这个问题的答案:为什么在授予权限后从表中选择失败?

-- create new role
CREATE ROLE readonly;

-- grant access to all existing tables
GRANT CONNECT ON DATABASE shop TO readonly;
GRANT USAGE ON SCHEMA public TO readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly;
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO readonly;

-- grant access to all table which will be created in the future
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON SEQUENCES TO readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT EXECUTE ON FUNCTIONS TO readonly;

-- create user and grant role to this user
CREATE USER b_readonly WITH PASSWORD 'reAdOnLy123';
GRANT readonly TO b_readonly;

来自db的错误消息如下:

  

错误:关系customer_search_query SQL的权限被拒绝   州:42501

Postgresql 9.6.5中有一些新技巧吗?

最佳

1 个答案:

答案 0 :(得分:0)

您查询的表customer_search_query可能不在公共架构中。尝试运行此命令。

GRANT SELECT ON customer_search_query TO readonly;