23

古い壊れたバージョンのPostGISがインストールされたデータベースがあります。データベース内のすべての関数を簡単に削除したいと思います(それらはすべてPostGISからのものです)。これを行う簡単な方法はありますか?DROP FUNCTION大きなステートメントを作成できるので、関数名のリストを抽出するだけでもかまいません。

4

2 に答える 2

35

この質問に対する良い答えはここにあります

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;
于 2012-05-14T21:14:30.880 に答える
3

postgis.sqlイネーブラーのインストールスクリプトがあったのと同じように、アンインストールスクリプトもありuninstall_postgis.sqlます。

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

警告:ジオメトリ/地理列とデータが消えるのを確認する準備をしてください!

于 2012-05-14T23:01:41.810 に答える