Postgresql 从Postgres数据库中删除所有函数

Postgresql 从Postgres数据库中删除所有函数,postgresql,postgis,Postgresql,Postgis,我有一个数据库,其中安装了一个旧版本的PostGIS。我想轻松删除数据库中的所有函数(它们都来自PostGIS)。有没有一个简单的方法可以做到这一点?即使是简单地提取函数名列表也是可以接受的,因为我可以只做一个大的DROP function语句。a: 正如有一个脚本一样,还有一个uninstall\u postgis.sqluninstall脚本 psql -d [yourdatabase] -f /path/to/uninstall_postgis.sql 警告:准备好看到几何图形/地理列和

我有一个数据库,其中安装了一个旧版本的PostGIS。我想轻松删除数据库中的所有函数(它们都来自PostGIS)。有没有一个简单的方法可以做到这一点?即使是简单地提取函数名列表也是可以接受的,因为我可以只做一个大的
DROP function
语句。

a:

正如有一个脚本一样,还有一个
uninstall\u postgis.sql
uninstall脚本

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

警告:准备好看到几何图形/地理列和数据消失

通常情况下,
ms.nspname='public'
适用。上述SQL将在非小写或非字母数字的函数/架构名称上失败。最好使用quote_ident或format('DROP FUNCTION%I.%I(%s);'、nspname、proname、oidvectortypes(proargtypes))来正确引用SQL标识符。同样值得一提的是,这实际上不会删除函数,只会生成后续运行的DROP命令。有点搞错了:-)
psql -d [yourdatabase] -f /path/to/uninstall_postgis.sql