[postgresql] 우분투에서 postgresql을 완전히 제거하고 다시 설치하는 방법은 무엇입니까? [닫은]

어떻게 든 우분투 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가 존재하지 않는다’고 불평하므로 그 중 하나를 찾아 보겠습니다. ‘ 그것이 끝나지 않을 것입니다.

그것을 완전히 태우고 다시 시작할 수있는 쉬운 한 라이너 (또는 두 개)가 있습니까?



답변

옵션 A

설치가 아직 손상되지 않은 경우을 사용하여 원하지 않는 PostgreSQL 서버 ( “클러스터”)를 삭제할 수 있습니다 pg_dropcluster. 새로운 PostgreSQL 인스턴스로 다시 시작하려는 경우 전체 제거에 우선하여이를 사용하고 다시 설치하십시오.

$ 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

옵션 B

완전히 제거하고 다시 설치해야하는 경우 먼저 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에서 마이그레이션했으며 오류가 발생했습니다).

제가 한:

먼저 구성 및 데이터베이스를 삭제했습니다.

$ 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

  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/
    

답변

답변이 이미 제공되었지만 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 자동 제거

그런 다음 ‘synaptic’을 설치하십시오.

sudo apt-get 설치 시냅틱

sudo apt-get 업데이트

그런 다음 postgres를 설치하십시오

sudo apt-get 설치 postgresql postgresql-contrib


답변

우분투 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) 를 설치할 수있었습니다 .