postgres разделяет понятия схемы и базы данных.Как предоставить пользователю права на выборку для всех таблиц в БД?
postgres=# GRANT ALL on DATABASE dbname to tbdev;
GRANT
отлично, все разрешения, о которых вы думаете?Кроме фактически нет, они не включают никаких операций с БД, таких как SELECT
.Затем попытался:
postgres=# GRANT SELECT on DATABASE dbname to tbdev;
ERROR: invalid privilege type SELECT for database
Чтение SELECT не для баз данных, а уровень схем pgs abstraction.Поэтому попытался использовать общедоступную схему, но ничего из этого не работает:
GRANT ALL on SCHEMA public to tbdev;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO tbdev ;
от имени пользователя, которого я все еще получаю:
ticket_battle=> select * from events;
ERROR: permission denied for table events
Так как же обычно создать пользователя и БД с PG