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