쿠분투 20.04에서
내 컴퓨터에서 Docker 컨테이너를 성공적으로 시작하려면 Postgres 프로세스를 종료해야 합니다. 나는 이것을 다음과 같이 한다:
sudo ss -lptn 'sport = :5432'
, 출력은 다음과 같습니다.
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 244 127.0.0.1:5432 0.0.0.0:* users:(("postgres",pid=1003,fd=5))
kill <pid>
이제 Postgres 데이터베이스가 있는 Docker 컨테이너를 실행할 수 있습니다. Postgres 데이터베이스를 실행하기 전에 이러한 단계를 따를 필요가 없도록 하고 싶습니다. 어떤 이유로 lsof -i :5432
프로세스를 반환하지 않습니다.
Postgres가 백그라운드에서 실행되는 것이 표준 동작입니까? 이 프로세스를 중지해도 안전합니까? 그렇다면 이 프로세스가 백그라운드에서 자동으로 실행되는 것을 어떻게 중지할 수 있습니까?
나는 성공하지 못한 채 다음 명령을 시도했습니다.
sudo systemctl disable postgresql
sudo update-rc.d postgresql disable
답변1
데이터베이스 프로세스를 종료하는 것은 데이터베이스를 파괴하는 정말 좋은 방법입니다. PostgreSQL은 기본적으로 설치되지 않으므로뭔가 또는 누군가이유가 있어서 기계에 올려놓은 게 틀림없어요. 시스템에 필요한 항목이 있는지 확인하고 싶을 것입니다.
하지만 질문에 대답하려면 다음과 같이 PostgreSQL을 안전하게 중지할 수 있습니다.
sudo service postgresql stop
다음과 같이 부팅 시 PostgreSQL이 시작되지 않도록 할 수 있습니다.
sudo service postgresql disable
시스템에 데이터베이스 엔진을 로컬로 설치할 필요가 없는 경우 이를 제거할 수 있습니다.
sudo apt --purge remove postgresql
메모:이렇게 하면 서버 요소만 제거되고 클라이언트 라이브러리는 그대로 유지되어 PostgreSQL 설치에 연결됩니다.