我在Postgres中创建了一个函数function_1()
现在我想创建另一个类似的函数function_2()
并复制function_1()
的内容。
任何Postgres命令行都能做到吗?
到目前为止,我只在命令行中使用了copy& paste方法来创建function_2()
(需要在粘贴后将函数名更改为“function_2”)
答案 0 :(得分:3)
pg_dump
函数定义,或使用pg_get_functiondef
函数获取函数定义。修改它取决于你。
如果您尝试以编程方式创建函数,最好使用PL / PgSQL的EXECUTE
命令和format
函数来创建动态函数。
这需要做到这一点很不寻常,这表明你可能正在做一些更容易做到的事情。
答案 1 :(得分:3)
如果您使用的是GUI pgAdmin,只需在对象浏览器中选择该功能,然后在 SQL编辑器窗口中打开反向工程SQL脚本。
选项中有一个专用项目可以自动化它:
选项 - 查询工具 - 查询编辑器 - 将SQL从主窗口复制到查询工具