【发布时间】:2018-03-19 18:43:52
【问题描述】:
我的数据库使用架构来分隔应用程序的特定于租户的数据 - 每个客户在注册时都会创建一个全新的架构来保存他们的数据。
这显然意味着我事先并不知道所有模式的名称。
我想创建一个readonly 角色,该角色对所有这些架构以及未来创建的架构具有读取权限。
我发现的所有这些问题都需要知道模式的名称,例如:
-- Create a group
CREATE ROLE readaccess;
-- Grant access to existing tables
GRANT USAGE ON SCHEMA a_given_schema TO readaccess;
GRANT SELECT ON ALL TABLES IN SCHEMA a_given_schema TO readaccess;
-- Grant access to future tables
ALTER DEFAULT PRIVILEGES IN SCHEMA a_given_schema GRANT SELECT ON TABLES TO readaccess;
-- Create user with password
CREATE USER readonly WITH PASSWORD 'a_secret';
GRANT readaccess TO readonly;
有没有办法做这样的事情,但对于未来的所有模式?
【问题讨论】:
标签: sql postgresql schema