안녕하세요.
또 문제가 생겨서 여기를 찾는군요...
찾아보니 어떤분이 질문을 올리신 것 같은데...
일단 문제는 7.1 에서 7.2로 데이타를 옮길 때 생깁니다.
pg_dump로 백업해서 restore합니다.
그러면 table등은 다 잘 넘어가는데 데이타를 COPY 할 때 오류가 발생하더군요. 오류메세지는
copy: line 98, Invalid EUC_KR character sequence found (0x8946) ...
입니다.
그래서 line 98 을 찾아봤습니다. 그랬더니 별 문제가 없었습니다.
그래서 하나하나 뒤졌는데 여기서 line 98은 파일에서 98번째 줄을 의미하는 것이 아니라 COPY 하고 있는 자료의 98 번째 레코드를 의미하더군요. (흐이구... 현재 COPY 하고 있는 자료가 뭐라는 메세지도 없이 뜬금없이 98번째 레코드라니... 쩝)
그래서 결국 문제가 되는 곳을 찾았습니다.
문제가 되는 것은 값중에 한글로 쓴 글이었습니다. 다음은 그중 일부입니다.
... 말씀하시는 지 ... 어~IF게 해야 할지를 ...
결국 원래 '어떻게' 라고 쓰여져야 하는 부분이 '어~IF게' 이렇게 쓰여져 있는 것이었지요.
아마 입력중 혹은 다른 DB에서 복사중에 하나의 글자가 깨진 모양입니다.
이 오류부분을 삭제하거나 수정하면 COPY가 잘 되더군요.
문제는 뭐 한 글자 깨진 거야 아무 문제도 되지 않는데, 이걸 어떻게 옮기느냐 하는 것입니다.
일단 DB의 크기가 엄청 큰데다가(한 3G 정도 됩니다.) 그런 글자 깨진 건 수도 없을꺼고,,, 또 하나하나 찾아 고치기에는 에러메세지가 line No 가 아니라 Record No를 보여주고 있으니... (예를들어 DB가 백업된 텍스트 문서에서 20000번째 레코드를 찾는게 정말 장난아니죠.)
어떻게 옮기는 것이 좋을 지 방법을 좀 알려주시면 감사하겠습니다.
여러분들의 의견을 기다리며...
|