如何获取整个数据库存储过程脚本

时间:2018-11-06 07:37:30

标签: postgresql pgadmin

如何使整个数据库存储过程的完整脚本与MS SQL 2008 R2生成脚本功能相同。需要帮助。

1 个答案:

答案 0 :(得分:0)

以下查询将返回架构用户中模式用户的所有完整DDL语句:

select pg_get_functiondef(p.oid)||';'
from pg_proc p
  join pg_namespace n on n.oid = p.pronamespace
  join pg_user u on u.usesysid = p.proowner
where n.nspname = 'public'
  and p.prokind <> 'a'
  and u.usename = current_user;

prokind <> 'a'是必需的,因为pg_get_functiondef()不适用于用户定义的聚合函数。

如果您希望功能来自其他架构或所有者,请相应地更改where条件。

您可以将输出假脱机到文件中,以获取包含所有功能的SQL脚本。