我的 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 client
或server
。
答案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