
내 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입니다.
어떤 이유에서인지 Database1에서 role2로 \dt를 실행하면 테이블이 표시되지 않습니다. 모든 테이블에 대한 모든 권한을 가지고 있으므로 스키마1의 테이블을 볼 수 없나요?