我在向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=#

最佳答案

\z 显示数据库中包含的对象的表、 View 和序列权限。它不显示对数据库本身的权限。如果您在'testdb'中创建表或其他对象,则该表或其他对象将显示在\z的输出中。

您可以使用 \l(或 \l+ 了解更多信息)查看系统上存在哪些数据库。

有关如何以编程方式确定给定数据库上的用户存在哪些权限的信息,请参阅 section 9.22. of the PostgreSQL 8.3 manual

关于PostgreSQL 8.3 权限未更新 - 错误用法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/75696/

10-10 05:13