Postgresql 9.3.25 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서화 : 9.3 : 배트맨 토토 Resenticed View | up | PostgreSQL : 문서 : 9.3 : 릴리스 와이즈 토토 |
Reindex인덱스 테이블에 저장된 데이터는 이전 사본을 대체합니다. 색인. 사용할 몇 가지 시나리오가 있습니다Reindex:
스포츠 토토 결과가 손상되어 더 이상 유효하지 않습니다. 데이터. 이론적으로 이것은 실제로 일어나지 않아야합니다 소프트웨어 버그 또는 하드웨어로 인해 스포츠 토토 결과가 손상 될 수 있습니다. 실패.린덱스복구를 제공합니다 방법.
색인이되었습니다"Bloated", 그 비어 있거나 거의 비어있는 페이지가 포함되어 있습니까? 이것은 발생할 수 있습니다 B-Tree Indexes inPostgreSQL특정 드문 액세스 패턴 아래.reindex공간을 줄이는 방법을 제공합니다 스포츠 토토 결과의 새 버전을 작성하여 스포츠 토토 결과 소비 죽은 페이지없이. 보다토토 결과 : 문서 : 9.3 : 일상적인 다시 인덱싱자세한 내용은
당신은 색인, 변화가 가득 찬지 확인하고 싶습니다. 효과.
동시에옵션 실패,"무효"색인. 이러한 스포츠 토토 결과는 쓸모가 없지만 사용하기 편리 할 수 있습니다Reindex그들을 재건하려면. 참고Reindex동시를 수행하지 않습니다 짓다. 생산을 방해하지 않고 스포츠 토토 결과를 구축합니다 색인을 삭제하고 재발행해야합니다생성 동시에 색인명령.
지정된 스포츠 토토 결과 재현.
지정된 테이블의 모든 인덱스를 재현합니다. 테이블에 a 반성"토스트"테이블 구역도.
현재 데이터베이스 내의 모든 인덱스를 재현합니다. 인덱스 켜짐 공유 시스템 카탈로그도 처리됩니다. 이 형태의Reindex거래 내부에서 실행할 수 없습니다 차단하다.
현재 내 시스템 카탈로그에서 모든 인덱스를 재현합니다 데이터 베이스. 공유 시스템 카탈로그의 인덱스가 포함되어 있습니다. 인덱스 사용자 테이블에서 처리되지 않습니다. 이 형태의reindex거래 내부에서 실행할 수 없습니다 차단하다.
특정 인덱스, 테이블 또는 데이터베이스의 이름 다시 알게되었습니다. 인덱스 및 테이블 이름은 스키마 자격을 사용할 수 있습니다. 현재,Reindex 데이터베이스및Reindex System전류 만 다시 알 수 있습니다 데이터베이스이므로 매개 변수는 현재 데이터베이스와 일치해야합니다 이름.
이것은 쓸모없는 옵션입니다. 지정된 경우 무시됩니다.
사용자 테이블에서 인덱스의 손상을 의심하면 를 사용하여 해당 인덱스 또는 테이블의 모든 인덱스를 재구성하기 만하면됩니다.Reindex Index또는Reindex 테이블.
부패에서 회복 해야하는 경우 일이 더 어렵습니다. 시스템 테이블의 색인. 이 경우에는 중요합니다 용의자 지수 자체를 사용하지 않은 시스템. (물론, 이러한 종류의 시나리오에서는 서버 프로세스가 타락한 것에 대한 의존으로 인해 스타트 업에서 즉시 충돌 인덱스.) 안전하게 복구하려면 서버는로 시작해야합니다.-p옵션으로 사용하지 못하게합니다 시스템 카탈로그 조회에 대한 인덱스
이것을하는 한 가지 방법은 서버를 종료하고 시작하는 것입니다. 단일 사용자PostgreSQL서버와 그만큼-p명령 줄에 포함 된 옵션. 그 다음에,Reindex 데이터베이스, Reindex System, Reindex 테이블또는Reindex Index할 수 있습니다 재구성하려는 양에 따라 발행. 의심스러운 경우 사용Reindex System선택합니다 데이터베이스의 모든 시스템 색인의 재구성. 그런 다음 그만 두십시오 단일 사용자 서버 세션 및 일반 서버를 다시 시작하십시오. 참조Postgres자세한 내용은 참조 페이지 단일 사용자 서버와 상호 작용하는 방법에 대한 정보 인터페이스.
또는 일반 서버 세션을 시작할 수 있습니다.-p명령 줄 옵션에 포함됩니다. 이를 수행하는 방법은 고객마다 다르지만 모두libpq기반 클라이언트입니다 를 설정할 수 있습니다pgoptions환경 변수-p클라이언트를 시작하기 전에. 이 방법은 다른 방법을 잠그는 것이 필요하지 않습니다. 클라이언트, 다른 사용자가 수리 될 때까지 손상된 데이터베이스에 연결 완전한.
Reindex는 한 방울과 유사합니다 스포츠 토토 결과 내용이 재건된다는 점에서 스포츠 토토 결과를 재현합니다. 할퀴다. 그러나 잠금 고려 사항은 다소 다릅니다.ReindexLocks Out은 쓰기를 읽지 않습니다 인덱스의 상위 테이블. 또한 독점적 인 잠금 장치가 필요합니다 특정 색인이 처리 중이며이 시도를 차단할 것입니다. 그 지수를 사용합니다. 대조적으로,Drop Index순간적으로 부모 테이블에서 독점 잠금을 가져와 차단 둘 다 썼고 읽습니다. 후속생성 색인Locks Out은 쓰기를 읽지 만 읽지 않습니다. 색인이 아니기 때문에 거기에서 읽은 것은 그것을 사용하려고 시도하지 않을 것입니다. 차단이 없지만 읽기는 값 비싼 순차적으로 강제 될 수 있습니다. 스캔.
단일 인덱스 또는 테이블을 reindexing의 소유자가 필요합니다. 그 지수 또는 테이블. 데이터베이스를 다시 표시하려면 소유자가 필요합니다 데이터베이스 (소유자가 인덱스를 재건 할 수 있습니다. 다른 사용자가 소유 한 테이블). 물론 슈퍼업자는 항상 할 수 있습니다 reindex ally.
이전PostgreSQL 8.1, Reindex 데이터베이스처리 된 시스템 인덱스, 이름에서 기대할 수있는 모든 색인은 아닙니다. 이것 놀라운 요소를 줄이기 위해 변경되었습니다. 오래된 행동은입니다 사용 가능Reindex System.
이전PostgreSQL 7.4, Reindex 테이블자동으로하지 않았습니다 토스트 테이블을 프로세스 테이블이므로 별도로 다시 표시해야했습니다. 명령. 이것은 여전히 가능하지만 중복됩니다.
단일 색인 재건 :
Reindex index my_index;
테이블의 모든 인덱스를 재구성my_table:
린덱스 테이블 my_table;
신뢰하지 않고 특정 데이터베이스의 모든 인덱스를 재구성하십시오 시스템이 이미 유효하도록 색인 :
$export pgoptions = "-p"$psql broken_db... broken_db = reindex 데이터베이스 broken_db; broken_db = \ q
이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
새로 고침이 구체화되었습니다 보다 | up | 릴리스 SavePoint |