169 похожих чатов

Hello everyone, I have 3 users in my database: A_User, B_User.

And postgres user by default.

The authorizations I give are as follows:
GRANT SELECT ON ALL TABLES IN SCHEMA public TO A_User;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO A_User;

Here is the result I did not expect:
1.A_User can access existing tables.
2.A_User can access the new tables created by postgres user.
3.BUT A_User cannot access the new tables created by B_User.

Shouldn't A_User have access to the new tables created by B_User?

4 ответов

10 просмотров

Here is what the documentation is saying : target_role Change default privileges for objects created by the target_role, or the current role if unspecified. https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html You have altered the default privileges while connected with role postgres. Therefore the changes are only applied for tables owned by the role postgres.

Sercan- Автор вопроса
Stefanie Janine Stölting
Here is what the documentation is saying : target_...

Then the authorizations I gave with “ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO A_User;” do not cover all objects under that schema. It only covers the objects owned by the postgres user? So, for READ users can access each new table, while authorizing my user with DDL authorization “ALTER DEFAULT PRIVILEGES FOR ROLE B_User GRANT SELECT ON TABLES TO A_User;” ?

Sercan
Then the authorizations I gave with “ALTER DEFAULT...

As documented, all tables for the role that executed the ALTER DEFAULT PRIVILEGES, or for the given role name. And you can create a role without login and use it like a group. If you alter default privileges for these roles, members of that group role have the rights inherited.

Sercan- Автор вопроса
Stefanie Janine Stölting
As documented, all tables for the role that execut...

Thank you, I learned what I thought I knew. So, do these two codes work the same for A_User to access the new tables created by B_User: SET ROLE B_User; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO A_User; and ALTER DEFAULT PRIVILEGES FOR ROLE B_User IN SCHEMA public GRANT SELECT ON TABLES TO A_User;

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта