我有一个老版本的碎在它安装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