PostgreSQL 설치 문제 해결
Mattermost PostgreSQL 문제 해결 가이드
Mattermost v8.0부터 PostgreSQL 은 플랫폼 성능과 기능 향상을 위해 Mattermost의 기본 데이터베이스로 채택되었습니다. PostgreSQL v15는 이전 릴리스와의 호환성에 영향을 줄 수 있는 변경 사항을 도입했습니다. PostgreSQL v15를 신규 설치하는 경우, GRANT CREATE ON SCHEMA public TO PUBLIC 명령을 실행하여 Mattermost를 정상적으로 사용할 수 있도록 하십시오. 비영어 default_text_search_config 에서 PostgreSQL 전체 텍스트 검색이 인덱스를 사용하지 못하는 문제 # Mattermost는 PostgreSQL 데이터베이스에서 전체 텍스트 검색 시 하드코딩된 텍스트 검색 구성 대신 default_text_search_config 를 사용합니다. 그러나 인덱스는 여전히 하드코딩된 텍스트 검색 구성(english)으로 생성되어, 결과적으로 전체 텍스트 검색이 인덱스를 사용하지 못할 수 있습니다. Mattermost의 Posts 나 Users 와 같은 일부 테이블에는 PostgreSQL의 데이터베이스 전체 텍스트 검색 기능을 향상시키기 위한 GIN 인덱스가 포함되어 있습니다. 이 인덱스는 특정 언어에 맞게 구축되어야 하며, 생성 시 영어로 하드코딩됩니다. 전체 텍스트 검색 쿼리는 항상 default_text_search_config 데이터베이스 설정을 사용하여 수행됩니다. 전체 텍스트 검색 기능이 인덱스를 활용하려면 쿼리에 지정된 언어가 인덱스에 지정된 언어와 일치해야 합니다. default_text_search_config 가 english 로 설정되어 있지 않으면 GIN 인덱스가 사용되지 않습니다. 데이터베이스 관리자는 특정 GIN 인덱스를 삭제한 후 default_text_search_config 값으로 재구축하여 이 문제를 해결할 수 있습니다. 예를 들어 서버의 기본 언어가 스페인어인 경우: ```sql # 기존 인덱스를 삭제하기 전에 새 이름으로 새 인덱스를 생성합니다 CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_posts_message_txt_spanish ON posts USING gin(to_tsvector('spanish', message)); # 새 인덱스가 정상 작동하는지 확인합니다. 정상이면 기존 인덱스를 삭제하고 새 인덱스의 이름을 변경합니다: DROP INDEX CONCURRENTLY IF EXISTS idx_posts_message_txt; ALTER INDEX idx_posts_message_txt_spanish RENAME TO idx_posts_message_txt; # PostgreSQL 사용자 이름 및 비밀번호 변경 # .env 파일에서 PostgreSQL 사용자 이름과 비밀번호를 변경하는 것을 권장합니다.