Ubuntu系统下如何确保仅安装并运行单一版本PostgreSQL
PostgreSQL多版本共存问题解答
1. 为何会同时安装并运行12和14版本?
- Ubuntu的
postgresql是元包(metapackage),它会自动依赖当前系统版本推荐的PostgreSQL主版本(Ubuntu 22.04默认是14)。但如果系统中此前已存在旧版本(比如从Ubuntu 20.04升级而来,或通过其他依赖间接安装了12),apt不会自动卸载旧版本——PostgreSQL本身支持多版本独立集群运行,因此两个版本会被保留并同时在线。 - 客户端工具(如
psql)会默认安装最新版本,但旧版本的服务器集群可能仍在运行,因此会出现客户端版本14.5、服务器版本12.12的差异。
2. 新服务器如何确保仅安装单一指定版本?
方法一:直接指定版本安装
不要使用不带版本号的元包,明确指定要安装的版本(以14为例):
sudo apt-get install postgresql-14 postgresql-contrib-14
安装完成后,执行以下命令确认仅目标版本在线:
pg_lsclusters
方法二:清理已安装的多余版本(若不慎装多)
如果已经出现多版本共存,按以下步骤处理:
- 停止旧版本的服务:
sudo systemctl stop postgresql@12-main - 禁用旧版本开机自启:
sudo systemctl disable postgresql@12-main - 彻底卸载旧版本及相关组件:
sudo apt-get remove --purge postgresql-12 postgresql-contrib-12 - 清理残留依赖:
sudo apt-get autoremove
内容的提问来源于stack exchange,提问作者Phil Gyford
相关产品推荐
相关产品推荐

