我在greenplum db中创建了一个新用户,只想提供information_schema.schemata表的选择权限。在以下查询中运行后,我只能选择没有错误的information_schema.schemata表,但是不会显示任何数据。
GRANT SELECT ON information_schema.schemata TO <username>;
GRANT SELECT ON information_schema.schemata TO <username>;
SELECT * FROM information_schema.schemata ;
我希望数据应该从新用户那里显示给我,但是我得到以下消息,但没有数据。
Total query runtime: 291 msec
0 rows retrieved.
答案 0 :(得分:1)
我在GP的5.x版上运行此程序没有问题,但与在GP 4.3.32.1(最新的4.3发行版)上获得的结果相同。 查看information_schema.schemata视图的定义
\d+ information_schema.schemata
显示从pg_catalog模式连接两个表pg_namespace和pg_authid。 在4.3.x中,普通用户无权访问pg_authid。 因此,以gpadmin身份运行:
psql -d <userdb> -c 'grant select on pg_catalog.pg_authid to <user>'
然后您的查询应该可以使用。