Mac OSX에서 Postgres DB가 시작되지 않음 : 오류 메시지 : Unix 도메인 소켓 연결
Postgresql을 설치 한 다음 로컬 Mac OSX Mountain Lion에서 여러 레일 앱을 실행하고 데이터베이스 등을 만들었습니다. 오늘 잠시 후 pgAdminIII를 시작하고 데이터베이스 서버를 시작하려고하면이 오류가 발생했습니다.
빠른 Google 이이 게시물을 보여주었습니다 . 더 많은 브라우징은 이것의 근본 원인이 될 수있는 일종의 postmaster.pid 파일이 주변에있을 수 있다는 사실을 지적했습니다. 내가 삭제하면 괜찮을 것입니다.
그러나 컴퓨터에서 항목을 삭제하기 전에 더 많은 문제가 발생하지 않는 체계적인 방식으로 디버깅하는지 확인하고 싶었습니다.
파일을 삭제하기 전에 읽은 곳에서 다음 명령을 실행해야합니다.
ps auxw | grep post
결과가 없으면 파일을 삭제해도됩니다. 그렇지 않으면 아닙니다. 글쎄, 나는 그 명령의 결과를 얻었다.
AM 476 0.0 0.0 2423356 184 s000 R+ 9:28pm 0:00.00 grep post
그래서 지금 당연히 나는 완전히 혼란스러워했습니다.
그래서 내가 무엇을해야하니?
다음은 내 postgres 서버 오류 로그의 일부입니다.
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 171) running in data directory "/usr/local/var/postgres"?
Postgresql이 여전히 실행되고 있지 않지만 여전히 동일한 오류가 발생하고 아무것도 변경되지 않았습니다. 너무 닭이 너무 많아서 확인하지 않고 물건을 삭제합니다.
전문가 중 일부는 멍청한 사람을 안내해 주시겠습니까?
감사
오늘 Mac Sierra에서 같은 문제가 발생했습니다. Mac Sierra postmaster.pid
에서 /Users/<user_name>/Library/Application Support/Postgres/var-9.6
. 삭제 postmaster.pid
하면 문제가 해결됩니다.
이는 데이터베이스가 올바르게 종료되지 않은 경우 발생할 수 있습니다.
이를 수정하려면 postmaster.pid 파일을 삭제하십시오.
rm /usr/local/var/postgres/postmaster.pid
또는 백업 :
mv /usr/local/var/postgres/postmaster.pid /usr/local/var/postgres/postmaster.pid.backup
이제 데이터베이스가 작동합니다.
내가 취한 단계는 다음과 같습니다.
- 컴퓨터를 재부팅했습니다.
- 나는 터미널을 열고 달렸다
cd /
- 그런 다음
ls -la
- 내가 갈 수 있는지 확인
MackintoshHD/usr/local/var/postgres
- 그런 다음
ls -la
- 여기서 postmaster.pid 파일을 보았습니다.
- 이 명령
cp postmaster.pid ~/Desktop
을 실행 하여 파일을 데스크탑에 복사했는데 파일을 삭제할 때이 작업을 수행하고 싶습니다. 뭔가 잘못되면 다시 되돌릴 수 있습니다 - 그런 다음이 명령을 실행하여 postgres 디렉토리에서 파일을 제거했습니다.
rm -r postmaster.pid
- 내 pgadmin3 gui로 가서 해고했습니다. 그리고 Voila는 작동했습니다. :)
도움을 주신 @Craig Ringer에게 감사드립니다.
Postgres.app을 사용하고 있으며 아래가 저에게 효과적이었습니다.
"justin"을 사용하지 않고 Postgres 폴더를 미리 찾아서 아래 터미널에 명령을 입력했습니다.
$declare -x PGDATA="/Users/justin/Library/Application Support/Postgres/var-9.4"
$pg_ctl restart -m immediate
Justin이 자신의 게시물에서 설명했듯이 그 이후의 결과는 다음과 같습니다.
서버 종료 대기 중 ……………………………………………………… 실패 pg_ctl : 서버가 종료되지 않음
명령을 다시 입력 한 후 :
$pg_ctl restart -m immediate
작동했고 다음 메시지를 받았습니다.
pg_ctl : 이전 서버 프로세스 (PID : 373)가 어쨌든 서버를 시작하는 것 같습니다. 서버 시작 LOG : 데이터베이스 시스템이 중단되었습니다. 2015-07-28 18:15:26 PDT LOG : 데이터베이스 시스템이 제대로 종료되지 않았습니다. 자동 복구 진행 중 로그 : 0 / 4F0F7A8에서 길이가 0 인 레코드 로그 : 다시 실행이 필요하지 않습니다. 로그 : 데이터베이스 시스템이 연결을 수락 할 준비가되었습니다. 로그 : autovacuum 실행기가 시작됨
'Nice programing' 카테고리의 다른 글
클래스가 동일한 요소에 클릭 이벤트 리스너 추가 (0) | 2020.12.02 |
---|---|
onclick 전체 화면으로 이동 (0) | 2020.12.02 |
Javascript setInterval 및`this` 솔루션 (0) | 2020.12.02 |
공개 디렉토리를 얻는 방법? (0) | 2020.12.02 |
Gradle을 사용하여 opencv를 사용하는 방법은 무엇입니까? (0) | 2020.12.02 |