如何从安装中删除Postgres?


78

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

现在我想从我的机器上完全删除Postgres,我该怎么做,我不想在每次启动时都杀死进程。我只想删除Postgres。

什么是命令行?

谢谢大家

Answers:


144

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

sudo apt-get --purge remove 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

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


好吧,我稍后再试,非常感谢您!
deepcell 2011年

1
我运行命令行-> sudo apt-get --purge删除postgresql,看起来它已从我的ubuntu中删除。不管怎么说,还是要谢谢你。
deepcell 2011年

我以为是对的 但是今天我又收到了同样的警告,一个崩溃系统,有些东西试图更新postgres,但是没有发生,那么崩溃报告已经显示了自己..一些建议?再次感谢。
deepcell 2011年

3
应该是dpkg -l | grep postgres
Mithun Sreedharan 2012年

78

对我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
    

谢谢!但我不再使用ubuntu。现在我在使用opensuse和centos。无论如何,谢谢,如果我对postgres再次遇到麻烦,您的答案将非常有用。
deepcell 2012年

2
如果使用bash shell,则可以将步骤3合并为一行sudo rm -rf {/var/{lib,log},etc}/postgresql/
smac89 '17

1
此处的步骤3 +1。这对我来说很关键。尝试多次删除软件包,但/ var / lib / postgresql和/ etc / postgresql中遗留了碎片,导致重新安装失败后的后续操作。
吉尔·汉密尔顿

28

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


6
我使用的sudo apt-get purge postgresql*是14.04
Antonios Hadjigeorgalis,

这应该是公认的答案!
菲利普·施瓦茨

上面的答案对我有用-这并未删除--purge状态中的所有内容
Ricky,

1

感谢Code Friendly,&我想分享我解决问题的方式。

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

当我msfconsole在终端中运行comand时,尽管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)。

同样,我从突触应用程序中卸载了ruby 2.2版本,问题得以解决,metasploit启动没有问题。


1

遵循以下命令:

  • sudo apt-get --purge删除postgresql

列出所有与postgres相关的软件包:

  • dpkg -l | grep postgres

使用命令删除上面列出的所有软件包:

  • apt-get --purge删除package1 package2 ..

确认使用以下命令删除与postgres / postgresql相关的所有文件和文件夹:

  • 哪里是postgres
  • PostgreSQL在哪里

删除使用rm命令列出的所有文件和文件夹。

使用以下命令删除用户postgres

  • userdel -f postgres

快乐的编码:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.