我无法在PostgreSQL 8.3中向其他用户授予权限。虽然GRANT命令没有给我任何错误,但是权限不会显示。我需要“冲洗”它们吗?
sirprize=# CREATE DATABASE testdb;
CREATE DATABASE
sirprize=# GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser;
GRANT
sirprize=# \c testdb
You are now connected to database "testdb".
testdb=# \z
Access privileges for database "testdb"
Schema | Name | Type | Access privileges
--------+------+------+-------------------
(0 rows)
testdb=#
答案 0 :(得分:9)
\ z显示数据库中包含的对象的表,视图和序列权限。它不显示数据库本身的权限。如果在'testdb'中创建一个表或一些其他对象,它将显示在\ z的输出中。
您可以使用\ l(或\ l +获取更多信息)查看系统中存在哪些数据库。
有关如何以编程方式确定给定数据库上用户存在哪些权限的信息,请参阅section 9.22. of the PostgreSQL 8.3 manual。