이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 스포츠 토토 베트맨버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

스포츠 토토

이름

스포츠 토토 -- 색인 다시 작성

시놉시스

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

설명

스포츠 토토다음을 기반으로 색인을 다시 작성합니다. 인덱스 테이블에 저장된 데이터를 이전 복사본으로 대체합니다. 색인. 사용하는 데에는 두 가지 주요 이유가 있습니다.스포츠 토토:

  • 색인이 손상되어 더 이상 포함되지 않습니다. 유효한 데이터. 이론적으로는 절대 이런 일이 일어나서는 안 되지만, 소프트웨어 버그로 인해 연습 색인이 손상될 수 있습니다. 하드웨어 오류.스포츠 토토제공 복구 방법입니다.

  • 문제의 색인에는 죽은 색인 페이지가 많이 포함되어 있습니다. 회수되지 않는 것입니다. 이는 B-트리에서 발생할 수 있습니다. 인덱스포스트그레SQL아래 특정 액세스 패턴.스포츠 토토인덱스의 공간 소비를 줄이는 방법을 제공합니다. 데드 페이지 없이 새 버전의 인덱스를 작성합니다. 참조사설 토토 : 문서 : 8.0 : 사설 토토 다시 인덱싱더 보기 정보.

매개변수

데이터베이스

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

지정된 테이블의 모든 인덱스를 다시 생성합니다. 테이블의 경우 보조가 있습니다"토스트"테이블, 그것도 다시 색인화됩니다.

INDEX

지정된 색인을 다시 생성합니다.

이름

특정 데이터베이스, 테이블 또는 인덱스의 이름은 다시 색인화되었습니다. 테이블 및 인덱스 이름은 스키마로 한정될 수 있습니다. 현재,스포츠 토토 데이터베이스할 수 있다 현재 데이터베이스만 다시 색인화하므로 해당 매개변수는 현재 데이터베이스의 이름과 일치합니다.

포스

이것은 더 이상 사용되지 않는 옵션입니다. 다음과 같은 경우에는 무시됩니다. 지정되었습니다.

참고

사용자 테이블의 색인 손상이 의심되는 경우 다음을 수행할 수 있습니다. 간단히 다음을 사용하여 해당 인덱스 또는 테이블의 모든 인덱스를 다시 작성하십시오.스포츠 토토 인덱스또는스포츠 토토 테이블.

회복해야 한다면 상황은 더욱 어려워집니다 시스템 테이블의 인덱스가 손상되었습니다. 이 경우에는 시스템이 용의자를 사용하지 않은 것이 중요합니다. 자체적으로 인덱스를 생성합니다. (실제로 이런 종류의 시나리오에서는 다음을 찾을 수 있습니다. 서버 프로세스가 시작 시 즉시 충돌하는 것으로 나타났습니다. 손상된 인덱스에 의존합니다.) 안전하게 복구하려면 서버는 다음으로 시작되어야 합니다.-P옵션, 시스템 카탈로그에 대한 색인 사용을 방지함 조회.

이를 수행하는 한 가지 방법은 포스트마스터를 종료하고 독립형포스트그레SQL서버 와 함께-P옵션이 포함되어 있습니다. 명령줄. 그럼,스포츠 토토 데이터베이스, 스포츠 토토 테이블또는스포츠 토토 인덱스금액에 따라 발행 가능 당신은 재건을 원합니다. 의심스러운 경우 다음을 사용하세요.스포츠 토토 데이터베이스전체 재구성 선택 데이터베이스의 시스템 인덱스. 그런 다음 독립형 서버를 종료합니다. 세션을 종료하고 일반 서버를 다시 시작하세요. 참조포스트그레스상호작용 방법에 대한 자세한 내용은 참조 페이지 독립형 서버 인터페이스.

또는 일반 서버 세션을 다음으로 시작할 수 있습니다.-P명령줄 옵션에 포함되어 있습니다. 이를 수행하는 방법은 클라이언트마다 다르지만 전체적으로libpq기반 클라이언트입니다. 설정 가능PGOPTIONS환경 변수를-P시작하기 전에 클라이언트. 이 방법에는 잠금이 필요하지 않지만 다른 클라이언트가 있는 경우 다른 사용자가 복구가 완료될 때까지 손상된 데이터베이스에 연결 완료되었습니다.

공유된 인덱스의 손상이 의심되는 경우 시스템 카탈로그(pg_database, pg_group, pg_shadow또는pg_tablespace), 독립형 서버는 다음을 충족해야 합니다. 수리하는 데 사용하세요.스포츠 토토하지 않을 것입니다 다중 사용자 모드에서 공유 카탈로그를 처리합니다.

공유 시스템 카탈로그를 제외한 모든 색인의 경우,스포츠 토토충돌로부터 안전하고 트랜잭션이 안전합니다.스포츠 토토공유의 경우 충돌로부터 안전하지 않습니다. 인덱스가 있으므로 이 경우는 정상 작동 중에 허용되지 않습니다. 운영. 다음 중 하나를 다시 색인화하는 동안 오류가 발생하는 경우 독립형 모드에서는 카탈로그를 다시 시작할 수 없습니다. 문제가 해결될 때까지 일반 서버에 접속하세요. (전형적인 부분적으로 재구축된 공유 인덱스의 증상은 다음과 같습니다."색인은 B트리가 아닙니다"오류.)

스포츠 토토드롭과 유사하며 인덱스 내용이 다시 작성된다는 점에서 인덱스를 다시 만듭니다. 스크래치. 그러나 잠금 고려사항은 오히려 다르다.스포츠 토토쓰기를 잠그지만 인덱스의 상위 테이블을 읽지 않습니다. 독점도 걸립니다 처리 중인 특정 인덱스를 잠그면 차단됩니다. 해당 인덱스를 사용하려고 시도하는 읽기입니다. 대조적으로,인덱스 삭제일시적으로 독점 잠금을 수행합니다. 상위 테이블은 쓰기와 읽기를 모두 차단합니다. 후속색인 생성쓰기를 잠그지만 잠그지는 않습니다. 읽다; 인덱스가 없기 때문에 읽기를 사용하려고 시도하지 않습니다. 즉, 차단은 없지만 읽기는 불가능할 수 있음을 의미합니다. 비용이 많이 드는 순차 스캔을 수행해야 합니다. 또 다른 중요한 점 삭제/생성 접근 방식은 캐시된 쿼리를 무효화한다는 것입니다. 인덱스를 사용하는 계획, 반면스포츠 토토그렇지 않습니다.

이전PostgreSQL 7.4, 스포츠 토토 테이블자동으로 수행되지 않았습니다. TOAST 테이블을 처리하므로 해당 테이블은 다음에 의해 다시 인덱싱되어야 했습니다. 별도의 명령. 이는 여전히 가능하지만 중복됩니다.

테이블에 색인을 다시 생성내_테이블:

스포츠 토토 테이블 my_table;

단일 색인 재구축:

스포츠 토토 인덱스 my_index;

특정 데이터베이스의 모든 시스템 인덱스를 재구축합니다. 이미 유효하다고 신뢰합니다.

$ PGOPTIONS="-P" 내보내기
$ psql broken_db...
broken_db= 스포츠 토토 DATABASE broken_db;
broken_db= \q

호환성

없습니다스포츠 토토명령 SQL 표준.