

안녕하세요. 주식회사 서버몬 입니다.
오늘은 서버 운영 및 데이터베이스 마이그레이션 실무에서 정말 유용하게 활용할 수 있는 오픈소스 툴,
pgloader에 대해 정리해 보겠습니다.
최근 엔터프라이즈 환경이나 다양한 프로젝트에서 기존 데이터베이스(MySQL, MariaDB 등)를 PostgreSQL로 이관하는 작업이 잦아지고 있습니다. 이럴 때 복잡한 스크립트를 일일이 작성할 필요 없이, 명령어 한 줄로 스키마 변환과 데이터 이관을 자동화해 주는 도구가 바로 pgloader입니다.
pgloader 란 무엇인가요?

pgloader는 다양한 RDBMS 환경에서 PostgreSQL로 데이터를 넘길 때 사용하는 강력한 자동 이관 툴입니다.
(Common Lisp 기반으로 개발되었습니다.)
프로젝트 홈페이지 : https://github.com/dimitri/pgloader
- 압도적인 속도: 대규모 데이터 이관 시 병렬 처리를 지원하며, 내부적으로 PostgreSQL의 COPY 프로토콜을 사용하여 데이터 입력 성능을 극대화합니다.
- 유연한 복구 및 에러 처리: 네트워크 이슈 등으로 작업이 중단되더라도 Resume 기능을 통해 복구가 가능하며, 에러가 발생한 행(Row)만 따로 분리하고 전체 프로세스는 멈추지 않는 스마트함을 갖췄습니다.
- 다양한 소스 지원: MySQL, MariaDB, SQLite는 물론, MS SQL Server(ODBC 경유)와 CSV, DBF 같은 플랫 파일까지 폭넓은 소스를 지원합니다.
pgloader 지원 원본
pgloader가 지원하는 주요 원본는 다음과 같습니다.
| 원본 | 지원 | 비고 |
| MySQL | ✅ | 매우 안정적 |
| SQLite | ✅ | 간단한 파일 기반 이관 가능 |
| MS SQL Server | ✅ | ODBC 경유 |
| CSV 파일 | ✅ | 파일 직접 이관 가능 |
| DBF 파일 | ✅ | 구형 포맷 지원 |
| 고정폭 텍스트 파일 | ✅ |
설치 및 사용방
설치 과정은 OS 환경에 따라 매우 간단합니다.
Ubuntu나 macOS 환경이라면 패키지 매니저를 통해 손쉽게 설치할 수 있습니다.
# Ubuntu 환경
sudo apt install pgloader
# macOS 환경
brew install pgloader
MySQL(또는 MariaDB)에서 PostgreSQL로 이관하는 가장 기본적인 명령어는 다음과 같습니다.
pgloader mysql://[mysql_user]:[mysql_password]@[mysql_host]/[mysql_dbname] \
postgresql://[pg_user]:[pg_password]@[pg_host]/[pg_dbname]
복잡한 환경에서 메타 파일 작성시
LOAD DATABASE
FROM mysql://mysqlUserName:mysqlPassword@mysqlhostdomain.com/sakila
INTO postgresql://postgresUserName:postgresPassword@postgresDomain/sakila
WITH include drop, create tables, create indexes, reset sequences,
workers = 8, concurrency = 1,
multiple readers per thread, rows per range = 50000;
CAST type bigint when (= precision 20) to bigserial drop typemod,
type date drop not null drop default using zero-dates-to-null,
-- type tinyint to boolean using tinyint-to-boolean,
type year to integer
각 key 와 value 에 대한 설명
LOAD DATABASE
FROM : source 가 되는 mysql 의 정보이다. mysql 접속을 위한 username 과 패스워드, 그리고 데이터베이스 연결 호스트를 설정한
INTO : target 이 되는 postgres 의 정보이다. 마찬가지로 postgres 를 접속하기 위한 username 과 패스워드, 연결 호스트를 설정
WITH : pgloader 를 실행할 때 사용할 옵션을 지정
CAST : mysql 과 pgloader 는 호환이 안되는 필드의 경우
CAST 옵션을 통해 mysql 의 특정 타입을 만나면 postgres 의 타입으로 변경할 수 있다.
주의사항
실제 업무에서 마이그레이션을 진행할 때 가장 빈번하게 마주치고, 또 가장 중요한 과제는 바로 데이터 타입 호환성입니다.
이기종 DB 간의 이관인 만큼, 스키마를 넘길 때 "데이터 타입 맞춰줘"라는 요구사항을 얼마나 정확하게 처리하느냐가 전체 프로젝트의 안정성을 좌우합니다.
다행히 pgloader는 매우 훌륭한 자동 형변환(Casting) 기능을 제공합니다.
- MySQL의 TINYINT(1)은 PostgreSQL에서 BOOLEAN으로 자동 변환됩니다.
- MySQL의 AUTO_INCREMENT 속성은 PostgreSQL의 SERIAL 혹은 IDENTITY 컬럼으로 매끄럽게 변환됩니다.
하지만 실무에서는 자동 변환에만 의존하기보다, .load 확장자를 가진 스크립트 파일을 별도로 작성하여 세밀하게 캐스팅 룰을 제어하는 것을 권장합니다. 특히 문자열 인코딩(MySQL의 utf8mb4를 PostgreSQL의 UTF8로 이관) 과정에서 문자가 깨지지 않도록 사전에 철저한 검증이 필수적입니다.
마치며
데이터베이스 이관은 단순히 데이터를 복사하고 붙여넣는 작업이 아닙니다. 대상 시스템인 PostgreSQL의 아키텍처 특성에 맞춰 인덱스를 재구성하고 제약조건을 최적화하는 과정이 반드시 동반되어야 합니다.
본 포스팅이 DB 마이그레이션을 앞두고 계신 분들께 좋은 참고 자료가 되길 바랍니다!
자료 출처
https://pgloader.readthedocs.io/en/latest/
https://github.com/dimitri/pgloader
https://www.digitalocean.com/community/tutorials/how-to-migrate-mysql-database-to-postgres-using-pgloader

1U서버 / 2U서버 / AI서버 / alyac / APC / APC UPS / backup / carepack / centos / chakramax / cuda / DAS / DB / DB서버 / defog / DEFOG랙 / dell5820 / dell5820t / dell7920 / dellpoweredge / dellr240 / dellr340 / dellr350 / dellr450 / dellr540 / dellr630 / dellr640 / dellr740 / dellr750 / dellserver / dellt40 / dellt440 / dellt5820 / dell서버 / DELL서버CPU / DELL서버RAID컨트롤러 / DELL서버SAS하드디스크 / DELL서버가격비교 / DELL서버가격비교견적 / DELL서버견적 / DELL서버구매 / DELL서버디스크교체 / DELL서버메모리 / dell서버서버몬 / DELL서버펌웨어 / DELL서버하드디스크구매 / dell옵션 / dell워크스테이션 / dl20 / dl20gen10 / dl20gen11 / dl360 / dl360gen10 / dl360gen11 / dl380 / dl380g10 / dl380gen10 / dl380gen11 / ECC메모리 / EDFOG랙가격 / embedded / est security / ESTSOFT / FIRMWARE / GPU / gpu서버 / gpu타워형서버 / greenlake / HA솔루션 / HP GPU / hp hdd / hpdl20 / HPDL20Gen10 / hpdl360 / hpdl360gen10 / hpdl380 / hpdl380g10 / HPDL380Gen10 / HPE / HPE GPU / hpe hdd / hpe rok / HPE Service Pack for Proliant / HPE SPP / hpe ssa / hpedl20 / hpedl20gen10 / hpedl360gen10 / hpe서버 / HPE서버CPU / HPE서버RAID컨트롤러 / HPE서버SAS하드디스크 / HPE서버가격비교 / HPE서버가격비교견적 / HPE서버견적 / HPE서버구매 / HPE서버드라이버설치 / HPE서버디스크교체 / HPE서버메모리 / HPE서버비용 / hpe서버소음 / HPE서버펌웨어 / HPE서버하드디스크구매 / hpe옵션 / hpe정품 / hpgen10 / hpml30 / hpserver / hpz2 / hpz4 / hpz4g4 / hpz6g4 / hpz8g4 / hp마이크로서버 / hp서버 / hp서버cto / hp서버pc / HP서버메모리 / hp서버소음 / hp서버컴퓨터 / HP서버파워 / HP서버펌웨어 / HP서버하드디스크 / hp옵션 / hp워크스테이션 / hp정품 / hp프로라이언트 / HYPER BACKUP / ibm서버 / ilo / Intelligent Provisioning / internetdisk / KVM / KVM 기술지원비(비용) / KVM 설치비 / L2스위치 / L3스위치 / LENONO서버SAS하드디스크 / lenovop620 / lenovor650 / LENOVO서버 / LENOVO서버CPU / LENOVO서버RAID컨트롤러 / LENOVO서버가격비교 / LENOVO서버가격비교견적 / LENOVO서버견적 / LENOVO서버구매 / LENOVO서버디스크교체 / LENOVO서버메모리 / LENOVO서버하드디스크구매 / LENOVO펌웨어업데이트 / Linux / ML30 / ml30gen10 / ml30gen11 / ML350GEN10 / ml350gen11 / ML360 / MS CSP / MSSQL / MSSQL 기술지원비(비용) / MSSQL 설치비 / MYSQL / MySQL 기술지원비(비용) / MySQL 설치비 / NAS / NVIDIA / Office 365 / oneview / orange / OS설치 / PA-410 / PA-440 / paloalto / poweredger740 / poweredger750 / precision5820 / QUADRO / r240 / r250 / r340 / r360 / r440 / r550 / r650 / r660 / r740 / r750xs / r760 / r760xs / RAID / redhat / RHEL설치 / RMS랙 / rocky / s100i / securedisk / server / serverpc / smart storage administrator / SPP / sql server / sr250 / sr650 / SYNOLOGY / SYNOLOGY나스 / t150 / t360 / UPS / UPS기술지원 / UPS납품 / UPS설치 / V3 / veeam / vroc / windows server / Windows서버설치 / XEON서버 / z8g4 / 가상서버 / 가성비서버 / 기술지원비(비용) / 나스기술지원 / 나스설치지원 / 네트워크스위치 / 네트워크장비 / 더블테이크 / 데이터베이스 / 델5820 / 델서버 / 델서버비용 / 델서버펌웨어업데이트 / 델옵션 / 델워크스테이션 / 델컴퓨터워크스테이션 / 디포그 / 디포그랙 / 디포그랙가격 / 딥러닝 / 딥러닝pc / 딥러닝서버 / 랙 / 랙(RACK) 기술지원비(비용) / 랙(RACK) 설치비 / 랙납품설치 / 랙설치 / 레노버p620 / 레노버서버 / 레노버워크스테이션 / 레노보서버 / 레노보서버펌웨어 / 레드헷설치 / 레이드 / 레이드구성 / 록키리눅스 / 리눅스 / 리눅스 기술지원비(비용) / 리눅스 설치비 / 리눅스서버 / 리눅스서버설치 / 리눅스서버트러블슈팅 / 리눅스트러블슈팅 / 문서보안 / 문서중앙화 / 미니서버 / 미니서버랙 / 미니서버렉 / 미디어서버 / 방화벽 / 방화벽 기술지원비(비용) / 방화벽 설치비 / 방화벽엔지니어 / 백업 / 백업 기술지원비(비용) / 백업 서버 / 백업서비스 / 백업솔루션 / 보안솔루션 / 보안솔루션구매 / 보안솔루션설치 / 보안툴 / 빔백업 / 샤크라맥스 / 서버 / 서버 기술지원비(비용) / 서 버 랙마운트비용 / 서버 설치비 / 서버 장애조치비용 / 서버CPU / 서버MEMORY / 서버OS설치 / 서버pc / 서버가격 / 서버가속기 / 서버견적 / 서버교체 / 서버구매 / 서버구입 / 서버구축 / 서버기술지원 / 서버납품 / 서버디스크장애처리 / 서버랙 / 서버렉 / 서버렉마운트 / 서버메모리 / 서버 몬 / 서버몬기술지원 / 서버백업 / 서버보안 / 서버부품 / 서버엔지니어 / 서버옵션 / 서버용GPU / 서버용PC / 서버용그래픽카드 / 서버용메모리 / 서버 / 컴퓨터 / 서버용하드디스크 / 서버재고 / 서버컴 / 서버컴퓨터 / 서버트러블슈팅 / 서버판매 / 서버하드 / 서버호스팅 / 스위치 / 스위치 기술지원비(비용) / 스위치 설치비 / 스토리지 / 스토리지 기술지원비(비용) / 스토리지 랙마운트비용 / 스토리지 설치비 / 스토리지 장애조치비용 / 스토리지납품설치 / 스토리지서버 / 시놀로지DS918 / 시놀로지HyperBackup / 시놀로지나스 / 시놀로지나스백업 / 시놀로지하이퍼백업 / 시큐어디스크 / 안랩 / 알약 / 앱서버 / 오피스 365 / 우분투설치 / 워크스테이션 / 워크스테이션pc / 워크스테이션컴퓨터 / 윈도우서버 / 윈도우서버2016 / 윈도우서버2019 / 윈도우서버2022 / 윈도우서버설치 / 윈도우서버컴퓨터 / 윈도우서버트러블슈팅 / 윈도우즈 기술지원비(비용) / 윈도우즈 설치비 / 이스트소프트 / 이스트 시큐리티 / 이중화솔루션 / 이중화솔루션구매 / 이중화솔루션설치 / 인터넷디스크 / 임베디드 / 저가서버 / 저렴한서버 / 정품서버 / 정품서버옵션 / 제온서버 / 젠서버 / 중고서버 / 중고워크스테이션 / 카보나이트 / 카스퍼스키 / 컴퓨터서버 / 케어팩 / 타워서버 / 타워형서버 / 팔로알토 / 페도라설치 / 프로라이언트
'설치 및 기술 자료 > Linux' 카테고리의 다른 글
| [Linux] Ubuntu 24.04 (우분투) LVM을 이용한 디렉터리 용량 확장 (0) | 2026.04.30 |
|---|---|
| [Linux] Rust CLI 도구는 GNU Coreutils를 대체할 수 있을까? (0) | 2026.04.27 |
| [Linux] Nexus 나만의 저장소 만들기 (0) | 2026.04.24 |
| Gemma 4: 구글의 최신 오픈 AI 모델, 특징과 활용법 총정리! (0) | 2026.04.19 |
| [Linux] Ubuntu 24.04 서버 LVM 구성 가이드 - 디스크 추가 후 LVM으로 구성하는 방법 (0) | 2026.04.03 |
댓글