데이터 마이그레이션으로 데이터베이스 주 버전 업그레이드

이 페이지에서는 이후 버전의 PostgreSQL을 실행하는 인스턴스로 데이터를 마이그레이션하는 방법을 설명합니다. 이 방법을 수행하려면 먼저 현재의 데이터베이스 주 버전을 업그레이드하는 것이 좋습니다.

데이터를 마이그레이션하여 PostgreSQL용 Cloud SQL 인스턴스의 데이터베이스 주 버전을 업그레이드하는 데에는 두 가지 방법이 있습니다.

  • 옵션 1. Database Migration Service(DMS)를 사용합니다. DMS는 PostgreSQL용 Cloud SQL 인스턴스에서 마이그레이션을 지원합니다. 또한 이를 사용하여 데이터베이스 버전을 업그레이드할 수 있습니다.
  • 옵션 2. PostgreSQL의 데이터를 한 버전에서 다른 버전으로 옮기려면 현재 인스턴스에서 데이터를 내보낸 후 최신 버전의 PostgreSQL을 실행하는 새로운 인스턴스로 이 데이터를 가져와야 합니다. 이 과정에서 다운타임이 발생합니다. 따라서 데이터를 내보내기 전에 현재 인스턴스를 읽기 전용 모드로 전환해야 합니다.

이 페이지의 나머지 부분에서는 두 번째 옵션을 설명합니다.

주 버전 업그레이드 계획

  1. 대상 주 버전을 선택합니다.

    Cloud SQL에서 지원되는 버전 목록을 참조하세요.

  2. 각 PostgreSQL 버전에 제공된 기능을 고려해서 비호환성 문제를 해결합니다.

    새로운 주 버전에는 데이터베이스 인스턴스를 업그레이드하기 전 애플리케이션 코드, 스키마, 데이터베이스 설정을 수정해야 할 수 있는 호환되지 않는 변경사항이 포함됩니다. 대상 주 버전의 출시 노트를 참조해서 해결해야 할 비호환성 문제를 확인해야 합니다. 주 버전을 건너뛸 경우에는 건너뛰는 각 버전에 대해 나열된 비호환성 문제를 해결해야 합니다.

  3. 시험 이전을 통해 업그레이드를 테스트합니다.

    프로덕션 데이터베이스를 업그레이드하기 전 테스트 인스턴스에서 엔드 투 엔드 업그레이드 프로세스의 시험 이전을 수행합니다. 프로덕션 워크로드에 내보내기로 인한 성능 영향을 방지하기 위해 프로덕션 데이터베이스 대신 클론을 사용하여 업그레이드를 테스트할 수 있습니다.

    업그레이드가 성공적으로 완료되는지 검증하는 것 외에도 업그레이드의 예상 다운타임을 파악하고, 업그레이드 워크플로를 확인하고, 업그레이드된 데이터베이스에서 애플리케이션이 예상한 대로 작동하는지 확인하는 테스트를 실행합니다. 자동 스토리지 증가를 사용 설정하지 않았으면 업그레이드된 시험 이전 인스턴스에 사용되는 디스크 스토리지를 기록해서 업그레이드 전 프로덕션 인스턴스의 스토리지 용량을 늘려야 하는지 확인합니다.

  4. 업그레이드할 시간을 결정합니다.

데이터 마이그레이션

마이그레이션에는 pg_dump 명령어를 사용하여 소스 인스턴스에서 데이터 내보내기pg_restore 명령어를 사용하여 대상 인스턴스로 데이터 가져오기가 포함됩니다.

최신 데이터베이스 버전을 실행하는 Cloud SQL 인스턴스로 데이터를 마이그레이션하려면 다음 단계를 수행합니다.

  1. 원하는 PostgreSQL 버전으로 대상 인스턴스를 만듭니다.

    대상 인스턴스에 필요한 항목은 다음과 같습니다.

    • 현재 인스턴스의 모든 데이터를 저장하기에 충분한 스토리지
    • 현재 인스턴스와 동일한 승인된 네트워크. 자세히 알아보기
    • PostgreSQL 권한과 비밀번호가 같은 동일한 사용자 계정

    자세한 내용은 인스턴스 만들기를 참조하세요.

  2. 로컬 PostgreSQL 도구로 새 인스턴스에 연결할 수 있는지 확인하고 필요한 경우 업데이트합니다.

  3. Cloud SQL에 가져올 데이터 내보내기 단계에 따라 현재 인스턴스의 데이터를 PostgreSQL 덤프 파일로 내보냅니다.

    postgres 시스템 데이터베이스를 내보내지 마세요. postgres 데이터베이스는 다른 데이터베이스를 만들기 전에 연결되는 기본 데이터베이스입니다. 다른 데이터베이스를 만든 다음 테이블을 만들고 데이터를 삽입하려면 해당 데이터베이스로 전환합니다. 애플리케이션 데이터에 postgres 데이터베이스를 사용하지 마세요.

  4. 필요한 경우 Cloud Storage 버킷을 생성한 다음 SQL 덤프 파일을 버킷에 업로드합니다.

  5. Cloud Storage에서 PostgreSQL 데이터베이스 가져오기 단계에 따라 데이터를 대상 인스턴스로 가져옵니다.

  6. 선택사항. 업그레이드 프로세스를 완료한 후 초기 덤프가 시작된 이후 발생한 모든 변경사항으로 대상을 업데이트하도록 pglogical을 사용해서 소스 및 대상 인스턴스 간 복제를 설정합니다. 두 인스턴스가 동기화된 다음 대상 인스턴스를 승격시킬 수 있습니다.

    pglogical을 사용하여 연속 복제를 구현하는 방법에 대한 자세한 내용은 소스 구성을 참조하세요.

  7. 새로운 인스턴스에 연결할 수 있도록 애플리케이션을 업데이트합니다.

  8. 새로운 인스턴스가 잘 작동하는지 확인한 후 기존 인스턴스를 삭제합니다.

다음 단계