如何彻底清除并重新安装Ubuntu上的postgresql?

不知何故,我已经设法完全在Ubuntu业力上安装postgresql。 我想从头开始,但是当我使用apt-get“清除”软件包时,它仍然留下痕迹,使得重新安assembly置无法正常运行。

完成之后:

apt-get purge postgresql apt-get install postgresql 

它说

 Setting up postgresql-8.4 (8.4.3-0ubuntu9.10.1) ... Configuring already existing cluster (configuration: /etc/postgresql/8.4/main, data: /var/lib/postgresql/8.4/main, owner: 108:112) Error: move_conffile: required configuration file /var/lib/postgresql/8.4/main/postgresql.conf does not exist Error: could not create default cluster. Please create it manually with pg_createcluster 8.4 main --start or a similar command (see 'man pg_createcluster'). update-alternatives: using /usr/share/postgresql/8.4/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode. Setting up postgresql (8.4.3-0ubuntu9.10.1) ... 

我有一个没有任何内容的“/ etc / postgresql”,“/ etc / postgresql-common /”有一个“pg_upgradecluser.d”目录和root.crt和user_clusters文件。

/ etc / passwd有一个postgres用户; 清除脚本似乎没有触摸它。 有一些症状,我只是为了揭露下一个。

当我运行命令“pg_createcluster …”时,它抱怨说“/var/lib/postgresql/8.4/main/postgresql.conf不存在”,所以我会去find其中的一个,我确定那不会是它的结尾。

是不是有一些简单的一行(或两个)将完全烧毁,让我重新开始?

首先:如果您的安装没有被破坏,您可以使用pg_dropcluster在Ubuntu中删除不需要的PostgreSQL服务器(“集群”)。 如果你只想从一个新的initdb PostgreSQL实例开始,那么优先使用它来完全清除并重新安装。

如果你真的需要做一个完整的清除和重新安装,首先确保PostgreSQL没有运行。 ps -C postgres应该显示没有结果。

现在运行:

 apt-get --purge remove postgresql\* 

从你的系统中删除所有的PostgreSQL。 只是清除postgres包是不够的,因为它只是一个空的元包。

一旦所有的PostgreSQL包已经被删除,运行:

 rm -r /etc/postgresql/ rm -r /etc/postgresql-common/ rm -r /var/lib/postgresql/ userdel -r postgres groupdel postgres 

你现在应该能够:

 apt-get install postgresql 

或完整安装:

 apt-get install postgresql-8.4 postgresql-contrib-8.4 postgresql-doc-8.4 

我有一个类似的情况:我需要在debian wheezy上清除postgresql 9.1(我以前曾经从8.4迁移过来,并且出现错误)。

我做了什么:

首先,我删除了configuration和数据库

 $ sudo pg_dropcluster --stop 9.1 main 

然后删除postgresql

 $ sudo apt-get remove --purge postgresql postgresql-9.1 

然后重新安装

 $ sudo apt-get install postgresql postgresql-9.1 

在我的情况下,我注意到/etc/postgresql/9.1是空的,并运行service postgresql start没有返回

所以,更多的谷歌search后,我得到了这个命令:

 $ sudo pg_createcluster 9.1 main 

有了这个我可以启动服务器,但现在我正在得到日志相关的错误。 经过更多的search,我最终将权限更改为/ var / log / postgresql目录

 $ sudo chown root.postgres /var/log/postgresql $ sudo chmod g+wx /var/log/postgresql 

这解决了这个问题,希望这有助于

我知道已经提供了一个答案,但是select不适合我。 这是什么工作find要删除的软件包:

 # search postgr | grep ^i i postgresql - object-relational SQL database (supported i A postgresql-8.4 - object-relational SQL database, version 8. i A postgresql-client-8.4 - front-end programs for PostgreSQL 8.4 i A postgresql-client-common - manager for multiple PostgreSQL client ver i A postgresql-common - PostgreSQL database-cluster manager # aptitude purge postgresql-8.4 postgresql-client-8.4 postgresql-client-common postgresql-common postgresql rm -r /etc/postgresql/ rm -r /etc/postgresql-common/ rm -r /var/lib/postgresql/ 

最后编辑/ etc / passwd和/ etc / group

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/ 
 apt-get purge postgresql* 

足够。

按照我所遵循的步骤卸载并重新安装。 哪一个为我工作。

首先删除安装的postgres: –

sudo apt-get purge postgr *

sudo apt-get autoremove

然后安装“突触”:

sudo apt-get install synaptic

sudo apt-get update

然后安装postgres

sudo apt-get install postgresql postgresql-contrib

我刚刚遇到了Ubuntu 13.04相同的问题。 这些命令删除了Postgres 9.1:

 sudo apt-get purge postgresql sudo apt-get autoremove postgresql 

它发生在我身上,也许只有第二个命令是必要的,但是从那里我能够安装Postgres 9.2 (sudo apt-get install postgresql-9.2)。

我正在跟着回复,在编辑/ etc / group的时候我也删除了这一行:

 ssl-cert:x:112:postgres 

然后,当试图安装postgresql时,我得到了这个错误

 Preconfiguring packages ... dpkg: unrecoverable fatal error, aborting: syntax error: unknown group 'ssl-cert' in statoverride file E: Sub-process /usr/bin/dpkg returned an error code (2) 

把“ssl-cert:x:112:postgres”放回/ etc / group似乎可以解决这个问题(所以我可以安装postgresql)