postgres 서버가 시작되지 않고 로그가 생성되지 않습니다. 문제 해결 방법은 무엇입니까?


33

우분투 12.04 서버에서 postgres 9.3 인스턴스를 시작하고 있습니다.

~# service postgresql start 

 * The PostgreSQL server failed to start. Please check the log output.
                                                                     [fail]

시작이 실패하지만 로그가 남지 않습니다.이 파일은 비어 있습니다.

tail /var/log/postgresql/postgresql-9.3-main.log 

이 디렉토리에는 다른 파일이 없습니다 : / var / log / postgresql /

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?


이것은 새로운 pg 설치입니까, 아니면 업그레이드를 했습니까? postgres 사용자가 pg 구성 파일 및 로그 파일에 대한 권한을 가지고 있는지 확인하십시오
LinuxDevOps

3
스크립트가처럼 일반적으로 (실행 포스트 그레스 같은 방법을 시도 su - postgres; /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data하고 당신을 제공 무엇을보고 당신은 당신의 설정에 따라 변경 사용자 이름과 경로를해야 할 수도 있습니다..
제니 D가 분석 재개 모니카 말한다

@JennyD가 말한 것 외에도 명령에 추가 -d 3할 것 postgres입니다. 이를 통해 로그에보다 광범위한 디버깅 출력을 기록 할 수 있습니다. 디버깅 출력을 1 또는 2로 변경하여 낮추거나 4 또는 5로 변경하여 늘릴 수 있습니다. 또한 which pgsql?
zymhan

PostgreSQL은 서버와 어디에서 어떻게 설치 되었습니까? 거기에 아무것도가에있는 시스템 로그, 예를 들면은 / var / 로그 / 시스템 로그,은 / var / 로그 / 메시지 등?
Craig Ringer

6
이 질문이 왜 종결되었는지 이해가되지 않습니다.
guettli

답변:


53

디버그가 활성화 된 상태에서 수동으로 실행 해보십시오. 이렇게하면 포 그라운드에서 실행되고 모든 오류 메시지를 표준 오류로 인쇄하는 동시에 자세한 정보가 표시됩니다.

우분투에서 PostgreSQL 9.3의 올바른 명령 줄이라고 생각하지만 약간의 조정이 필요할 수 있습니다 (참고 : 행은 가독성을 위해 분할됩니다. 원한다면 원하는 경우 한 줄로 다시 묶을 수 있습니다).

/usr/lib/postgresql/9.3/bin/postgres -d 3 -D /var/lib/postgresql/9.3/main \
   -c config_file=/etc/postgresql/9.3/main/postgresql.conf

시작은 postgres바이너리 의 위치입니다. 그런 다음 디버그를 활성화하고 레벨 3으로 설정합니다 (상세를 높이거나 낮추기 위해 위 또는 아래로 조정할 수 있음). 다음으로 시작할 데이터 디렉토리와 구성 파일을 지정합니다. 우분투 서버 12.04의 기본값이어야합니다.

바라건대, 그것이 문제의 위치를 ​​결정하기에 충분한 정보를 제공 할 것입니다.


1
수동으로 시작하면 나에게 적합하지만 서비스 사용은 여전히 ​​그렇습니다. 기본 데이터 디렉토리를 변경했습니다. postgres를 시작하기 위해 서비스 명령을 다시 작동시키기 위해 업데이트해야 할 것이 있습니까?
chrismarx

1
@chrismarx- service명령은 /etc/init.d/실제로 프로세스를 시작하고 중지하는 스크립트 주위의 편리한 래퍼 입니다. 스크립트를 수동으로 실행할 때와 다른 점을 보려면 해당 스크립트를 살펴 봐야합니다. 같은 bash -x /etc/init.d/postgresql start일을하는 것이 연구를 시작하기에 좋은 장소 일 수 있습니다.
Christopher Cashell

3
고마워요, 나는 이것을 분류했고, 데이터 디렉토리에 권한 문제가 있었고, 서비스도 sudo로 실행
해야하는

1
생명의 은인. 권한 문제로 인해 데이터 디렉토리에 액세스 할 수 없기 때문에 PostgreSQL이 시작되지 않는 이유를 알 수있는 다른 방법을 찾을 수 없었습니다.
Aron Lorincz

1
나를 위해 그것은 CONFIGS의 권한이었다은 / etc / PostgreSQL을 /
유진
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.