Sql postgres:如何授予用户读取权限?

Sql postgres:如何授予用户读取权限?,sql,postgresql,Sql,Postgresql,我已将.sql文件导入postgres。我创建了一个名为“yaq”的数据库,并将其导入数据库 psql=# grant all privileges on database yaq to Jannat; postgres@server:~$ psql yaq psql (9.1.8, server 9.1.9) Type "help" for help. yaq=# \dt List of relations Schema | Name |

我已将.sql文件导入postgres。我创建了一个名为“yaq”的数据库,并将其导入数据库

psql=# grant all privileges on database yaq to Jannat;
postgres@server:~$ psql yaq
psql (9.1.8, server 9.1.9)
Type "help" for help.

yaq=# \dt
              List of relations
 Schema |      Name       | Type  |  Owner   
--------+-----------------+-------+----------
 public | relationalfacts | table | yaq
 public | spatial_ref_sys | table | postgres
(2 rows)

yaq=# select * from relationalfacts
yaq-# ;
 id | relation | arg1 | arg2 | timebegin | timeend | location | locationlatitude | locationlongitude | primarywitness | context 
----+----------+------+------+-----------+---------+----------+------------------+-------------------+----------------+---------
(0 rows)

我认为,由于我已将所有特权授予所有者“yaq”而不是“yago”,因此我无法阅读该关系。是否有某种方式可以将关系表yaq的读取权限授予用户Jannat?请帮助

授予数据库上的所有…
不会递归授予该数据库中的架构、函数、表等的权限

GRANT ALL
用于
数据库
授予数据库的
使用权
连接权
。仅此而已

要授予表的权限,请使用表grant语句之一或模式中所有表的
grant ALL。。。到…

有关详细信息,请参阅


<> >在代码> Graveing用户之前,考虑是否应该使用几个角色,然后<代码>授予/<代码>调用用户权限来充当这些角色。如果您开始添加更多用户,那么在开始时定义角色(组)将为您节省很多麻烦。

非常感谢您的回答。如何检查表的架构名称?我正在帮助检查表中包含的关系\dt@JannatArora如果您不知道模式,则它们位于默认模式
public
。请参见
\dn
以列出架构
\dt
将架构列为输出中的第一列。