我有一個數據庫,其中安裝了一箇舊的PostGIS破碎版本。我想輕鬆刪除數據庫中的所有函數(它們全部來自PostGIS)。有沒有簡單的方法來做到這一點?即使簡單地提取一個函數名稱列表也是可以接受的,因爲我可以做一個大的DROP FUNCTION
聲明。從Postgres數據庫中刪除所有功能
18
A
回答
25
一個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;
3
就像有一個postgis.sql
enabler install script,還有一個uninstall_postgis.sql
卸載腳本。
psql -d [yourdatabase] -f /path/to/uninstall_postgis.sql
警告:準備好看到您的幾何/地理列和數據消失!
相關問題
- 1. 如何解決從數據庫中刪除的刪除功能
- 2. Sqlite刪除所有功能
- 3. 從數據庫中刪除,不成功
- 4. 如何刪除Postgres上的所有數據庫?
- 5. 從數據庫的所有表中刪除所有記錄
- 6. 從數據庫的所有表中刪除所有行
- 7. 刪除庫中的所有數據集
- 8. 從獅身人面像數據庫中刪除所有數據
- 9. 如何從數據庫表中刪除所有數據?
- 10. 刪除所有視圖postgres
- 11. 使用Firebase雲功能從Firebase數據庫中刪除節點
- 12. 從gridview中刪除所有數據
- 13. 從數據庫中刪除/刪除
- 14. 從包含表的所有數據庫中的表中刪除
- 15. 從sqlite數據庫中的表中刪除所有記錄
- 16. 從數據庫中刪除
- 17. 從數據庫中刪除
- 18. indexeddb - 列出/刪除所有數據庫
- 19. 從數據庫中刪除舊記錄(Postgres/Rails)
- 20. 如何從heroku中刪除postgres數據庫
- 21. 從Rails中刪除重複項postgres數據庫
- 22. 從SQL Server數據庫中的所有表數據刪除,除了一些表
- 23. 從sqlite數據庫中刪除除最新500行以外的所有數據
- 24. 如何從SQL服務器數據庫中刪除所有數據庫索引
- 25. 無法從我的SQLite數據庫中刪除所有行
- 26. 從數據庫中刪除所有信息(MySQL)
- 27. 從數據庫中刪除用戶的所有記錄
- 28. 從mysql數據庫的所有表中刪除一條記錄
- 29. 使用單個查詢從數據庫中刪除所有行?
- 30. 從Redshift數據庫中刪除所有重複項
很多時候,'ms.nspname ='public''適用。 – Drux
上述SQL將以非小寫或不包含字母數字函數/模式名稱的方式失敗。更好地使用quote_ident或format('DROP FUNCTION%I.%I(%s);',nspname,proname,oidvectortypes(proargtypes))來正確引用SQL標識符。 –