데이터 백업은 별다른 문제가 없다면 그냥 pg_dump 를 사용하시기 바랍니다.
COPY 명령어는 주로 덤프 받은 파일을 읽어 들이고 할 일이 있을 경우 (주로 스크립트 또는 프로그램 작성중에...) 에만 사용하는 것이 좋습니다.
그리고 COPY 명령어에서 그렇게 row 가 빠진다는 것은 잘 이해가 가지 않는 현상이로군요. 저의 서버에서는 그런 문제없이 잘 실행되고 있습니다. :/)
저가 다시한번 자세한 테스트를 해 보도록 하겠습니다.
> 안녕하세요.
> 답답할 때 이곳에서 좋은 답변 많이 듣고 가는 왕초보입니다. ^^;
>
> 다름이 아니라...
> pg_dump를 사용하거나 psql에서 COPY 명령을 써서 데이터를 백업받으려고
> 합니다.
> 받아지기는 하는데, 문제는 생성된 파일을 열어보면 일부 데이터가 빠져있
> 다는 것입니다.
> 예를 들면 10건의 데이터가 다음과 같이 테이블에 저장되어 있는데
> sn name memo
> // /////// /////////
> 1 허준 의사 ...
> 2 안중근 의사 ...
> ...
> 10 윤봉길 의사
>
> 이를 dump나 copy를 이용해 받아보면 2,3,7,8,9,10 만 받아지고 나머지는
> 안받아지는 겁니다.
> 테이블을 직접 검색해보면 분명히 데이터는 있는데...
> 이유가 뭘까요...
> 혹시 dump나 copy 명령 사용시 다른 곳에서 이 테이블에 억세스를 하거나
> 다른 작업이 동시에 발생하면 이처럼 데이터가 손실될 수도 있나요? 왜냐하
> 면 DB사용을 막지 않은 상태에서 작업을 했거든요.(서비스중)
> 데이터를 빠짐없이 백업받을 수 있는 방법은 무엇인지요...
>
> 추가질문 :: 전에 COPY 명령 사용에 대해 정재익님께서 좋은 답변을 주신
> 적이 있습니다. 그런데 copy 명령문에서 using delimiters '|'를 하면 You h
> ave extra tokens after the filename.라는 에러가 발생합니다.
> delimiter 사용부분을 빼고 copy users to member라고만 하면 에러는 안납
> 니다만... ''로 묶어보기도 하고, file명에 확장자를 줘보기도 하고...
> 여러가지로 명령문을 바꿔봤지만 결과는 똑같네요...
>
>
> 왕초보인 제가 이곳에서 답변을 할 수 있는 날이 오기를 바라며...
> 좋은 답변 부탁드립니다.
|