만쥬의 개발일기
article thumbnail

개발환경 linux ubuntu 20.04

 

문제 상황

postgre 서버를 실행하고, psql로 접속을 시도하자 다음과 같은 에러가 발생했다.

psql: error: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

 

그래서 먼저 포트가 열렸는지를 확인했는데, 포트도 열려있지 않았다.

(포트 설정은 /var/lib/postgresql/{version}/main/postgresql.conf 에서 확인가능)

sudo lsof -i :5432

 

혹시나 해서 Postgre가 꺼져있는지도 확인했으나 정상 작동중이었다.

systemctl status postgresql

 

systemctl list-unit-files

 

원인 분석

ostgresql의 로그가 위치하는 파일로 이동해 로그를 확인해봤다.

로그 파일은 var/log/postgresql/postgresql-{버전}-main.log 에 위치해있다.

로그를 보니 이런 에러를 확인할 수 있었다.

data directory "/var/lib/postgresql/12/main" has invalid permissions
DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).

해당 경로의 권한을 로그에 나오는 것처럼 변경해주자.

sudo chmod 700 /var/lib/postgresql/12/main

이후 재시작 시, 정상적으로 포트가 열리고 실행됨을 확인할 수 있었다.

주의사항

대신 루트 사용자가 아니면 conf 파일을 확인할 수 없다.

급하게 정 봐야된다면, 다음 명령어로 관리자 모드로 접속해 읽어 주자.

sudo -i

 

 

reference

profile

만쥬의 개발일기

@KangManJoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!