首页 文章

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

提问于
浏览
204

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

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

9 回答

  • 2

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

    如果您确实需要进行完全清除并重新安装,请首先确保PostgreSQL未运行 . ps -C postgres 应该没有显示结果 .

    现在运行:

    apt-get --purge remove postgresql\*
    

    从您的系统中删除PostgreSQL的所有内容 . 只是清除 postgres 包isn 't enough since it'只是一个空元数据包 .

    删除所有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
    
  • 11

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

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

  • 7

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

  • 10

    Ubuntu 8.04.2 上为我工作的步骤,以删除 postgres 8.3

    • List All Postgres related packages
    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
    
    • Remove all above listed
    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
    
    • Remove the following folders
    sudo rm -rf /var/lib/postgresql/
    sudo rm -rf /var/log/postgresql/
    sudo rm -rf /etc/postgresql/
    
  • 11
    apt-get purge postgresql*
    

    足够 .

  • 408

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

    First remove the installed postgres :-

    sudo apt-get purge postgr * sudo apt-get autoremove

    Then install 'synaptic':

    sudo apt-get install synaptic sudo apt-get update

    Then install postgres

    sudo apt-get install postgresql postgresql-contrib

  • 36

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

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

    我觉得可能只有第二个命令是必要的,但从那里我能够install Postgres 9.2(sudo apt-get install postgresql-9.2) .

  • 0

    我正在关注回复,在编辑/ 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)

  • -1

    我在ubuntu 16.04中遇到了同样的问题

    但我修复了这个问题,只需按照这些步骤操作即可,您可以在系统中安装postgresql 10:

    将此添加到您的sources.list:

    sudo vim /etc/apt/sources.list
    
    deb http://ftp.de.debian.org/debian/ wheezy main non-free contrib
    
    deb-src http://ftp.de.debian.org/debian/ wheezy main non-free contrib
    

    之后将这些链接添加到您的pgdg.list文件中,如果它不存在,您必须创建&&添加链接&&保存它 .

    sudo vim /etc/apt/sources.list.d/pgdg.list
    
    deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
    
    deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main
    

    然后更新你的系统

    sudo apt-get update
    
    sudo apt-get upgrade
    

    并安装未满足的依赖项:

    apt-get install ssl-cert
    

    而已 . 现在使用这些命令安装postgresql

    sudo apt-get install postgresql-10
    

相关问题