作为超级用户,我在 Postgres 中以相同的模式创建了两个角色:
read_only_with_create_viewread_write 然后我从每个角色创建了两个用户:
read_only_with_create_view_userread_write现在read_only_with_create_view_user,read_write_user由于视图的所有者不同 ( read_only_with_create_view_user) ,因此无法访问由创建的任何新视图。
那么访问所有新视图的方法是read_write_user什么?
我希望另一个用户可以访问一个用户创建的所有内容。
我遵循的步骤:
CREATE ROLE read_only_role WITH
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';
GRANT CONNECT ON DATABASE mydb to read_only_role;
GRANT USAGE,CREATE ON SCHEMA myschema TO read_only_role;
GRANT SELECT ON ALL TABLES IN SCHEMA myschema TO read_only_role;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA myschema TO read_only_role;
CREATE USER read_only_with_create_view_user
WITH PASSWORD '*****'
in ROLE read_only_role;
-- Now created …Run Code Online (Sandbox Code Playgroud)