PostgreSQL 8.3特权未更新-错误的用法?

时间:2020-03-05 18:56:50  来源:igfitidea点击:

我在向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显示数据库中包含的对象的表,视图和序列权限。它不显示对数据库本身的权限。如果我们在'testdb'中创建表或者其他对象,它将显示在\ z的输出中。

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

请参阅第9.22节。 PostgreSQL 8.3手册中有关如何以编程方式确定给定数据库上的用户存在哪些权限的信息。