프로그래밍/DB

psycopg2.OperationalError: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

kugancity 2020. 3. 27. 19:51
반응형





postgresql 오류 처리 



어느날 서버가 갑자기 다운되어서 재시작을 한 후 

매번 잘 돌아가던 python 스크립트에서 갑자기 오류를 내기 시작했다. 

참고로 스크립트에서 변경된 사항은 전혀 없었다. 




Traceback (most recent call last):

  File "getInfoPost.py", line 379, in <module>

    conn = pc.connect("dbname=realdbname user=username password=realpass")

  File "/root/anaconda3/lib/python3.6/site-packages/psycopg2/__init__.py", line 130, in connect

    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)

psycopg2.OperationalError: could not connect to server: No such file or directory

        Is the server running locally and accepting

        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?




ps afx | grep postgres로 postgresql 서버가 떠 있는것도 확인했다.  

  심지어 crontab에 등록해놓은 기존 스크립트는 문제없이 돌아가고 있었는데 

python3 scriptname.py로 실행할때만 저런 오류 메세지가 나왔다. 

혹시 몰라서 postgresql 도 다시 시작해보고 이런 저런 삽질을 하고 있었는데

문제는 간단하게 풀렸다. 

psycopg2 db 접속 함수에 host=localhost만 추가로 입력해주니 문제없이 작동을 했다 ㅠㅠ (내시간 ㅠㅠ) 



import psycopg2 as pc    

conn = pc.connect("host=localhost dbname=realdbname user=username password=realpass")



뭐가 원인이였는지는 모르겠지만 앞으로는 host도 명시적으로 명기해야겠다고 생각했다(...)






728x90
반응형