> pg_dump백업기능을 사용하면
> 명령어 : pg_dump /dv DB명 /f 생성할파일명
> "생성할파일명"의 파일이 생기는데 vi편집기로 내용을 보면
> 일종의 스크립트 파일로 db,sequence,index를 create하고
> 각각의 레코드를 삽입시키는 명령어로 되어있더군요.
>
> 그런데 궁금한 것은 이렇게 insert시키다보면
> 아무래도 많은 시간이 걸릴거고
> 다른 좀더 효율적인 방법이 없을까 하고 연구를 하고 있는데...
> 예를들어
> db파일을($PGSQL/base아래의)그냥 cp 해서 보관하고 있다가
> 데이터파일에 문제가 생기면
> db는 pg_dump결과물의 내용 앞부분을 발췌해서 create시키고
> 데이터는
> insert into TARGETFILE select * from cp보관파일;
> 하여 insert하면 데이터를 더 빨리 복구할수 있지않을까 싶은데
> 가능한 예기인가요?
> 그리고 db_dump로 데이터를 일일이 insert시키는 거랑
> 속도면에서 별 차이가 없을까요?
> 다른 dbms에서는 insert할때 1레코드나 500개 레코드나
> 작업시간이 거의 같다고 들었는데...
> 아시는 분 ~~~
가장 좋은 방법은 같은 말씀하신대로 $PGHOME/data 디렉토리를 복사 해 두었다가 그래도 다시 restore 시켜서 사용하는 방법입니다. 하지만 이것은 postgresql 의 시스템을 업그레이드 한다던지 하는 경우에는 불가능한 일입니다. '백업' 이라는 단어로 찾아 보시면 백업이라는 문제가 얼마나 많은 사람들의 가슴을 멍들게 했는지 알수 있을것으로 생각됩니다. :/)
|