PostgreSQL 포스트마스터가 시작되지 않음

PostgreSQL 포스트마스터가 시작되지 않음

소스에서 PostgreSQL 인스턴스를 빌드한 후 설치하려고 하는데 postmaster데이터베이스 클러스터를 시작하기 전에 데몬을 실행하는 것이 작동하지 않는 것 같습니다. 시작할 때 받은 오류 메시지는 다음과 같습니다.

postgres@Home:~$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
LOG:  could not bind IPv4 socket: Address already in use
HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds 
       and retry.
WARNING:  could not create listen socket for "localhost"
FATAL:  could not create any TCP/IP sockets

인터넷 검색 후 몇 가지 힌트를 제공하는 유일한 결과는 다음 명령을 실행하라는 메시지를 표시했으며 그 결과는 다음과 같습니다.

postgres@Home:~$ lsof -i :5432
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
postgres 1169 postgres    3u  IPv4   1998      0t0  TCP localhost:postgresql (LISTEN)

postgres@Home:~$ netstat -an|grep :5432
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN   

postmaster이로 인해 데몬이 연결하려는 포트가 실제로 사용 가능한 연결이 있다고 믿게 되었습니다 . 원인이 무엇인지에 대한 아이디어가 있습니까?

그리고 궁금하시다면 저는 pgsql 9.2.3을 실행하고 있습니다. (또한 이 내용을 문의하기에 잘못된 Stack Exchange 사이트인 경우 Stack Overflow 또는 Programmers로 이동하세요.)

답변1

postmaster시작 실패 시 오류 메시지 와 netstat출력에는 TCP 포트를 사용하는 프로세스가 이미 있음이 표시됩니다 5432. 아마도 PostgreSQL이 시스템의 일부로 이미 설치되어 있을 것입니다. 당신이 가지고 있는지 확인postgresql-9.1패키지가 설치되고 pg_lsclusters.

port자체 컴파일된 PostgreSQL을 Ubuntu용으로 사전 패키지된 PostgreSQL 과 나란히 실행하려면 /usr/local/pgsql/data/postgresql.conf.

반면에 자체 컴파일된 PostgreSQL만 실행하고 기본 포트를 사용하려면 5432Ubuntu 패키지를 제거하거나 부팅 시 편집을 통해 클러스터를 비활성화할 수 있습니다./etc/postgresql/9.1/main/start.conf

관련 정보