我的 postgres 实例中有两个角色:角色1和角色2。
我以超级用户身份运行以下命令集。
GRANT CREATE on DATABASE database1 TO role1;
\c database1;
SET ROLE role1;
CREATE SCHEMA schema1;
SET ROLE "user who is super user";
GRANT USAGE on SCHEMA schema1 TO role2;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema1 TO role2;
然后我使用 role1 在架构 schema1 中创建表。表的所有者是 role1。
出于某种原因,当我以 role2 身份在 database1 上执行 \dt 时,我看不到任何表。既然我拥有所有表的所有权限,难道我不应该看到 schema1 中的表吗?