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

34.6. 진행 중인 쿼리 취소 중

클라이언트 애플리케이션은 이 섹션에 설명된 기능을 사용하여 서버에서 아직 처리 중인 명령 취소를 요청할 수 있습니다.

PQgetCancel

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

PGcancel *PQgetCancel(PGconn *conn);

PQgetCancel생성PG취소객체 주어진 aPGconn연결 개체. 돌아올 것이다NULL주어진 경우이다NULL또는 잘못된 연결입니다.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의 오류 메시지는 현재 연결에서 진행 중인 작업을 망칠 것입니다.