Postgres -> Mysql 변환시 문제 입니다.
포스트그레스의 varchar(500) 자료형이 Mysql은 255까지 밖에 지원이 안되어서
Mysql 필드의 자료형을 text 로 생성한 후에 pg_dump 로 백업받은 데이터(varchar)를 인서트 했더니
리턴키 있는 부분이 '1512'라는 문자열로 나옵니다. 두줄 띄워져 있는 부분은 '15121512' 이렇게 나오네요...
해결방법이 없을까요?
mysql, sqlite 모두 pg_dump 프로그램에 의해 만들어진 컬럼 구분은 tab 문자, 로우 구분은 줄바꿈문자의 자료를 호환합니다.
무슨 말인고하면,
pg_dump -a -t tablename dbname > table.data
이렇게 해서, table.data 파일에서 오직 자료만, copy 구문 다음부터 맨끝 \. 앞까지.
따로 저장하고, 아니면,
psql 에서
\copy table to 'table.data'
구문으로 만들어진 자료를,
mysql의
load data infile 구문으로 가져오면 됩니다.
특별히 고민해야할 부분은 없습니다.
sqlite 쪽으로 가져갈때도 마찬가지입니다.
답변 감사합니다.
pg_dump 시 insert 구문으로 백업되게 되어있습니다.
insert 구문에 줄바꿈이 다음과 같이 되어있네요.
안녕하세요.\015\012감사합니다. 이런식으로 되어있네요
\015\012 를 \r\n 으로 바꾸어서 인서트하면 될듯 합니다.