본문으로 건너뛰기

unix_socket_directories

버전기본값context타입
14normally /tmppostmaster (재시작)string
15normally /tmppostmaster (재시작)string
16normally /tmppostmaster (재시작)string
17normally /tmppostmaster (재시작)string
18normally /tmppostmaster (재시작)string
19normally /tmppostmaster (재시작)string

client 접속을 받을 Unix-domain socket을 만들 디렉토리를 지정한다. 기본값은 보통 /tmp이며(빌드 시점에 변경 가능), 서버를 시작할 때만 설정할 수 있다.

쉼표로 구분해 여러 디렉토리를 나열하면 socket이 여러 개 만들어진다. 빈 값으로 두면 Unix-domain socket을 만들지 않아 TCP/IP로만 접속할 수 있다. @로 시작하는 값은 abstract namespace socket을 뜻하며 현재 Linux에서만 지원된다. 각 디렉토리에는 socket 파일 .s.PGSQL.포트번호와 lock 파일 .s.PGSQL.포트번호.lock이 만들어지는데, 둘 다 수동으로 지우면 안 된다. Windows에서는 기본값이 빈 값이라 Unix-domain socket을 만들지 않는다.

운영 노트: 배포판 패키지에 따라 기본 디렉토리가 다르다. Debian·Ubuntu 계열 패키지는 /var/run/postgresql을 쓰는데, client library에 컴파일된 기본 경로와 서버의 socket 디렉토리가 어긋나면 로컬 접속이 socket 파일을 찾지 못해 실패한다. psql은 붙는데 애플리케이션이 붙지 못한다면 먼저 의심해 볼 지점이다.

출처: PostgreSQL 18 문서