我尝试授予这样的权限:
zielony=# GRANT ALL PRIVILEGES ON DATABASE baza_tag to strona_user;
GRANT
但没有任何反应:
usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valuntil | useconfig
-------------+----------+-------------+----------+-----------+---------+----------+----------+-----------
postgres | 10 | t | t | t | t | ******** | |
zielony | 16384 | t | t | t | t | ******** | |
strona_user | 16440 | f | f | f | f | ******** | |
我也没有通过php访问任何内容。 我错过了什么?
答案 0 :(得分:25)
Postgresql权利系统并非如此。您必须自己设置对象的权限。像这样:
GRANT ALL ON ALL TABLES IN SCHEMA public TO strona_user;
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO strona_user;
GRANT ALL ON ALL FUNCTIONS IN SCHEMA public TO strona_user;
答案 1 :(得分:1)
除了对 Postgres 对象本身进行通常的 GRANT 之外,还需要在对象所在的架构上授予使用权(这由架构所有者完成)。
示例:
将表
将 SCHEMA