2025년 9월 25일:토토 커뮤니티 : 토토
이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 32.7. 진행중인 쿼리 스포츠 토토 베트맨버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

31.6. 진행 중인 쿼리 취소 중

클라이언트 응용프로그램은 다음 명령 취소를 요청할 수 있습니다. 기능을 사용하여 서버에서 계속 처리 중입니다. 이 섹션에 설명되어 있습니다.

PQgetCancel

다음에 필요한 정보가 포함된 데이터 구조를 생성합니다. 특정 데이터베이스를 통해 실행된 명령 취소 연결.

PGcancel *PQgetCancel(PGconn *conn);

PQgetCancel생성PG취소객체 주어진 aPGconn연결 개체. 돌아올 것이다NULL주어진 경우isNULL또는 유효하지 않은 연결.PG취소객체는 직접 접근할 수 없는 불투명한 구조 신청; 오직 전달될 수 있습니다.PQ취소또는PQfree취소.

PQfree취소

다음에 의해 생성된 데이터 구조를 해제합니다.PQgetCancel.

void PQfreeCancel(PGcancel *cancel);

PQfree취소데이터 개체를 해제합니다. 이전에 작성자:PQgetCancel.

PQ취소

서버가 현재 처리를 중단하도록 요청합니다. 명령.

int PQcancel(PGcancel *cancel, char *errbuf, int errbufsize);

취소 요청이 성공적으로 이루어지면 반환 값은 1입니다. 발송되었으며 그렇지 않은 경우 0입니다. 그렇지 않다면,errbuf설명 오류 메시지로 채워져 있습니다.errbuf크기의 문자 배열이어야 합니다errbufsize(권장 크기는 256입니다. 바이트).

성공적인 발송이 요청이 발송될 것이라는 보장은 없습니다. 그러나 어떤 효과라도 있습니다. 취소가 유효한 경우 현재 명령은 일찍 종료되고 오류 결과를 반환합니다. 만약 취소 실패(예: 서버가 이미 완료되었기 때문에) 명령을 처리하는 중), 다음에는 눈에 보이는 결과가 없습니다. 모두.

PQ취소안전하게 호출될 수 있습니다 신호 처리기에서, 다음과 같은 경우errbuf이다 신호 처리기의 지역 변수.PG취소개체는 읽기 전용입니다.PQ취소관심이 있으므로 조작하는 스레드와 별개인 스레드에서 호출됩니다.PGconn객체.

PQ요청취소

PQ요청취소더 이상 사용되지 않습니다. 의 변형PQ취소.

int PQrequestCancel(PGconn *conn);

서버가 현재 처리를 중단하도록 요청합니다. 명령. 에서 직접 운영됩니다.PGconn객체이며, 실패할 경우에는 의 오류 메시지PGconn객체 (어디에서 검색할 수 있나요?)PQerrorMessage). 기능성은 있지만 마찬가지로 이 접근 방식은 다중 스레드에 위험을 초래합니다. 덮어쓰기가 가능하기 때문에 프로그램 및 신호 처리기PGconn의 오류 메시지가 엉망이 될 것입니다 현재 연결에서 진행 중인 작업입니다.