如何从我的安装中删除 Postgres?

如何从我的安装中删除 Postgres?

我有 ubuntu 9.10(karmic),当我尝试安装新程序时,postgres 被安装为该程序的依赖项,如果安装成功,则完全没有问题,但出现错误,Postgres 未安装,应用程序无法正常工作。我尝试更新 Postgres,但没有任何效果,只有消息“出现错误,无法安装您的 postgres”

现在我想从我的机器上彻底删除 Postgres,我该怎么做呢?我不想每次启动时都终止该进程。我只想删除 Postgres。

什么是命令行?

谢谢大家。

答案1

最简单的方法是打开终端并输入:

sudo apt-get --purge remove postgresql postgresql-*

这还会提示您删除依赖于 Postgres 的软件,在本例中您似乎想要这样做。
我个人没有运行 9.10 或 Postgres,因此 Postgres 可能会分几个部分自行安装。在这种情况下,一个简单的:

dpkg -l | grep postgres

将为您提供 Postgres 安装的软件包列表。然后,只需使用相同的“apt-get --purge remove ....”命令,但不要只输入 postgresql,而是输入每个软件包名称,并用空格分隔,例如:

sudo apt-get --purge remove postgresql postgresql-doc postgresql-common

当然,这取决于已安装的软件包列表。

答案2

对我有用的步骤Ubuntu 8.04.2去除postgres 8.3

  1. 列出所有 Postgres 相关软件包

    dpkg -l | grep postgres
    
    ii  postgresql                            8.3.17-0ubuntu0.8.04.1           object-relational SQL database (latest versi
    ii  postgresql-8.3                        8.3.9-0ubuntu8.04                object-relational SQL database, version 8.3
    ii  postgresql-client                     8.3.9-0ubuntu8.04                front-end programs for PostgreSQL (latest ve
    ii  postgresql-client-8.3                 8.3.9-0ubuntu8.04                front-end programs for PostgreSQL 8.3
    ii  postgresql-client-common              87ubuntu2                        manager for multiple PostgreSQL client versi
    ii  postgresql-common                     87ubuntu2                        PostgreSQL database-cluster manager
    ii  postgresql-contrib                    8.3.9-0ubuntu8.04                additional facilities for PostgreSQL (latest
    ii  postgresql-contrib-8.3                8.3.9-0ubuntu8.04                additional facilities for PostgreSQL
    
  2. 删除上面列出的所有内容

    sudo apt-get --purge remove postgresql postgresql-8.3  postgresql-client  postgresql-client-8.3 postgresql-client-common postgresql-common  postgresql-contrib postgresql-contrib-8.3
    
  3. 删除以下文件夹

    sudo rm -rf /var/lib/postgresql/
    sudo rm -rf /var/log/postgresql/
    sudo rm -rf /etc/postgresql/
    
  4. 删除 postgres 用户

    sudo deluser postgres
    

答案3

在终端中完全删除 postgresql 的一个命令是sudo apt-get --purge remove postgresql\*。请注意,此命令将删除 postgresql 及其所有组件。

答案4

感谢Code Friendly,我想分享我如何解决我的问题。

当我postgresql从 Synaptic 应用程序更新时,安装的是 postgresql 10 版本。因此,我的 debian 机器上安装了两个版本的 postgresql(10 和 9.6)。Postgresql 9.6监听端口5432Postgresql 10监听端口5433而不是 5432。

msfconsole当我在终端中运行该命令时,尽管 metasploit 连接到端口 5432 上的 msf 数据库,但出现以下错误消息:


root@kali:~# msfconsole
[-] Failed to connect to the database: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432?

我从 Synaptic 应用程序中卸载了 9.6 postgresql 版本,但问题仍然存在(postgresql 9.6 不再出现在 Synaptic 的已安装软件列表中);

但通过执行下面的命令我们可以看到postgresql 9.6版本并没有完全卸载:


root@kali:~# dpkg -l | grep postgresql 
ii  postgresql                     10+187             all          object-relational SQL database (supported version)
ii  postgresql-9.6                 **                 all          object-relational SQL database, version 9.6 server
ii  postgresql-10                  10.0-1+b1          amd64        object-relational SQL database, version 10 server
ii  postgresql-client-10           10.0-1+b1          amd64        front-end programs for PostgreSQL 10
ii  postgresql-client-common       187                all          manager for multiple PostgreSQL client versions
ii  postgresql-common              187                all          PostgreSQL database cluster manager
ii  postgresql-contrib             10+187             all          additional facilities for PostgreSQL (supported version)

使用以下命令,postgresql-9.6完全卸载:
root@kali:~# sudo apt-get --purge remove postgresql-9.6

然后我编辑了该文件/etc/postgresql/10/main/postgresql.conf,将端口号改为 5432,问题就解决了。


出现另一条错误消息:

Creating initial database schema /usr/local/bin/bundle:22:in ``load': cannot load such file -- /usr/lib/ruby/exe/bundle (LoadError)     from /usr/local/bin/bundle:22:in `<main>

我发现原因在于我的 Debian 机器上安装了两个 (2) 个版本的 Ruby,版本 (2.2 和 2.3)。

同样的事情,我从 synaptic 应用程序中卸载 ruby​​ 2.2 版本,问题得到解决,metasploit 启动没有问题。

相关内容