WindowsXP에서 Postgres를 Apache와 함께 사용하고 있었는데
PC가 고장나서 하드디스크만 떼어 다른 시스템에 붙여서 복구하려고 합니다.
어찌어찌해서 웹서버는 살렸고, Postgres를 다시 깐 상태인데요,
Postgres DB를 백업하지 않은 상태라,
어떻게 살려야 할지 막막해서 문의드립니다.
백업하지 않은 postgres db를 살릴 방법이 없을까요?
떼넨 하드디스크의 물리적인 손상이 없었다면, 특별히 따로 작업해야할 것은 없습니다.
마지막 상태까지 깔끔하게 복구할 것이기 때문입니다.
그냥 데이터 디렉토리 전체를 새 하드디스크에 복사해서 사용하면 될 것 같네요.
새로 설치한 DB의 데이터 디렉토리를 지우고, 옛날 것으로 바꾸어서 서비스 다시 실행하면 될 것 같네요.
그렇게 해도 왜 안되져 ㅜ
하드 손상 없었구요 ㅜ
일단 DB 서비스 시작이 안되네요...
서비스 시작도 안되서
데이터베이스로 접속 실패가 나옵니다....ㅜㅜ
아.. 파일 소유주 문제가 발생할 수도 있습니다.
데이터 클러스터 디렉토리 이하 접근 권한을 db 서비스의 실행 권한을 가진 사용자가 사용할 수 있겠끔 접근 권한을 바꾸어야하지 않을까싶네요.
기타 구체적인 오류 로그는 OS 이벤트 로그를 참조 해 봐야할 것 같네요.
Postgres 디렉토리 권한을 db 서비스 실행 권한을 가진 사용자에게 부여했고
에벤트 로그를 확인해 보니까 postgres 서비스 시작 실패 로그만 남아있습니다
제어판 - 관리도구 - 서비스에서 해당 서비스를 시작하면, "해당 서비스가 로컬 컴퓨터에서 시작했다가
중지되었습니다. 어떤 서비스는 할 작업이 없으면 자동으로 중지됩니다"라는 메시지가 나오며
프로그램 내에서 마우스 오른쪽 클릭하여 서비스를 시작하면 -> 서비스 시작이 완료 되었다고 하나
실제 서비스를 보면 서비스 시작 하는 중이라고 되어 있고 시작이 되지 않습니다.
어떻게 해야하나요? ㅜㅜ 도와주세요 ㅜ
cmd 창에서
runas 라는 명령으로 OS의 db 서비스 실행 계정으로 바꾸고,
db 소프트웨어가 설치된 디렉토리의 bin 안에, pg_ctl 명령으로 수동으로 db를 실행해보세요.
그럼 왜 DB 가 실행되지 않는가에 대한 오류를 그 창에서 보여주거나, pg_log에 로그로 남깁니다.
그렇게 수동으로 문제를 풀어봐야할 것 같네요.
위에 말씀처럼 실행시켜도
그 화면에서 왜 실행이 안됬는지 결과가 안나올 뿐만아니라
로그도 남지 않습니다. 어떻게 해야하는거져..?