我有一个数据库,其中安装了旧版的PostGIS。我想轻松删除数据库中的所有功能(它们全部来自PostGIS)。有一个简单的方法吗?即使简单地提取函数名列表也是可以接受的,因为我可以制作一个大的DROP FUNCTION
语句。
答案 0 :(得分:33)
A fine answer to this question can be found here:
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;
答案 1 :(得分:3)
就像有postgis.sql
enabler install script一样,还有一个uninstall_postgis.sql
卸载脚本。
psql -d [yourdatabase] -f /path/to/uninstall_postgis.sql
警告:准备好看你的几何/地理专栏和数据消失了!