当前位置:  开发笔记 > 数据库 > 正文

如何在ubuntu上彻底清除并重新安装postgresql?

如何解决《如何在ubuntu上彻底清除并重新安装postgresql?》经验,为你挑选了6个好方法。

不知怎的,我已经成功完成了在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不存在',所以我会找到其中一个,但我我肯定不会结束它.

是不是有一些简单的单线(或两个)将它完全烧掉并让我重新开始?



1> John Mee..:

第一:如果您的安装尚未损坏,您可以使用Ubuntu中删除不需要的PostgreSQL服务器("群集")pg_dropcluster.如果你只想从一个刚刚开始的ps -C postgresPostgreSQL实例开始,那么优先使用它来完全清除并重新安装.

如果您确实需要进行完全清除并重新安装,请首先确保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


我已经重新设计了删除建议,以手工编辑`/ etc/passwd`和`/ etc/group`,转而使用更安全的`userdel`和`groupdel`.此外,不是使用`dselect`来手动选择包,而是使用apt通配符来可靠地匹配它们.
'pg_dropcluster`的+1!(示例用法:`pg_dropcluster --stop 9.1 main`)
将libpq5和libpq-dev添加到该清除列表中,该lib给了我很多问题,直到我在正确的版本上重新安装它

2> user9869932..:

我有一个类似的情况:我需要在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

这解决了这个问题,希望这会有所帮助



3> Mithun Sreed..:

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/
    



4> Klaas van Sc..:

我知道答案已经提供,但是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



5> Anish Menon..:
apt-get purge postgresql*

足够.


apt-get autoremove postgresql*

6> Gurudath BN..:

按照以下步骤卸载并重新安装.这对我有用.

首先删除已安装的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

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有