네이티브 PostgreSQL 클라이언트 애플리케이션 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

네이티브 PostgreSQL 클라이언트 애플리케이션

pg_dump, pg_dumpallpg_restore를 포함한 오프라인 마이그레이션에 대해 네이티브 PostgreSQL 클라이언트 애플리케이션을 사용할 수 있습니다. pg_dump 유틸리티는 PostgreSQL 데이터베이스 백업을 위한 기능입니다. pg_dump를 사용하여 일관된 백업을 만들고 단일 데이터베이스를 백업할 수 있습니다. 클러스터의 모든 데이터베이스(예: 역할 및 테이블스페이스)에 공통된 글로벌 객체를 백업하려면 pg_dumpall을 사용합니다. 수퍼유저만 전체 덤프를 수행할 수 있으므로 pg_dump 유틸리티를 수퍼유저로 실행하는 것이 좋습니다. 또한 pg_dump 유틸리티는 작업 옵션 사용(병렬로 덤프 실행) 및 백업을 수행할 때 디렉터리 형식을 포함하여 백업 프로세스를 최적화하는 옵션을 제공합니다. pg_dump에 대한 자세한 내용은 PostgreSQL 설명서의 pg_dump 페이지에서 Options 섹션을 참조하세요.

pg_restore 유틸리티는 pg_dump에서 생된한 아카이브에서 PostgreSQL 데이터베이스를 복원하기 위한 기능입니다. 사용자 지정 또는 디렉터리 형식으로 pg_dump를 사용하는 경우 병렬 모드에서 pg_restore 유틸리티를 실행할 수 있습니다. pg_restore의 성능을 높이기 위해 다음 파라미터를 조정할 수 있습니다.

  • 요구 사항에 맞게 shared_buffers를 설정하고 인덱스 생성 속도를 높이도록 maintenance_work_mem를 높입니다.

  • 광범위한 로깅, autovacuum 대몬 및 full_page_writes를 끕니다.

  • (선택 사항) 스키마를 백업 및 복원하고 데이터 전용 덤프 및 복원을 사용합니다. 이 방법을 사용하는 경우 disable-triggers 옵션을 사용하여 성능을 개선할 수 있습니다.

대상 EC2 인스턴스에서 pg_dump 및 pg_restore를 실행할 수 있습니다. 속도와 성능을 높이려면 AWS Direct Connect를 사용하는 것이 좋습니다. 마지막으로 백업 파일을 위한 스토리지가 충분한지 확인합니다.

아키텍처

다음 다이어그램에서는 네이티브 PostgreSQL 클라이언트 애플리케이션을 사용하여 온프레미스 PostgreSQL 데이터베이스를 AWS 클라우드로 마이그레이션하기 위한 아키텍처를 보여줍니다.

네이티브 PostgreSQL 클라이언트 애플리케이션 아키텍처

이 다이어그램은 다음 워크플로를 보여줍니다.

  1. pg_dump를 사용하여 백업을 수행하세요.

  2. EC2 인스턴스를 생성하고 인스턴스에 PostgreSQL을 설치하세요.

  3. 덤프 파일을 Amazon EC2에 복사하세요.

  4. pg_restore를 사용하여 백업 파일을 복원하세요.

제한 사항

마이그레이션을 시작하기 전에 네이티브 PostgreSQL 클라이언트 애플리케이션을 사용할 경우 다음과 같은 제한 사항을 고려하는 것이 좋습니다.

  • 덤프 및 복원은 대규모 데이터베이스(즉, 300GB보다 큰 데이터베이스)에 시간이 많이 걸릴 수 있습니다.

  • 이 옵션을 사용하려면 전체 데이터베이스 가동 중지 시간이 필요합니다.

  • 백업을 수행한 다음 Amazon EC2에 백업을 복사하려면 서버에 상당한 양의 디스크 공간이 필요합니다.