database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 5914 게시물 읽기
No. 5914
MySQL 에서 PostgreSQL 로 이동(Migration)
작성자
주만호
작성일
2005-02-21 11:43
조회수
4,367

요즘 라이센스 정책이 시끄러워서.

저희 형상관리(소스관리,배포관리) 솔루션 제품의 DB 를 PostgreSQL 를 더 지원하려고 합니다.

그런데, 기본DB 가 MySQL 이어서 보통 MySQL to MSSQL 이런툴가지고 포팅을 하고 그랬는데요.

MySQL to PostgreSQL 툴이나, 그런것들이 보이지 않네요.

mySQL dump 의 Compatable 옵션은 인덱스나, 자동증가값 처럼 DB 에서 꼭 필요한 것들은

제외 시키더군요.

 

혹시 MySQL SQL(DDL,DML) 을 PostgreSQL 로 잘 뽑아 낼 수 있는 방법 없을까요?

 

이 글에 대한 댓글이 총 4건 있습니다.

현재로써는 이놈만이 대안인듯하네요.

문서

http://www.omnistarinc.com/~fonin/projects/my2pg/my2pg_man.html

 

프로그램:

http://www.omnistarinc.com/~fonin/projects/my2pg/my2pg.pl

 

문제는 perl 입니다.

win32 환경 사용자들은 perl 쪽을 낯설어해서리,

아무튼 잘 풀어보십시오.

 

사용기도 한번 올려주시면 필요한 다른 사람들이 많은 도움을 받겠지요.

 

김상기(ioseph)님이 2005-02-21 12:20에 작성한 댓글입니다.

답변 감사합니다.

 

사용기 - WindowsXP - MySQL4.0.x - PostgreSQL8.0

Perl 다운로드 : http://www.activestate.com/ 에서 ActivePerl 다운로드

설치후에, 위에 perl 소스를 다운 받습니다.

그리고 pwd 는 linux,UNIX 계열 명령이므로 이것을 cd 로 바꿉니다.

그리고 커멘드창에서

 

perl my2pl.pl > c:\postgre.sql

 

걍 하고... MySQL 에서 덤프받은 TEXT 파일을 복사해다가

붙여넣기 Ctrl-Z 입력 엔터 하믄..

postgre.sql 에 마이그레이션된 SQL 이 생성되어 있을 것 입니다.

 

음.. 이걸루다가 일단 postgre 테이블 33개를 생성 하는데는

성공했는데요~~

 

자~~ DBExpress 드라이버도 구해야하고...

시스템 기능도 테스트 해봐야하고...

 

감사합니다. 덕분에 쉽게 해결 했습니다.

주만호님이 2005-02-21 14:13에 작성한 댓글입니다. Edit

이 글을 써놓고 점심을 먹으러 갔었는데,

점식 먹는 동안, 가만히 생각해 보니,

저걸로 쉽게 끝날 것 같지 않던데,

쉽게 끝날 것 같다고 하니, 의야스럽습니다. :)

 

PostgreSQL 쪽에서의 대용량 자료 입력은 전통적으로 insert 대신 copy 구문을 씁니다. (MySQL 쪽의 load 명령과 흡사합니다)

 

그래서, 일단 스키마만 PostgreSQL 용으로 만들어 두고, 자료는 mysql 에서 select into outfile  구문으로 뽑아야할터이고, 그 출력결과를 psql copy 구문으로 사용할 수 있겠끔 뒷처리도 해야할 터이고... 등등 해야할 것이 제법 많을 것 같네요.

 

김상기(ioseph)님이 2005-02-21 15:59에 작성한 댓글입니다.

기존에 MS-SQL , Oracle 로 포팅할 때 DB 필드를 정말 공통적인

필드만 썼습니다.

그래서 PostgreSQL 에서도 크게 문제가 없는듯 하네요.

 

문제는 DB Driver 인데~~ PostgreSQL DBExpress 드라이버는

상용이네요, $145 정도.

테스트 해봤는데 별 문제 없이 붙을 듯 합니다.

DB 여러개 지원하는게 정말 힘든 일입니다.

패키지라 공짜 DB 지원해야 도입사에서 비용도 절감하기 때문에..

그치만, 돈 많은 업체는 MS-SQL , Oracle 꼭 해달라고 하고.

그렇다고 자체 DB 만들자니 확장성, 시간도 많이 걸리고.

 

또 한가지...

Firebird DB 도 꽤 괜찮고 오픈 소스 DB 인데~

DB 사랑넷에서는 안 다루네요...

 

그럼 수고하세요.

주만호님이 2005-02-21 17:16에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5917에궁 쿼리문을 모르겠습니다. [10]
신동규
2005-02-21
2884
59166.3버젼 다운받을수 있는곳 아세요?? [1]
정연우
2005-02-21
2042
5915about PGCluster problem [4]
mitani
2005-02-21
2221
5914MySQL 에서 PostgreSQL 로 이동(Migration) [4]
주만호
2005-02-21
4367
5913restore 권한 에러.. [9]
초짜
2005-02-21
2905
5911PostgreSQL 8.0.1 과 odbc (psqlodbc-07_03_0200.zip) [2]
김이수
2005-02-20
3221
5910win2k postgresql8.0(space tag)설치후..? [4]
lib
2005-02-19
3701
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다