为什么当我执行 \dt 时看不到其他人拥有的 Postgres 表?

为什么当我执行 \dt 时看不到其他人拥有的 Postgres 表?

我的 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 中的表吗?

相关内容