어떻게 든 우분투 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
-
모든 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 자동 제거
그런 다음 ‘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) 를 설치할 수있었습니다 .