gpt4 book ai didi

sql - 在没有 pg_lang 条目的情况下在 Postgresql 中查找存储过程语言的策略

转载 作者:行者123 更新时间:2023-11-29 14:02:30 24 4
gpt4 key购买 nike

我有一个 prolang 为 16386 的过程,它不对应于 pg_lang 中的任何条目;我还可以在哪些其他可能的地方查找这是什么语言?

我应该使用哪些其他策略来查找语言?

最佳答案

如果语言存在:

最简单的方法是使用 psql 登录并键入:

\df+ function_name

这将列出所有具有相同名称的函数、它们的参数、模式、源代码和语言。

可以直接查看系统目录(pg_proc 和 pg_language),但这里的一个问题是它们有时会在主要版本之间发生变化,因此最好依赖与相同主要版本绑定(bind)的 psql 信息函数你的数据库服务器。

如果语言不存在:

select * from pg_proc where .... 

为您提供有关该语言的所有信息(其源代码、链接器符号等)

从那里你应该能够找出它是什么语言。 16386 不是内置的之一,因此它一定是用户定义的,您将不得不进行一些挖掘。

例如,指向 .jar 的内容会建议使用 pl/java。源代码可能会被识别为一种语言(您应该能够看到它是 pl/ruby 还是类似语言)。

一种可能是升级失败和不再维护的语言处理程序造成的。

关于sql - 在没有 pg_lang 条目的情况下在 Postgresql 中查找存储过程语言的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2671139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com