이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 스포츠 배트맨 토토 베트맨버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

배트맨 토토

이름

배트맨 토토- 인덱스 재건

시놉시스

배트맨 토토 데이터베이스 | 표 | 색인이름[힘]

설명

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

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

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

매개 변수

데이터베이스

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

테이블

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

index

지정된 인덱스 재현.

이름

특정 데이터베이스, 테이블 또는 색인의 이름 다시 알게되었습니다. 표와 색인 이름이있을 수 있습니다 스키마 자격.

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

노트

사용자 테이블에서 인덱스의 손상을 의심하면 를 사용하여 해당 인덱스 또는 테이블의 모든 인덱스를 재구성하기 만하면됩니다.배트맨 토토 Index또는배트맨 토토 테이블. a 손상된 사용자 테이블 인덱스는 단지이를 삭제하고 재현하는 것입니다. 이것 실제로 일부를 유지하려면 바람직 할 수 있습니다. 한편 테이블에서 정상적인 작동의 유사성.배트맨 토토테이블에서 독점 잠금을 취득합니다. 하는 동안색인 생성만 잠금 서면 테이블의 읽기가 아닙니다.

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

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

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

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

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

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

예제

표에서 인덱스를 재현my_table:

린덱스 테이블 my_table;

단일 색인 재건 :

배트맨 토토 index my_index;

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

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

호환성

없음배트맨 토토SQL 표준.