유지보수 작업
이 페이지는 개발과 관련될 수 있는 다양한 데이터베이스 관련 작업을 상세히 설명합니다.
인덱스를 비활성화하는 것은 안전하지 않습니다
경고:
이전에 이 섹션은 인덱스를 제거하기 전에 유효하지 않도록 표시하는 절차를 설명했습니다.
더 이상 추천되지 않으며, 안전하지 않기 때문입니다.
인덱스를 제거하기 전에 비활성화하려는 특정 상황이 있을 수 있습니다:
- 인덱스가 큰 테이블에 있고, 되돌릴 경우 재구축하는 데 오랜 시간이 걸릴 수 있습니다.
- 인덱스가 완전히 드러나지 않은 방식으로 사용되고 있는지 여부가 불확실합니다.
이러한 상황에서는 인프라 팀 및 데이터베이스 팀과 조정하여 인덱스를 비활성화했습니다.
이 과정은 “Production Change” 템플릿으로 생산 인프라 문제를 열고
다음 명령어를 실행하였습니다:
-- 인덱스를 비활성화한 다음 인덱스를 사용하는 것으로 알려진 EXPLAIN 명령을 실행합니다:
UPDATE pg_index SET indisvalid = false WHERE indexrelid = 'index_issues_on_foo'::regclass;
-- 복제본에서 인덱스가 유효하지 않은지 확인합니다:
SELECT indisvalid FROM pg_index WHERE indexrelid = 'index_issues_on_foo'::regclass;
-- 무효화 롤백:
UPDATE pg_index SET indisvalid = true WHERE indexrelid = 'index_issues_on_foo'::regclass;
참고용으로 이 예제 인프라 문제를 참조하세요.