Postgres 9.1 GRANT不起作用

zie*_*ony 13 postgresql privileges

我尝试授予这样的权限:

zielony=# GRANT ALL PRIVILEGES ON DATABASE baza_tag to strona_user;
GRANT
Run Code Online (Sandbox Code Playgroud)

但没有任何事情发生:

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       | ******** |          | 
Run Code Online (Sandbox Code Playgroud)

此外,我没有任何通过PHP访问.我错过了什么?

Eel*_*lke 26

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;
Run Code Online (Sandbox Code Playgroud)

  • 这确实只支持9.0或更高版本.最初的问题是9.1.8.4不能这样做.但是,您可以编写一个查询系统表的脚本,以查看哪些表存在并为每个表运行查询. (4认同)
  • @Tyguy7,它确实做了一些事情,但可能不是你需要的。我想您的问题略有不同,但由于您没有费心发布实际问题,所以我无法帮助您。 (2认同)