외부 PostgreSQL 데이터베이스의 업그레이드

PostgreSQL 데이터베이스 엔진을 업그레이드할 때는 PostgreSQL 커뮤니티와 클라우드 제공업체가 추천하는 모든 단계를 따르는 것이 중요합니다. PostgreSQL 데이터베이스의 두 가지 업그레이드 유형이 있습니다:

  • 마이너 버전 업그레이드: 이러한 업그레이드에는 버그 및 보안 수정 사항만 포함됩니다. 기존 응용 프로그램 데이터베이스 모델과 항상 하위 호환성이 유지됩니다.

    마이너 버전 업그레이드 프로세스는 PostgreSQL 이진 파일을 교체하고 데이터베이스 서비스를 다시 시작하는 것으로 이루어집니다. 데이터 디렉토리는 변경되지 않습니다.

  • 메이저 버전 업그레이드: 이러한 업그레이드는 내부 저장 형식과 데이터베이스 카탈로그를 변경합니다. 결과적으로 쿼리 옵티마이저가 사용하는 개체 통계가 새 버전으로 전송되지 않으며 ANALYZE를 사용하여 다시 작성해야 합니다.

    문서화된 메이저 버전 업그레이드 프로세스를 따르지 않을 경우 데이터베이스 성능이 저하되고 데이터베이스 서버에서 높은 CPU 사용량이 발생하는 경우가 많습니다.

모든 주요 클라우드 제공업체는 데이터베이스 인스턴스의 인플레이스 메이저 버전 업그레이드를 지원하며, pg_upgrade 유틸리티를 사용합니다. 그러나 성능 저하나 데이터베이스 중단의 위험을 줄이기 위해 업그레이드 전/후 단계를 따라야 합니다.

외부 데이터베이스 플랫폼의 메이저 버전 업그레이드 단계를 주의 깊게 읽어보세요:

메이저 버전 업그레이드 후 항상 데이터베이스에 ANALYZE 수행

메이저 버전 업그레이드 후 옵티마이저 통계가 pg_upgrade에 의해 전송되지 않기 때문에 ANALYZE 작업을 실행하여 pg_statistic 테이블을 새로 고쳐 주어야 합니다. 이는 업그레이드된 PostgreSQL 서비스/인스턴스/클러스터의 모든 데이터베이스에 대해 수행되어야 합니다.

ANALYZE 작업을 가속화하려면 vacuumdb 유틸리티를 사용하여 --analyze-only --jobs=njobs를 실행하여 njobs 명령을 병렬로 실행하여 ANALYZE 명령을 실행하세요.