PostgreSQL:如何将函数定义导出到SQL

Jin*_*Kim 5 postgresql postgresql-9.1

我有一个在我想编辑的数据库中定义的函数(存储过程).

我认为这样做的一种方法是将函数定义转储到SQL文件,编辑SQL文件,然后用编辑后的版本替换数据库中的定义.

是否可以这样做(将定义转储到SQL文件)?

我过去一直在做的是使用psql连接到数据库,运行/ df +函数,将输出复制到文本文件,按下文本使其看起来像一个函数声明,但这很耗时而且我'我想知道是否有更简洁的方式.

如果重要,我正在使用PostgreSQL 9.1.

编辑:

我接受了Mike Buland的回答,因为他在评论中提供了正确的答案,即在psql中运行\ ef函数.

Mik*_*and 5

这实际上列在上一个问题中:

SELECT  proname, prosrc
FROM    pg_catalog.pg_namespace n
JOIN    pg_catalog.pg_proc p
ON      pronamespace = n.oid
WHERE   nspname = 'public';
Run Code Online (Sandbox Code Playgroud)

列出在PostgreSQL中引用表的存储函数

您应该能够在命令行或客户端上使用它来读取proc的当前文本并使用它执行任何操作:)

我希望有所帮助

  • 啊,我误解了,对于更新的postgres尝试:\ ef <procname> (6认同)