programing

ubuntu에서 postgresql을 완전히 제거하고 다시 설치하는 방법은 무엇입니까?

minimums 2023. 6. 2. 20:20
반응형

ubuntu에서 postgresql을 완전히 제거하고 다시 설치하는 방법은 무엇입니까?

어떻게든 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가 존재하지 않는다'고 불만을 표시하므로, 그 중 하나를 찾아 가보겠습니다. 하지만 이것으로 끝이 아닐 것입니다.

완전히 태워버리고 다시 시작할 수 있는 쉬운 한 줄(또는 두 줄)이 없을까요?

옵션 A

손상되지 않은 SQL을 사용하여 원하지 않는 Postgre Postgre 삭 수 있 .servers ("")할 수 .pg_dropcluster새 Postgre를 사용하여 다시 시작하려는 경우 전체 삭제 및 재설치보다 먼저 이를 사용합니다.SQL 인스턴스입니다.

$ 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

전체 삭제 및 재설치를 수행해야 하는 경우 먼저 Postgre를 확인합니다.SQL이 실행되고 있지 않습니다. ps -C postgres결과가 표시되지 않아야 합니다.

이제 실행:

apt-get --purge remove postgresql\*

Postgre.시스템에서 SQL.삭제하는 중입니다.postgres패키지는 빈 메타 패키지이기 때문에 충분하지 않습니다.

원스 올 포스트그레SQL 패키지가 제거되었습니다. 실행:

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

저도 비슷한 상황이 있었습니다.저는 데비안 위지에서 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

문제를 해결했습니다. 이것이 도움이 되기를 바랍니다.

제거 작업을 수행한 단계

  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/
    
apt-get purge postgresql*

충분합니다.

이미 답변이 제공된 것은 알고 있지만, 선택이 나에게 효과가 없었습니다.다음은 제거할 패키지를 찾는 작업입니다.

# 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 편집

ae 단계에 따라 제거 및 재설치합니다.저한테는 효과가 있었어요.

먼저 장착된 포스트그레스를 제거합니다.

sudo apt-get 퍼지 postgr*

sudo apt-get 자동 제거

그런 다음 '시냅스'를 설치합니다.

sudo apt-get 설치 시냅스

sudo apt-get 업데이트

그런 다음 포스트그레스를 설치합니다.

sudo apt-get install postgresql postgresql-get

방금 Ubuntu 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)를 설치할 수 있었습니다.

/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을 설치할 수 있었습니다).

Ubuntu 16.04에서도 동일한 문제에 직면했습니다.

하지만 저는 그 문제를 해결했고 매우 간단합니다. 이 단계를 따르기만 하면 시스템에 postgresql 10을 설치할 수 있습니다.

source.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

언급URL : https://stackoverflow.com/questions/2748607/how-to-thoroughly-purge-and-reinstall-postgresql-on-ubuntu

반응형