pg_dump 및 pg_restore 유틸리티를 사용하여 PostgreSQL 데이터베이스를 ClickHouse Managed Postgres로 마이그레이션하는 방법을 단계별로 안내합니다.
사전 요구사항
- 원본 PostgreSQL 데이터베이스에 대한 액세스 권한
- 로컬 머신에
pg_dump및pg_restore가 설치되어 있어야 합니다. 일반적으로 PostgreSQL 설치 시 함께 제공됩니다. 포함되어 있지 않다면 PostgreSQL 공식 웹사이트에서 다운로드할 수 있습니다.
설정
- 2개의 테이블(table)
events와users가 있습니다.events에는 100만 개의 행이 있고,users에는 1천 개의 행이 있습니다. events에는 인덱스가 있습니다.events테이블 위에 뷰가 있습니다.- 시퀀스가 2개 있습니다
원본 데이터베이스의 덤프 생성
pg_dump를 사용해 위 객체들의 덤프 파일을 생성합니다. 명령은 간단합니다:
<user>,<password>,<host>,<port>,<database>를 원본 데이터베이스의 자격 증명으로 바꾸십시오. 대부분의 Postgres provider는 바로 사용할 수 있는 connection string을 제공합니다.--format directory는 덤프를 디렉터리 포맷으로 생성하도록 지정하며, 이 포맷은pg_restore에 적합합니다.-f rds-dump는 덤프 파일의 출력 디렉터리를 지정합니다. 이 디렉터리는 자동으로 생성되므로 미리 존재하지 않아야 합니다.--jobs플래그 뒤에 실행할 병렬 job 수를 지정하면 덤프 프로세스를 병렬로 수행할 수도 있습니다. 자세한 내용은 pg_dump documentation을 참조하십시오.
덤프를 ClickHouse Managed Postgres로 복원하기
pg_restore를 사용해 ClickHouse Managed Postgres 인스턴스에 복원할 수 있습니다.
ClickHouse Managed Postgres 인스턴스 생성
덤프 복원
pg_restore 명령을 사용해 ClickHouse Managed Postgres 인스턴스에 덤프를 복원할 수 있습니다:
--verbose는 복원 과정에서 상세한 출력을 제공합니다.--jobs플래그를 사용해 복원 과정을 병렬화할 수도 있습니다. 자세한 내용은 pg_restore documentation을 참조하십시오.
마이그레이션 확인
고려 사항
- 소스 및 대상 데이터베이스의 PostgreSQL 버전이 서로 호환되는지 확인하세요. 소스 서버보다 오래된 버전의 pg_dump를 사용하면 일부 기능이 누락되거나 복원 중 문제가 발생할 수 있습니다. 가능하면 소스 데이터베이스와 동일하거나 그보다 최신 메이저 버전의 pg_dump를 사용하세요.
- 대규모 데이터베이스는 덤프 및 복원에 상당한 시간이 걸릴 수 있습니다. 가동 중단 시간을 최소화할 수 있도록 미리 계획하고, 지원되는 경우 병렬 덤프/복원(—jobs) 사용을 고려하세요.
- pg_dump / pg_restore는 데이터베이스 관련 객체나 런타임 상태를 모두 복제하지는 않는다는 점에 유의하세요. 여기에는 역할 및 역할 멤버십, replication slot, 서버 수준 구성(예: postgresql.conf, pg_hba.conf), 테이블스페이스, 런타임 통계가 포함됩니다.
다음 단계
pg_dump 및 pg_restore를 사용해 PostgreSQL 데이터베이스를 ClickHouse Managed Postgres로 성공적으로 마이그레이션했습니다. 이제 ClickHouse Managed Postgres의 기능과 ClickHouse 통합을 살펴볼 준비가 되었습니다. 시작하는 데 도움이 되는 10분 분량의 quickstart는 다음과 같습니다.