我有一个带有 template_schema 的数据库。我克隆了这个模板模式并创建了一个带密码的数据库用户。我只需要为创建的用户提供对克隆模式的访问权限。
SELECT clone_schema('my_template_schema','john_smith_gmail_com');
CREATE USER john_smith_gmail_com WITH PASSWORD 'mypassword';
到此为止。然后我只需要为此克隆模式(john_smith_gmail_com)授予此用户的访问权限
方法:1 我试图撤销用户对所有克隆模式(john_smith_gmail_com)表的所有权限,并授予用户选择权限。但我的问题是,这个用户能否获得对其他模式表的 SELECT 访问权限?
REVOKE ALL ON ALL TABLES IN SCHEMA john_smith_gmail_com FROM john_smith_gmail_com;
GRANT SELECT ON ALL TABLES IN SCHEMA john_smith_gmail_com TO john_smith_gmail_com;
方法:2
创建一个只有 SELECT 访问权限的角色,并将此角色分配或授予新创建的用户。如果我这样做,我授予访问哪个模式,因为我动态克隆模式?
哪种方法最好?