不知怎的,我已经成功完成了在Ubuntu karmic上安装postgresql的麻烦.我想从头开始,但是当我用apt-get"清除"包时,它仍然留下痕迹,使重新安装配置无法正常运行.
我做完之后:
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不存在',所以我会找到其中一个,但我我肯定不会结束它.
是不是有一些简单的单线(或两个)将它完全烧掉并让我重新开始?
第一:如果您的安装尚未损坏,您可以使用Ubuntu中删除不需要的PostgreSQL服务器("群集")pg_dropcluster
.如果你只想从一个刚刚开始的ps -C postgres
PostgreSQL实例开始,那么优先使用它来完全清除并重新安装.
如果您确实需要进行完全清除并重新安装,请首先确保PostgreSQL未运行.postgres
应该没有结果.
现在运行:
$ pg_lsclusters Ver Cluster Port Status Owner Data directory Log file 11 main 5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log $ sudo systemctl stop postgresql@11-main $ sudo pg_dropcluster --stop 11 main $ sudo pg_createcluster --start 11 main
从您的系统中删除PostgreSQL的所有内容.仅仅清除pg_dropcluster
包是不够的,因为它只是一个空元数据包.
删除所有PostgreSQL包后,运行:
apt-get --purge remove postgresql\*
你现在应该能够:
rm -r /etc/postgresql/ rm -r /etc/postgresql-common/ rm -r /var/lib/postgresql/ userdel -r postgres groupdel postgres
或者完整安装:
apt-get install postgresql
我有一个类似的情况:我需要在debian wheezy上清除postgresql 9.1(我之前已经从8.4迁移,我得到了错误).
我做了什么:
首先,我删除了配置和数据库
$ 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
没有返回任何内容
所以,经过更多的谷歌搜索,我得到了这个命令:
$ sudo pg_createcluster 9.1 main
有了这个我可以启动服务器,但现在我得到了与日志相关的错误.经过更多搜索,我最终将权限更改为/ var/log/postgresql目录
$ sudo chown root.postgres /var/log/postgresql $ sudo chmod g+wx /var/log/postgresql
这解决了这个问题,希望这会有所帮助
我Ubuntu 8.04.2
可以删除的步骤postgres 8.3
列出所有与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
删除以上列出的全部
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
删除以下文件夹
sudo rm -rf /var/lib/postgresql/ sudo rm -rf /var/log/postgresql/ sudo rm -rf /etc/postgresql/
我知道答案已经提供,但是dselect对我不起作用.以下是找到要删除的包的方法:
# 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
apt-get purge postgresql*
足够.
按照以下步骤卸载并重新安装.这对我有用.
首先删除已安装的postgres: -
sudo apt-get purge postgr*
sudo apt-get autoremove
然后安装'synaptic':
sudo apt-get install synaptic
sudo apt-get update
然后安装postgres
sudo apt-get install postgresql postgresql-contrib