2017-01-16 1 views
3

MySQL에서 PostgreSQL으로 기하 데이터로 데이터베이스를 마이그레이션하려고합니다. POINT 데이터 유형이 두 데이터베이스간에 호환되지 않기 때문에 걸림돌이 발생했습니다.MySQL POINT 데이터 유형을 PosgreSQL로 변환

MySQL에서 POINT 값은 0xE21D4B40과 같은 단일 16 진수 문자열입니다. 그러나 PostgreSQL's POINT datatype은 좌표가 (x,y) 형태이므로 PostgreSQL에 삽입 할 수 없습니다. 이 전환을 처리하는 가장 좋은 방법은 무엇입니까?

+3

Postgres 측에 삽입하기 전에 (아마도 해당 값을 압축 해제해야합니다.) (https://dev.mysql.com/doc/refman/5.7/en/fetching-spatial-data.html). – tadman

+0

그래, 그게 가장 쉬운 방법 같아. 도와 주셔서 감사합니다! – Ecliptica

+0

정확한 방법을 찾아내는 경우, 후손을 위해 여기에 답변을 게시 할 가치가 있습니다. – tadman

답변

2

@ tadman의 의견은 내 솔루션이었습니다 : 16 진수 문자열을 MySQL 측의 한 쌍의 값으로 푸는 것. 필자의 경우 16 진수 문자열은 이라는 city 테이블에있는 열이므로 SELECT ST_AsText(location) FROM city;이라는 쿼리를 사용했습니다.

이렇게 반환 된 행은 PostgreSQL이 받아 들일 수있는 POINT(-133.03531 54.23346)과 같습니다.

관련 문제