
我的 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。
由於某種原因,當我以角色 2 的身份在資料庫 1 上執行 \dt 時,我看不到任何表。因為我擁有所有表的所有權限,所以我不應該看到 schema1 中的表嗎?