如何在greenplum中获得information_schema.schemata的select权限
How to get select rights of information_schema.schemata in grrenplum
我在 greenplum db 中创建了一个新用户,只想授予 information_schema.schemata table 的 select 权限。在 运行 下面的查询之后,我只能 select information_schema.schemata table 而没有错误,但是没有数据出现。
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.
我在 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>'
那么您的查询应该有效。
我在 greenplum db 中创建了一个新用户,只想授予 information_schema.schemata table 的 select 权限。在 运行 下面的查询之后,我只能 select information_schema.schemata table 而没有错误,但是没有数据出现。
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.
我在 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>'
那么您的查询应该有效。