2010-05-09 12 views
4

백업하는 것을 잊었습니다. 이제 데이터베이스와 빈 포스트그레스를 가진 새로운 시스템으로 하드 드라이브를 가지고 있습니다. 어떻게 든 데이터베이스를 복원 할 수 있습니까? 파일 등의 간단한 복사로?백업없이 postgresql DB를 복원하는 방법

+0

아마도 ServerFault로 이동해야합니다. –

+2

그리고 미래에 그 백업을 만들어야합니다 .-) – ChristopheD

답변

5

당신은 전체 데이터를 기존의 PostgreSQL 시스템의 디렉토리가있는 경우 (그리고 그것은 개정 번호 만 다른 동일한 버전, 또는 경우) 당신이 당신 데이터 디렉토리의 장소에 보관하는 시도 할 수 있습니다 새 postgresql 설치. (물론, 이것을하기 전에 postgres 서버를 멈추십시오.)

백업 복원을 수행 할 필요가 없을 때 기본적으로 upgrading postgresql을 사용할 때와 동일한 절차입니다.

편집은 다음 leonbloy의 대답에 추가

+2

또한 동일한 아치 (32 비트 또는 64 비트)이어야하며 동일한 플랫폼 (Linux, Solaris, Windows 등)이라고 생각하십시오.). –

+1

thx) 작동) –

3

(윈도우, 등 - - 64 비트 리눅스 32) 코멘트에 지적한 바와 같이, 나는뿐만 아니라 동일 (또는 거의 같은) 버전,하지만 동일한 아키텍처 가정 , 특히 8.3에서 8.4 (그리고 결국 9.0)로 업그레이드해야하는 경우 pg_migrator을 시도 할 수 있습니다.

2

당신의 경우에는 파일을 가지고 있지만 그렇지 않다면 어쩌면 데이터베이스의 로그로 뭔가를 할 수 있습니다. 데이터베이스에있는 명령문의 로그를 정상적으로 보려고 시도 할 수 있습니다. /var/log/postgresql/postgresql.log가 있거나 거기에 있거나 log_statements = 'mod'또는 'all'이 전에 설정되어 있으면 일부 데이터를 복구 할 수 있습니다.

테이블별로,이 테이블에서 데이터베이스의 모든 또는 최근 내역을 삽입하여 검색하여 테이블. 일부 유닉스 도구로 텍스트를 잘라서 문장 만 가져 와서 ";" 각 진술의 끝 부분에 삭제와 같은 중요한 쿼리가 있습니다.

테이블별로 테이블을 만들어야하며 데이터가 있어야하며 데이터베이스가 백업없이 너무 오래 실행되지 않습니다.

경우에 따라 요일을 저장하기 위해 마지막 작업이나 이와 비슷한 것이 필요합니다.

그러나 이것은 아폴로 13 재해에 대한 순간이며 좋은 백업을 대체 할 수 없습니다.

관련 문제