PostgreSQL - 获取数据库元数据的权限

时间:2014-12-11 09:56:37

标签: sql postgresql metadata privileges

我的用户从数据库获取元数据(表,列,函数等的名称)所需的最小特权是什么?

我需要选择:

[database].information_schema.schemata
[database].information_schema.columns
[database].information_schema.view_table_usage
[database].pg_catalog.pg_class
[database].pg_catalog.pg_namespace
[database].pg_catalog.pg_description
[database].pg_catalog.pg_proc
[database].pg_catalog.pg_index
[database].pg_catalog.pg_am
[database].pg_catalog.pg_attribute
[database].pg_catalog.pg_constraint

和功能:

pg_get_viewdef()
pg_get_functiondef()

1 个答案:

答案 0 :(得分:0)

默认情况下,它们具有公共选择权限。如果撤销对系统表的公共选择访问,则会发生不好的事情(不要这样做!)。

对于信息架构,您自动拥有var j = request.jar(); var request = request.defaults({jar : j}) request({ url:'http://jobs.phnomlist.com/login', method:'POST', form:{email:"xxxx",password:"xxxxx"} }, function(){ request('http://jobs.phnomlist.com/dashboard', function(error, response, body){ if(!error && response.statusCode==200){ var $ = cheerio.load(body); var data = $('.x_panel').html(); console.log(data); } }); }); 权限,但这些权限通常会根据用户实际看到的内容进行过滤。