mysql에서 postgresql로 이전하는 방법에 대해 간략히 기술한다.
# 소스 받고 빌드하기
⟫ apt-get install sbcl unzip libsqlite3-dev make curl gawk freetds-dev libzip-dev
⟫ git clone https://github.com/dimitri/pgloader.git
⟫ cd pgloader
⟫ make pgloader
# pgloader 사용 해서 옮기기
⟫ sudo -u postgres build/bin/pgloader mysql://user:password@localhost/from_db postgresql://user:password@localhost/to_db
# schema만 덤프
⟫ sudo -u postgres pg_dump -s to_db > /tmp/schema_for_postgresql.sql
# TODO
덤프한 schema 파일을 열어보면 실제로는 동일한 것들이 중복되어 있는 경우가 있다 (ENUM 등). 수작업이 좀 필요한 부분이다.
schema를 깔끔히 정리하고, 관련 code를 변경한다.
추가적으로 erlang 사용자는 sqerl을 사용하면 인생이 조금 편해질 것이다.
refs:
- http://pgloader.io/
- http://pgloader.tapoueh.org/howto/pgloader.1.html
- https://github.com/chef/sqerl
happy hackin'