배트맨 토토다음을 기반으로 색인을 다시 작성합니다. 테이블에 저장된 데이터를 이전 복사본으로 대체합니다. 색인. 사용하는 데에는 두 가지 주요 이유가 있습니다.배트맨 토토:
색인이 손상되어 더 이상 포함되지 않습니다. 유효한 데이터. 이론적으로는 절대 이런 일이 일어나서는 안 되지만, 소프트웨어 버그로 인해 연습 색인이 손상될 수 있습니다. 하드웨어 오류.배트맨 토토제공 복구 방법입니다.
문제의 색인에는 죽은 색인 페이지가 많이 포함되어 있습니다. 회수되지 않는 것입니다. 이는 B-트리에서 발생할 수 있습니다. 인덱스포스트그레SQL아래 특정 액세스 패턴.배트맨 토토인덱스의 공간 소비를 줄이는 방법을 제공합니다. 데드 페이지 없이 새 버전의 인덱스를 작성합니다. 참조토토 캔 : 문서 : 7.4 : 토토 캔 다시 인덱싱더 보기 정보.
지정된 데이터베이스의 모든 시스템 인덱스를 다시 생성합니다. 사용자 테이블의 인덱스는 처리되지 않습니다. 또한, 독립 실행형을 제외하고 공유 시스템 카탈로그를 건너뜁니다. 모드(아래 참조).
지정된 테이블의 모든 인덱스를 다시 생성합니다. 테이블의 경우 보조가 있습니다"토스트"테이블, 그것도 다시 색인화됩니다.
지정된 색인을 다시 생성합니다.
특정 데이터베이스, 테이블 또는 인덱스의 이름 다시 색인화되었습니다. 테이블 및 인덱스 이름은 다음과 같을 수 있습니다. 스키마에 적합합니다.
이것은 더 이상 사용되지 않는 옵션입니다. 다음과 같은 경우에는 무시됩니다. 지정되었습니다.
사용자 테이블의 색인 손상이 의심되는 경우 다음을 수행할 수 있습니다. 간단히 다음을 사용하여 해당 인덱스 또는 테이블의 모든 인덱스를 다시 작성하십시오.배트맨 토토 인덱스또는배트맨 토토 테이블. 문제를 다루는 또 다른 접근법 손상된 사용자 테이블 인덱스는 단순히 삭제하고 다시 생성하는 것입니다. 이 실제로 일부를 유지하려는 경우 더 바람직할 수 있습니다. 그 사이 테이블 위에서는 정상 작동하는 것처럼 보입니다.배트맨 토토테이블에 대한 독점 잠금을 획득합니다. 동안색인 생성쓰기만 잠급니다. 테이블을 읽지 않습니다.
복구가 필요한 경우 상황은 더욱 어려워집니다. 시스템 테이블의 인덱스가 손상되었습니다. 이 경우에는 시스템이 용의자를 사용하지 않은 것이 중요합니다. 자체적으로 인덱스를 생성합니다. (실제로 이런 종류의 시나리오에서는 다음을 찾을 수 있습니다. 서버 프로세스가 시작 시 즉시 충돌하는 것으로 나타났습니다. 손상된 인덱스에 의존합니다.) 안전하게 복구하려면 서버는 다음으로 시작되어야 합니다.-P옵션, 시스템 카탈로그에 대한 색인 사용을 방지함 조회.
이를 수행하는 한 가지 방법은 포스트마스터를 종료하고 독립형포스트그레SQL서버 와 함께-P옵션이 포함되어 있습니다. 명령줄. 그럼,배트맨 토토 데이터베이스, 배트맨 토토 테이블또는배트맨 토토 인덱스금액에 따라 발행 가능 당신은 재건을 원합니다. 의심스러운 경우 다음을 사용하세요.배트맨 토토 데이터베이스전체 재구성 선택 데이터베이스의 시스템 인덱스. 그런 다음 독립형 서버를 종료합니다. 세션을 종료하고 일반 서버를 다시 시작하세요. 참조포스트그레상호작용 방법에 대한 자세한 내용은 참조 페이지 독립형 서버 인터페이스.
또는 다음을 사용하여 일반 서버 세션을 시작할 수 있습니다.-P명령줄 옵션에 포함되어 있습니다. 이를 수행하는 방법은 클라이언트마다 다르지만 전체적으로libpq기반 클라이언트입니다. 설정 가능PGOPTIONS환경 변수를-P시작하기 전에 클라이언트. 이 방법에는 잠금이 필요하지 않지만 다른 클라이언트가 있는 경우 다른 사용자가 복구가 완료될 때까지 손상된 데이터베이스에 연결 완료되었습니다.
공유된 인덱스의 손상이 의심되는 경우 시스템 카탈로그(pg_database, pg_group또는pg_shadow), 독립형 서버는 다음과 같아야 합니다. 수리하는데 사용했어요.배트맨 토토하지 않을 것입니다 다중 사용자 모드에서 공유 카탈로그를 처리합니다.
공유 시스템 카탈로그를 제외한 모든 색인의 경우,배트맨 토토충돌로부터 안전하고 트랜잭션이 안전합니다.배트맨 토토공유의 경우 충돌로부터 안전하지 않습니다. 인덱스가 있으므로 이 경우는 정상 작동 중에 허용되지 않습니다. 운영. 다음 중 하나를 다시 색인화하는 동안 오류가 발생하는 경우 독립형 모드에서는 카탈로그를 다시 시작할 수 없습니다. 문제가 해결될 때까지 일반 서버에 접속하세요. (전형적인 부분적으로 재구축된 공유 인덱스의 증상은 다음과 같습니다."색인은 B트리가 아닙니다"오류.)
이전PostgreSQL 7.4, 배트맨 토토 테이블자동으로 수행되지 않음 TOAST 테이블을 처리하므로 해당 테이블은 다음에 의해 다시 인덱싱되어야 했습니다. 별도의 명령. 이는 여전히 가능하지만 중복됩니다.