지원 버전 :현재(17) /16 / 15 / 14 / 13
개발 버전 :18 / Devel
지원되지 않는 버전 :12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

스포츠 토토

이름

스포츠 토토- 인덱스 재건

시놉시스

스포츠 토토 데이터베이스 | 표 | 색인이름[힘]

설명

스포츠 토토그에 따라 인덱스를 재구성합니다 인덱스 테이블에 저장된 데이터는 이전 사본을 대체합니다. 색인. 사용해야 할 두 가지 주요 이유가 있습니다스포츠 토토:

  • 인덱스가 손상되어 더 이상 포함되지 않습니다 유효한 데이터. 이론적으로 이것은 결코 일어나지 않아야합니다 소프트웨어 버그 또는 하드웨어 고장.스포츠 토토제공 복구 방법.

  • 문제의 색인에는 많은 죽은 색인 페이지가 포함되어 있습니다. 재생되지 않습니다. 이것은 b- 트리에서 발생할 수 있습니다 인덱스PostgreSQL아래 특정 액세스 패턴.스포츠 토토지수의 공간 소비를 줄이는 방법을 제공합니다. 죽은 페이지가없는 새 버전의 인덱스를 작성함으로써. 보다섹션 21.2더 많은 것 정보.

매개 변수

데이터베이스

지정된 데이터베이스의 모든 시스템 색인을 재현합니다. 사용자 테이블의 인덱스는 처리되지 않습니다. 또한 인덱스가 켜집니다 공유 시스템 카탈로그는 독립형을 제외하고 건너 뜁니다 모드 (아래 참조).

테이블

지정된 테이블의 모든 색인을 재현합니다. 테이블 인 경우 보조"토스트"테이블, 그것은 또한 다시 무례합니다.

색인

지정된 인덱스 재현.

이름

특정 데이터베이스, 표 또는 색인의 이름 다시 알게되었습니다. 테이블 및 인덱스 이름은 스키마 자격이 될 수 있습니다. 현재,스포츠 토토 데이터베이스can 현재 데이터베이스 만 다시 표시하므로 매개 변수가 있어야합니다 현재 데이터베이스 이름과 일치합니다.

Force

이것은 쓸모없는 옵션입니다. 경우 무시됩니다 지정.

노트

사용자 테이블에서 인덱스의 손상을 의심하면 를 사용하여 해당 인덱스 또는 테이블의 모든 인덱스를 재구성하기 만하면됩니다.스포츠 토토 Index또는스포츠 토토 테이블.

회복 해야하는 경우 물건이 더 어렵습니다. 시스템 테이블에서 인덱스의 부패. 이 경우입니다 시스템이 용의자를 사용하지 않은 것이 중요합니다. 색인 자체. (실제로, 이런 종류의 시나리오에서 당신은 찾을 수 있습니다 이 서버 프로세스는 시작시 즉시 충돌하고 있습니다 손상된 지수에 의존하기 위해.) 안전하게 회복하기 위해 서버는로 시작해야합니다.-p옵션, 시스템 카탈로그에 인덱스를 사용하지 못하게합니다. 조회.

이것을하는 한 가지 방법은 우체국을 종료하고 시작하는 것입니다. 독립형PostgreSQL서버 와 함께-p옵션이 포함되어 있습니다 명령 줄. 그 다음에,스포츠 토토 데이터베이스, 스포츠 토토 테이블또는스포츠 토토 Index얼마나 많은 양에 따라 발행 할 수 있습니다 당신은 재구성하고 싶습니다. 의심스러운 경우 사용스포츠 토토 데이터베이스모두의 재구성을 선택합니다 데이터베이스의 시스템 색인. 그런 다음 독립형 서버를 종료하십시오 일반 서버를 세션하고 다시 시작하십시오. 참조Postgres참조 페이지 상호 작용 방법에 대한 자세한 내용 독립형 서버 인터페이스.

또는 일반 서버 세션을 시작할 수 있습니다.-p명령 줄 옵션에 포함됩니다. 이를 수행하는 방법은 고객마다 다르지만 모두libpq기반 클라이언트입니다 를 설정할 수 있습니다pgoptions환경 변수-p시작하기 전에 고객. 이 방법은 잠금을 필요로하지 않지만 다른 고객은 여전히 ​​다른 사용자를 막는 것이 현명 할 수 있습니다. 수리 될 때까지 손상된 데이터베이스에 연결 완전한.

부패가 공유 된 지수에 의심되는 경우 시스템 카탈로그 (pg_database, PG_GROUP, pg_shadow또는PG_TABLESPACE), 그러면 독립형 서버가 있어야합니다 수리하는 데 사용됩니다.스포츠 토토그렇지 않습니다 Multiuser 모드의 프로세스 공유 카탈로그.

공유 시스템 카탈로그를 제외한 모든 인덱스의 경우스포츠 토토는 충돌 안전 및 거래 안전입니다.스포츠 토토공유에 대한 충돌 안전이 아닙니다 색인 이므로이 경우 정상 동안 허용되지 않습니다. 작업. 이 중 하나를 다시 알게하는 동안 실패가 발생하는 경우 독립형 모드의 카탈로그는 다시 시작할 수 없습니다. 문제가 해결 될 때까지 일반 서버. (전형적인 부분적으로 재건 된 공유 지수의 증상은입니다."인덱스는 btree가 아닙니다"오류.)

스포츠 토토는 한 방울과 유사합니다 인덱스 내용이 재건된다는 점에서 인덱스를 재현합니다. 할퀴다. 그러나 잠금 고려 사항은 오히려 있습니다 다른.스포츠 토토Locks Out은 글을 쓰지 만 인덱스의 상위 테이블을 읽지 않습니다. 또한 독점이 필요합니다 처리중인 특정 인덱스를 잠그십시오. 그 지수를 사용하려고 시도하는 것을 읽습니다. 대조적으로,Drop Index순간적으로 독점적 인 잠금을 취합니다 부모 테이블, 두 글쓰기와 읽기를 차단합니다. 후속색인 생성Locks Out은 쓰기를하지만 그렇지 않습니다 읽기; 색인이 없으므로 읽기는 사용하지 않습니다. 그것은 차단이 없지만 읽기가있을 수 있음을 의미합니다. 값 비싼 순차 스캔으로 강제. 또 다른 중요한 요점 드롭/생성 접근법은 캐시 된 쿼리를 무효화한다는 것입니다 인덱스를 사용하는 계획,스포츠 토토그렇지 않습니다.

이전PostgreSQL 7.4, 스포츠 토토 Table자동으로는 그렇지 않았습니다 토스트 테이블을 처리하므로 이들은 별도의 명령. 이것은 여전히 ​​가능하지만 중복됩니다.

테이블의 인덱스 재현my_table:

린덱스 테이블 my_table;

단일 색인 재건 :

스포츠 토토 index my_index;

특정 데이터베이스에서 모든 시스템 색인을 재구성하지 않고 모든 시스템 인덱스를 재구성하십시오 이미 유효하도록 신뢰 :

$export pgoptions = "-p"$psql broken_db...
broken_db = 스포츠 토토 데이터베이스 broken_db;
broken_db = \ q

호환성

없음스포츠 토토SQL 표준.