卸载特定版本的 PostgreSQL

卸载特定版本的 PostgreSQL

我的 Ubuntu 12.04 中安装了 Postgresql 9.1.1,它是通过自动升级安装的,每当我使用以下命令卸载它时:

sudo apt-get --purge remove postgresql-9.1.1

我收到一条错误消息:

E: Unable to locate package postgresql-9.1.1
E: Couldn't find any package by regex 'postgresql-9.1.1

有人能告诉我如何完全卸载这个包,以便我可以安装其他较低版本 - 8.4.7

答案1

PostgerSQL 9.1.1 版本位于软件包中postgresql-9.1。因此您应该删除此软件包:

sudo apt-get purge postgresql-9.1

您的问题的第二部分已经在这里得到解答:如何降级 PostgreSQL?

答案2

如果您想卸载 postgresql 和任何相关包,您应该使用autoremove

sudo apt-get --purge autoremove postgresql*

这将选择以 postgresql 开头的任何包并删除这些包安装的任何自动依赖项,从而有效地删除任何版本的 postgresql。如果您只想删除客户端或服务器,则应该选择apt-cache search postgresql | grep clientserver

答案3

尝试:

sudo apt-get --purge remove postgresql-9.1

您还可以安装 8.4.7 并停止服务器 postgresql-9.1。

答案4

我担心软件包位置会因版本而异,因此您可以使用以下命令从操作系统中卸载大部分软件包

sudo apt-get purge postgresql-9.1

但随后你将必须找到所有剩余的文件和目录

sudo updatedb && locate *postgres*9*

并使用以下方式手动删除它们

sudo rm -rf <pattern>

例如,我可以告诉你,对于 postgres 14.7,你应该运行以下命令

sudo apt-get purge postgresql-14.7

sudo rm /var/log/postgresql/postgresql-14-main.log
sudo rm -rf /run/postgresql/14*
sudo rm -rf /run/systemd/generator/postgresql.service.wants/[email protected]
sudo rm -rf /usr/lib/postgresql/14/
sudo rm -rf /usr/share/doc/postgresql-14*
sudo rm -rf /usr/share/doc/postgresql-client-14*
sudo rm -rf /usr/share/lintian/overrides/postgresql-14
sudo rm -rf /usr/share/lintian/overrides/postgresql-client-14
sudo rm -rf /usr/share/postgresql/14/
sudo rm -rf /usr/share/postgresql-common/t/140_pg_config.t
sudo rm -rf /var/lib/dpkg/info/postgresql-14*
sudo rm -rf /var/lib/dpkg/info/postgresql-client-14*
sudo rm -rf /var/lib/postgresql/14/

最后,检查结果

psql --version

相关内容