我有一个程序,其prolang为16386,与pg_lang中的任何条目都不对应;还有什么其他可能的地方可以找到这是什么语言?
我应该使用哪些其他策略来查找语言?
答案 0 :(得分:0)
如果语言存在:
最简单的方法是使用psql登录并输入:
\df+ function_name
这将列出具有相同名称,参数,模式,源代码和语言的所有函数。
可以直接查看系统目录(pg_proc和pg_language),但这里的一个问题是主要版本之间有时会发生这些变化,因此最好依赖于与同一主要版本相关的psql信息函数。你的数据库服务器。
如果该语言不存在:
select * from pg_proc where ....
为您提供有关语言的一切(源代码,链接器符号等)
从那以后你应该能够找出它是什么语言。 16386不是内置的,因此它必须是用户定义的,你必须进行一些挖掘。
例如,指向.jar的东西会建议pl / java。源代码很可能被识别为一种语言(你应该能够看到它是pl / ruby之类的东西)。
一种可能性是,这可能来自拙劣的升级和不再维护的语言处理程序。