외부 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
수행
주요 버전 업그레이드 후 옵티마이저 통계가 pg_upgrade
에 의해 전송되지 않으므로 ANALYZE
작업을 실행하여 pg_statistic
테이블을 업데이트해야 합니다. 이 작업은 업그레이드된 PostgreSQL 서비스/인스턴스/클러스터의 모든 데이터베이스에 대해 수행되어야 합니다.
ANALYZE
작업을 가속화하기 위해 vacuumdb
유틸리티를 사용하여 --analyze-only --jobs=njobs
를 실행하여 ANALYZE
명령을 동시에 실행하여 njobs
명령을 실행합니다.