1
名前がtest1のnosuperuserを作成しました。私は更新、選択、削除、挿入オプションを与えている。また、私はすべてのスキーマを付与しました。Postgresql a nosuperuserは他のNosuperuserの所有者テーブルにアクセスできない
CREATE ROLE test1 WITH LOGIN PASSWORD '123456';
GRANT CONNECT ON DATABASE mydb TO test1;
GRANT ALL ON SCHEMA public FROM test1;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT INSERT, SELECT, UPDATE ON TABLES TO test1 WITH GRANT OPTION;
後で名前がtest2である別のnosuperuserを作成しました。私は更新、選択、削除、挿入オプションを与えている。私は助成金の使用スキーマを与えました。
CREATE ROLE test2 WITH LOGIN PASSWORD '123456';
GRANT CONNECT ON DATABASE mydb TO test2;
GRANT USAGE ON SCHEMA public FROM test2;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT INSERT, SELECT, UPDATE ON TABLES TO test2 WITH GRANT OPTION;
私はtest1でテーブルを作成しました。 Test2はテーブルにアクセスしません。テーブルの所有者はtest1です。テーブルユーザーtest2にアクセスしたいと思います。どのようにできるのか?
は別の方法はありますか?コードをどのように変更すればよいですか?たとえば、test1は新しいテーブルを作成しました。 Test2はそのテーブルにアクセスできません。 2人のユーザーが既存のテーブルにアクセスできます。 –
更新された回答を参照 – Patrick
すでに公開されているテーブルが多すぎます。後で私は役割を作った。すべてのロールがテーブルにアクセスできるようになる前に。テーブルの所有者はポストグルです。後での役割test1がテーブルに作成され、ownerがtest1になります。所有者がtest1の場合、test2はテーブルにアクセスできません。 –