Mattermost 업그레이드 준비
Mattermost 업그레이드 준비 방법을 설명합니다. 업그레이드 모범 사례, 버전별 데이터베이스 스키마 변경사항, HA 클러스터 환경에서의 업그레이드 고려사항을 안내합니다.
대부분의 경우 Mattermost 서버 업그레이드 는 몇 분 내에 완료할 수 있습니다. 그러나 설치 규모와 복잡성, 업그레이드할 버전에 따라 시간이 더 걸릴 수 있습니다. 업그레이드를 계획할 때는 현재 데이터베이스 및 운영 체제 버전이 여전히 지원되는지 확인하는 것이 좋습니다. 자세한 내용은 소프트웨어 및 하드웨어 요구사항 페이지에서 확인할 수 있습니다. 업그레이드 모범 사례 # Mattermost는 일반적으로 비잠금, 하위 호환 마이그레이션을 목표로 합니다. 이 하위 호환성 보장은 마지막 ESR 버전에만 적용됩니다. 예를 들어, ESR1, ESR2, ESR3의 세 가지 ESR 버전이 있는 경우, ESR1에서 ESR2로, 그리고 ESR2에서 ESR3로 업그레이드하면 하위 호환성이 보장되지만, ESR1에서 ESR3로 직접 업그레이드하는 경우에는 보장되지 않습니다. 업그레이드가 지연된 경우, 가장 가까운 ESR 버전으로 먼저 업그레이드한 후 다음 ESR로 업그레이드하는 것을 권장합니다. 클러스터의 이전 버전 노드와의 하위 호환성이 깨질 수 있으므로 최신 버전으로 직접 업그레이드를 시도하지 마세요. Mattermost v7.1로 업그레이드 # Mattermost v7.1은 새 컬럼 및 인덱스 형태의 스키마 변경을 도입합니다. 스키마 변경에 대한 테스트 결과는 다음과 같습니다: PostgreSQL 12M Posts, 2.5M Reactions - ~1분 18초 (인스턴스: db.r5.2xlarge) 업그레이드 전에 Reactions 테이블에 잠금을 걸기 전에 다음 SQL 쿼리를 실행할 수 있습니다. 이 시간 동안 사용자가 게시한 반응은 마이그레이션이 완료될 때까지 데이터베이스에 반영되지 않습니다. 이것은 완전히 하위 호환됩니다. 연결 데이터 정렬과 테이블 데이터 정렬이 다른 경우, `Illegal mix of collations` 오류가 발생할 수 있습니다. 이 오류를 해결하려면 연결과 테이블 모두에 동일한 데이터 정렬을 설정하세요. 연결, 데이터베이스, 테이블, 컬럼 등 다양한 수준에서 서로 다른 데이터 정렬이 있을 수 있으며, 데이터베이스 관리자는 다른 객체에 대해 다른 데이터 정렬 수준을 설정하도록 선택할 수 있습니다. ALTER TABLE reactions ADD COLUMN IF NOT EXISTS channelid varchar(26) NOT NULL DEFAULT ''; UPDATE reactions SET channelid = COALESCE((select channelid from posts where posts.id = reactions.postid), '') WHERE channelid=''; CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_reactions_channel_id on reactions (channelid); Mattermost v6.7로 업그레이드 # Mattermost v6.7은 새 인덱스 형태의 스키마 변경을 도입합니다. 스키마 변경에 대한 테스트 결과는 다음과 같습니다: P
