アクセス権の付与を簡単にするために、新しい役割を設定しようとしています。選択したユーザーに対して、スキーマの下ですべてのテーブル (新しく作成されたテーブルに自動的にアクセスできるようにする必要があります) を選択する簡単な方法があるかどうか疑問に思っていました。同じものに対して次のクエリを実行しました。しかし、それでも私のユーザーは特定のテーブルにアクセスできません。
CREATE ROLE myrole;
GRANT SELECT ON myschema.mytable TO myrole;
GRANT usage ON schema myschema TO myrole;
CREATE USER mytest1 identified BY '***';
GRANT myrole TO mytest1;
この後、mytest1 ユーザーでログインして myschema.mytable で select を実行しようとすると、スキーマの使用をユーザーに許可するように求められます。スキーマの使用をユーザーに直接許可した後、そのテーブルに対する権限が拒否されて失敗します。
同じように助けてください。私は vertica 5.0 で実行しています
更新: ロールの効果を発生させるには、そのロールをデフォルトにするか、そのロールをユーザーセッションのデフォルトとして明示的に設定する必要があることもわかりました。
ALTER USER mytest1 DEFAULT ROLE myrole;
それでも、特定のユーザーがスキーマの下にあるすべてのテーブルにアクセスできるようにする方法についての私の別の質問は残っています。