외부 PostgreSQL 데이터베이스 업그레이드
PostgreSQL 데이터베이스 엔진을 업그레이드할 때, PostgreSQL 커뮤니티와 클라우드 제공업체에서 권장하는 모든 단계를 따르는 것이 중요합니다. PostgreSQL 데이터베이스에는 두 가지 종류의 업그레이드가 있습니다:
-
마이너 버전 업그레이드: 이에는 버그 및 보안 수정 사항만 포함됩니다. 항상 기존 애플리케이션 데이터베이스 모델과 하위 호환됩니다.
마이너 버전 업그레이드 프로세스는 PostgreSQL 바이너리를 교체하고 데이터베이스 서비스를 재시작하는 것으로 구성됩니다. 데이터 디렉토리는 변경되지 않습니다.
-
메이저 버전 업그레이드: 이에는 내부 저장 형식과 데이터베이스 카탈로그의 변경이 포함됩니다. 그 결과, 쿼리 최적화 도구가 사용하는 객체 통계는 새 버전으로 전송되지 않으며
ANALYZE
로 재구성해야 합니다.문서화된 메이저 버전 업그레이드 프로세스를 따르지 않으면 종종 데이터베이스 성능 저하와 데이터베이스 서버의 높은 CPU 사용량이 발생합니다.
모든 주요 클라우드 제공업체는 데이터베이스 인스턴스의 인플레이스 메이저 버전 업그레이드를 지원하며, pg_upgrade
유틸리티를 사용합니다. 그러나 성능 저하 또는 데이터베이스 중단의 위험을 줄이기 위해 업그레이드 전후 단계를 따르는 것이 중요합니다.
외부 데이터베이스 플랫폼의 메이저 버전 업그레이드 단계를 주의 깊게 읽으세요:
- Amazon RDS for PostgreSQL
- Azure Database for PostgreSQL Flexible Server
- Google Cloud SQL for PostgreSQL
- PostgreSQL 커뮤니티
pg_upgrade
메이저 버전 업그레이드 후 항상 ANALYZE
실행
메이저 버전 업그레이드 후 ANALYZE
작업을 실행하여 pg_statistic
테이블을 새로 고치는 것이 필수입니다. 왜냐하면 최적화 도구 통계는 pg_upgrade
에 의해 전송되지 않기 때문입니다.
이 작업은 업그레이드된 PostgreSQL 서비스/인스턴스/클러스터의 모든 데이터베이스에 대해 수행해야 합니다.
ANALYZE
작업을 가속화하려면
vacuumdb
유틸리티를 사용하고,
--analyze-only --jobs=njobs
를 설정하여 njobs
개의 명령을 동시에 실행하여 ANALYZE
명령을 병렬로 실행합니다.