template_schema を持つデータベースがあります。このテンプレート スキーマを複製し、パスワードを持つデータベース ユーザーを作成しました。作成されたユーザーに対して、複製されたスキーマのみへのアクセスを提供する必要があります。
SELECT clone_schema('my_template_schema','john_smith_gmail_com');
CREATE USER john_smith_gmail_com WITH PASSWORD 'mypassword';
ここまでOK。次に、この複製されたスキーマ (john_smith_gmail_com) に対してのみ、このユーザーにアクセスを許可する必要があります
方法:1 ユーザーの複製されたスキーマ (john_smith_gmail_com) のすべてのテーブルに対するすべての権限を取り消し、ユーザーに select を付与しようとしました。しかし、私の質問は、このユーザーが他のスキーマ テーブルで SELECT アクセスを取得できるかどうかです。
REVOKE ALL ON ALL TABLES IN SCHEMA john_smith_gmail_com FROM john_smith_gmail_com;
GRANT SELECT ON ALL TABLES IN SCHEMA john_smith_gmail_com TO john_smith_gmail_com;
方法:2
SELECT アクセスのみを持つロールを作成し、このロールを新しく作成したユーザーに割り当てるか付与します。これを行う場合、スキーマを動的に複製するため、アクセスを許可するスキーマはどれですか?
どの方法が最適ですか?