DB

[postgreSQL] ERROR: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such file or directory Is the server running locally and accepting connections on that socket?

앳홍 2024. 4. 12. 14:55
반응형
error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such file or directory Is the server running locally and accepting connections on that socket?

 

위와같은 에러메세지가 났다.

고생 좀 했다.

아오

 

postgresql의 버전이 엉킨건가 싶어서 내가 전에 생성해둔 블로그를 참고해서 삭제하고 다시 설치 해보았으나 똑같은 오류가 났다.

다른 블로그와 페이지들을 찾아보았지만 케이스가 조금씩 다른 듯했고 나와 비슷한 케이스의 사람들을 위해 해결하게 된 나의 고군분투 과정을 작성해두도록 하겠다.

부디 도움이 되길!

 

성공한 방법은 하단 쪽에 위치해있으니 참고~~~

 

 

전에 생성해둔 local postgresql 생성 방법 

2023.08.06 - [DB] - [postgreSQL] 데이터 베이스생성 및 연결하기(feat. 설치 중 오류 해결)


[실패] 해결 방법 1. 

  • 실행중인 postgresql 중지
brew services stop postgresql@14

 

  • postgresql 상태 정보 확인
brew services info postgresql@14

모두 실행되지 않고있음

 

  • postmaster.pid 파일 제거
rm -f /opt/homebrew/var/postgresql@14/postmaster.pid

 

  • 삭제하고 다시 시작
brew services start postgresql@14

 

실행

psql

응 안돼 돌아가.....

 


[실패] 해결 방법 2. 

실행 시킬 수 있는 서비스의 목록을 확인

brew services list

에러메세지 512 보인다.

확인했을때 postgresql@14는 정상적으로 실행시킬수 없는 상황인걸 보여준다.

 

해당 로그 확인

tail -f /opt/homebrew/var/log/postgresql@14.log

 

경로가 달라서 확인한 결과 해당 파일 및 디렉토리가 없다고 로그가 계속 적혀있다.

 

중단

brew services stop postgresql@14

 

postgres@14 버전 삭제 후 재설치 

brew uninstall postgres@14
brew install postgres@14

 

실행 시킬 수 있는 서비스의 목록을 확인

brew services list

 

했지만 그래도 다시확인했을때 동일한 오류가 나옴

^^…..

 

postgresql 상태 정보 확인

brew services info postgresql@14

 

모두 실행되지 않고 있음

 

 

 

brew services info postgres

brew services list

 

brew services start postgresql@14 # postgresql 14버전 서비스 시작
brew services list # 수행중인 서비스 확인

또 오류가 나븜..

 


[실패] 해결 방법 3. 

현재 사용자가 누군지 확인

whoami

 

나의 Postgresql 의 설치 경로는 '/opt/homebrew/var/postgresql@14' 가 아니기 때문에

정확한 설치 경로 확인

brew --prefix postgresql@14

경로 확인 결과: /opt/homebrew/opt/postgresql@14

 

폴더의 소유권을 현재 사용자로 변경

sudo chown -R $(whoami) /opt/homebrew/opt/postgresql@14

 

또 똑같은 확인 과정...

brew services stop postgresql # postgresql 중단
brew services list # 서비스 확인

postgresql 현재 작동중이지 않는 것 확인됨.

brew services restart postgresql@14 # 재시작
brew services list # 서비스 확인

또 안됨

징글징글함

 


[성공] 해결 방법 4. 

https://www.postgresql.org/docs/current/app-initdb.html

 

initdb

initdb initdb — create a new PostgreSQL database cluster Synopsis initdb [option...] [ --pgdata | -D ] directory Description initdb …

www.postgresql.org

initdb 사용해서 글러스터 다 날려버림

initdb /opt/homebrew/var/postgresql@14

[!!!주의!!!] 삭제하면 로컬 db에 올라가 있는 데이터 모두 삭제되므로 

로컬 db에 올려둔 백업 해두고 initdb 실행해야 함

 

 

다시 서비스 확인..

brew services list

오잉 바로 됨

postgres 접속

psql postgres

접속 된다. 완료.

아주 기모띠하다..!하하하하하!!!!!!!

 

 

이걸 하게 된 이유…

원래 로컬 db에 geometry가 적용이안된다고 오류나서 시작된것,,,

내 로컬 DB에 Geometry 포함된 데이터프레임 적재하려다가 아래와 같은 오류가 남

 

저번에 접속정보를 적어두지 않고 너무 오랜만에 접속하는거라서 처음에는 내 로컬 db 접속정보가 잘못된줄알았다

(다들... 저와 같은.. 어리석은 짓은 하지 않겠죠? 적어두기 약속.. 나도 내가 왜 안적어뒀는지 모를 일이다.ㅋㅋㅋ)

알아보니 이건 db내에서 geometry 관련한 패키지가 없는거라고 보면 되는 것 같다.

그래서 extension으로 확장모듈 설치하려고했는데

postgresql에서 기본적으로 지원하는 것 중에 존재하지 않는 걸 확인했고

그래서 postgis를 내 로컬에 깔고 생성해주었다.

아, 여기에서 Postgis 설치할때 10기가정도… 소모가 되던데... 응... 참고로 알고 있기로,,, 약속쿠,,,,!

 

여튼..

  • psql postgres 로 접속 후 postgis 확장 모듈 설치 방법
create extension postgis;