编辑PostgreSQL中其他函数的函数

时间:2017-12-08 09:55:51

标签: postgresql stored-procedures reflection

例如,我想重命名一些函数及其他函数的所有调用。我会编写函数scatterplot <- ggplot(measurements, aes(x=Measurement_A, y=Measurement_B, colour=Genus, shape=Genus)) + geom_point() + geom_smooth(data=subset(measurements, Genus== "A" | Genus == "B"), method='lm', se=FALSE) ,它必须编辑其他函数。

PostgreSQL 在哪里存储函数体(使用 plpgsql )?我无法在系统表中找到这样的列。

我可以通过

获得所有功能
rename_func(schema_name text, old_func_name text, new_func_name text)

但我无法访问他们的代码。

1 个答案:

答案 0 :(得分:0)

我只是看不到pg_proc.prosrc的内容,但它存在。可能是因为它包含多个字符串(我使用了pgAdmin III)。我在查询中使用它并且它有效。

此外,我发现pg_get_functiondef(func.oid) 会返回DDL脚本,我可以稍后修改并执行以保存对功能的更改。

感谢this answer to other question