卸载
如何卸载 PostgreSQL 扩展
移除扩展
要卸载扩展,通常需要执行 DROP EXTENSION
SQL 语句:
DROP EXTENSION "<extname>";
如果有其他扩展或数据库对象依赖于该扩展,需先移除这些依赖,或使用 CASCADE
选项一并删除:
DROP EXTENSION "<extname>" CASCADE;
CASCADE
选项会删除所有依赖于该扩展的对象,
包括数据库对象、函数、视图等。请谨慎操作!
部分扩展不包含 DDL,这类扩展无需执行 DROP EXTENSION
语句卸载。
只需从 shared_preload_libraries
(如有配置)中移除,并卸载对应软件包即可。
详见 无 DDL 扩展 部分。
移除动态加载
若使用了需动态加载的扩展(即需修改 shared_preload_libraries
参数),需先重新配置 shared_preload_libraries
参数。
从 shared_preload_libraries
中移除扩展名,并重启数据库集群以使配置生效。
需动态加载的扩展详见 需加载扩展列表。
卸载软件包
在所有数据库中移除扩展(逻辑对象)后,可安全卸载扩展软件包。可通过 Ansible 命令便捷操作:
ansible <cls> -m package -a "name=<extname> state=absent"
也可直接使用 pig
,或 apt
/yum
命令卸载。
如不清楚扩展包名,可参考 扩展列表,或查阅 roles/node_id/vars
中的扩展包名映射。