[PostgreSQL]로컬 접속 문제 해결

빅픽처·2023년 3월 29일

PostgreSQL

목록 보기
2/2

사내 토이프로젝트로 DB를 postgreSQL을 사용하여 진행하였다. 처음 설치했을때는 아무 문제 없이 로컬에서 잘사용하다. 어느날 갑자기 localhost로 접속이 되지않는다. 어떠한 이유가 있었겠지만... 여러 검색을 해보니 어떤사람은 윈도우 업데이트를 했더니 이렇게 됬네, postgre initdb 문제 때문에 그렇다네 이유야 몇가지가 있는듯하다. 로컬에서 다시 쓸 수 있도록 하기위해 계속 찾아보았다.

  • PgAdmin4로 접속해도 5432port로 접속안된다고함(SQL Shell도 동일한 현상)

1.cmd창에서 netstat -ano로 port status확인..
이상없음, port 5432 서비스중인거 없음

2.서비스에서 postgresql 재시작.

계속 서비스지연 1053에러가 뜨면서 안된다.

  1. postgre 재설치.
    postgres uninstall하게되면 data파일은 삭제가 안되므로 수동으로 삭제를 해줘야한다고한다. 처음에 그냥 재설치했다가 나중에 여러번 재설치하게되면서(계속안됬었음)후에는 계속 오류가 완벽하게 설치가 안될 수있네 하면서 warning문구가 뜬다. 서비스도 확인해보니 1.이랑 같은 문구 계속뜸.

  2. 서비스에러에서 나오는 1053에러가 왜 나오는지 찾아봄 4가지 이유가 있을수 있다고한다.

    1) Low timeout value(대기시간)

  • 레지스트리 에디터 열기(작업표시줄 reg라고만쳐도 나옴
  • 위에 파일 누르고 export(내보내기) registry에 대해 백업 해놓으라
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
    경로로 이동후 Control 폴더 클릭. 오른쪽 빈페이지에 우클릭해서 새로만들기>DWORD(32bit)
    이름:ServicesPipeTimeout로 지정
  • ServicesPipeTimeout 더블클릭후
    값데이터:18000
    단위:10진수(Decimal)
    확인 클릭후 재부팅.

위와 같은 방법도 많이 나와 있었지만 해결안됨.

2) Firewall restriction(방화벽문제)

방화벽도 내려보고 5432포트에 특정으로 허용되도록 설정도 해보았는데 해결안됨.

3) Permission of File(파일권한)

속성/고급속성에서 파일권한도 변경해보았는데 서비스시작 안됨.

4) Corrupted File(온전하지못한 파일)

이것에 대해서는 따로 확인은 안해봄.

계속 삽질하다가 마지막에 결국 찾아냄.
cmd창에서 pg_ctl이 있는 경로로 디렉토리를 옮겨준다. (bin파일 안에 있음)
명령창에 해당 커맨드입력. -D data파일이 있는경로(본인 postgre버전에 맞게)
pg_ctl -D "C:\Program Files\PostgreSQL\15\data" start
error 상태 확인을 위해서는
pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" status

다시 PgAdmin4와 psql에서 접속을 하니 드디어 local에서 postgre가 된다.

0개의 댓글