이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 58 장. 테이블 토토 결과 방법 작성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

59 장. 테이블 무지개 토토 방법 작성

postgresql의 구현테이블 샘플조항은 사용자 정의 테이블 샘플링 방법을 지원하고BernoulliandSystemSQL 표준에 필요한 방법. 무지개 토토 방법은 테이블의 어떤 행을 선택할 때를 선택합니다.테이블 샘플조항이 사용됩니다.

SQL 레벨에서 테이블 샘플링 방법은 단일 SQL 기능으로 표시되며, 일반적으로 C로 구현되어 서명

Method_name (내부) TSM_HANDLER를 반환

함수의 이름은 동일한 메소드 이름입니다.테이블 샘플절. 그만큼내부인수는 단순히이 함수가 SQL 명령에서 직접 호출되는 것을 방지하는 데 도움이되는 더미 (항상 값이 0 인)입니다. 함수의 결과는 palloc'd 유형의 구조 여야합니다tsmroutine, 여기에는 샘플링 방법에 대한 기능을 지원하기위한 포인터가 포함되어 있습니다. 이러한 지원 기능은 일반 C 기능이며 SQL 레벨에서는 보이거나 호출 할 수 없습니다.섹션 59.1.

기능 포인터 외에도tsmroutine구조는 이러한 추가 필드를 제공해야합니다 :

List *ParameterTypes

이것은 |테이블 샘플이 무지개 토토 방법이 사용될 때의 절. 예를 들어, 내장 방법의 경우이 목록은 값이있는 단일 항목을 포함합니다float4oid는 무지개 토토 백분율을 나타냅니다. 사용자 정의 무지개 토토 메소드는 더 많은 또는 다른 매개 변수를 가질 수 있습니다.

BOOL REPINGALE_ACROSS_QUERIES

iftrue, 무지개 토토 방법은 동일한 매개 변수와이면 연속 쿼리에서 동일한 샘플을 전달할 수 있습니다.반복 가능한종자 값은 매번 제공되며 테이블 내용은 변경되지 않았습니다. 이것이 일 때거짓, The반복 가능한절은 무지개 토토 방법과 함께 사용하기 위해 허용되지 않습니다.

bool reportable_across_scans

iftrue, 무지개 토토 방법은 동일한 쿼리에서 연속 스캔에서 동일한 샘플을 전달할 수 있습니다 (변하지 않는 매개 변수, 시드 값 및 스냅 샷을 가정). 이것이 일 때거짓, 플래너는 무지개 토토 된 테이블을 두 번 이상 스캔 해야하는 요금제를 선택하지 않으므로 일관되지 않은 쿼리 출력이 발생할 수 있으므로.

thetsmroutinestruct 유형은src/include/access/tsmapi.h, 추가 세부 사항을 참조하십시오.

표준 분포에 포함 된 테이블 샘플링 방법은 자신의 글을 쓰려고 할 때 좋은 참조입니다. 조사SRC/백엔드/액세스/테이블 샘플내장 무지개 토토 방법에 대한 소스 트리의 하위 디렉토리 및Contrib애드온 방법에 대한 하위 디렉토리.