小编Him*_*mar的帖子

PostgreSQL:访问另一个用户拥有的表

作为超级用户,我在 Postgres 中以相同的模式创建了两个角色:

  1. read_only_with_create_view
  2. read_write

然后我从每个角色创建了两个用户:

  1. read_only_with_create_view_user
  2. read_write

现在read_only_with_create_view_userread_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)

postgresql roles owner

6
推荐指数
1
解决办法
4139
查看次数

标签 统计

owner ×1

postgresql ×1

roles ×1