postgres可以返回参与查询的表的名称吗?

时间:2015-08-11 09:12:54

标签: node.js postgresql express

我想创建一个快速中间件函数来检查sql字符串(可以是select / insert / update / delete),并在查询中提取参与表的名称。

对于特定的表,我将使用中间件函数根据应用程序的权限定义添加条件。

我看到select语句我可以使用views并从information_schema.view_table_usage中提取信息。我可以为任意sql提取此信息吗?

1 个答案:

答案 0 :(得分:2)

基本上你只能检查返回数据。但是:让我们假设以下查询......

SELECT function();

function()是一个黑盒子......它可以触摸任何地方的任何东西。所以,你可以检查返回数据,也许可以识别一个表,但你肯定看不到,在查询中使用了什么来实际获得结果。