下降,由Postgres数据库的所有功能(Drop all functions from Postg

2019-07-29 09:26发布

我有一个老版本的碎在它安装PostGIS的数据库。 我想很容易滴在数据库中的所有功能(他们都来自PostGIS的)。 有没有一种简单的方法来做到这一点? 甚至干脆提取功能名称的列表是可以接受的,因为我可以只让大DROP FUNCTION语句。

Answer 1:

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

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;


Answer 2:

正如有一个postgis.sql推动者安装脚本 ,还有一个uninstall_postgis.sql卸载脚本。

psql -d [yourdatabase] -f /path/to/uninstall_postgis.sql

警告:准备好看到你的几何/地理列和数据消失!



文章来源: Drop all functions from Postgres database