删除Postgres数据库中的所有功能

Jim*_*ner 22 postgresql postgis

我有一个数据库,其中安装了旧版的PostGIS.我想轻松删除数据库中的所有功能(它们全部来自PostGIS).有一个简单的方法吗?即使简单地提取函数名列表也是可以接受的,因为我可以做一个大的DROP FUNCTION声明.

Chr*_*heD 33

一个细微这个问题的答案可以在这里找到:

SELECT 'DROP FUNCTION ' || ns.nspname || '.' || proname 
       || '(' || oidvectortypes(proargtypes) || ');'
FROM pg_proc INNER JOIN pg_namespace ns ON (pg_proc.pronamespace = ns.oid)
WHERE ns.nspname = 'my_messed_up_schema'  order by proname;
Run Code Online (Sandbox Code Playgroud)

  • 通常,使用ms.nspname ='public'。 (2认同)