【发布时间】:2014-08-19 15:20:20
【问题描述】:
有a similar question,但含糊不清,接受的答案表明问题与我的略有不同。
如何查找不属于 PostGIS 等任何扩展的用户定义函数?链接问题的答案提供了一个查询,该查询返回了大多数 PostGIS 函数(我的目的是噪音),我对它的理解不够好,无法将其更改为仅返回我的函数(缺乏详细解释为什么它以这种方式工作以及如何工作更改设置)。
现在我没有 C 函数,并且我的所有函数都在公共模式中 - 你可以使用这个事实,但要清楚如何释放这些约束。如果确切的扩展列表很重要,现在只假设 PostGIS,但如果从代码中不言而喻,请解释如何将其他扩展添加到列表中。
【问题讨论】:
-
如果您将扩展安装在单独的架构中,您只能将您的功能与由扩展创建的功能区分开来。否则我认为没有办法区分
-
@a_horse_with_no_name 必须有 - 因为
DROP EXTENSION有效,并且扩展不必提供卸载 SQL 文件。我没有特别检查,但我会说它会在pg_depend。 -
@a_horse_with_no_name ...是的。例如
select e.oid, e.extname, d.* from pg_extension e inner join pg_depend d on d.refclassid = 'pg_extension'::regclass and d.refobjid = e.oid; -
@CraigRinger:啊,谢谢。很高兴知道。
标签: function postgresql