이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 32.13. 스포츠 토토 처리버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

27.10. 알아채다 처리

104PostgreSQL : 문서 : 8.0 : 통지 처리78Stderr그러나 응용 프로그램 자체 취급을 제공 하여이 동작을 무시할 수 있습니다 기능.

역사적 이유로 두 가지 수준의 젠 토토가 있습니다 젠 토토 수신자 및 젠 토토 프로세서라고하는 처리, 그만큼 기본 동작은 젠 토토 수신자가 젠 토토를 형식화하는 것입니다. 인쇄를 위해 문자열을 젠 토토 프로세서에 전달하십시오. 하지만, 자체 젠 토토 수신자를 제공하기로 선택한 응용 프로그램 일반적으로 젠 토토 프로세서 계층을 무시하고 모든 작업을 수행합니다. 젠 토토 수신자의 작업.

함수PQSETNOTICERECEIVER 현재 젠 토토 수신기를 설정하거나 검사합니다 연결 객체. 비슷하게,pqsetnoticeProcessor 세트 또는 현재 젠 토토 프로세서를 검사합니다.

typedef void ( *pqnoticereceiver) (void *arg, const pgresult *res);

PQNOTICERECEIVER
pqsetnoticereceiver (pgconn *conn,
                    PQNOTICERECEIVER PROC,
                    void *arg);

typedef void ( *pqnoticeProcessor) (void *arg, const char *message);

pqnoticeprocessor
pqsetnoticeprocessor (pgconn *conn,
                     pqnoticeprocessor proc,
                     void *arg);

이러한 각 함수는 이전 통지 수신기를 반환합니다 또는 프로세서 함수 포인터 및 새 값을 설정합니다. 당신이 Null 기능 포인터를 제공하면 조치를 취하지 않지만 현재 포인터가 반환됩니다.

서버에서 젠 토토 또는 경고 메시지가 수신되면 또는 내부적으로 생성libpq, 통지 수신자 함수는 다음과 같습니다 라고 불리는. 그것은 a의 형태로 메시지를 전달합니다.pgres_nonfatal_error pgresult. (이것은 수신기가 추출 할 수있게한다 사용 개별 분야pqresulterrorfield또는 완료 를 사용하여 사전 포맷 된 메시지PQRESULTERRORMESSAGE.) 동일한 공극 포인터 전달PQSETNOTICERECEIVERis 또한 통과했습니다. (이 포인터는 액세스하는 데 사용될 수 있습니다 필요한 경우 응용 프로그램 별 상태.)

기본 젠 토토 수신기는 간단히 메시지를 추출합니다 (사용PQRESULTERRORMESSAGE)와 통과합니다 젠 토토 프로세서에.

젠 토토 프로세서는 젠 토토를 처리하거나 텍스트 형식으로 제공되는 경고 메시지. 문자열 텍스트가 전달됩니다 메시지 (후행 신성 라인 포함)와 공허함 동일한 포인터와 같은 포인터pqsetnoticeProcessor. (이 포인터를 사용할 수 있습니다 필요한 경우 응용 프로그램 별 상태에 액세스하려면.)

기본 젠 토토 프로세서는 간단합니다

정적 무효
defaultNoticeProcessor (void *arg, const char *메시지)

    fprintf (stderr, "%s", 메시지);

일단 통지 수신자 또는 프로세서를 설정하면 그 함수가만큼 오랫동안 호출 될 수있을 것으로 예상합니다.pgconn개체 또는pgresult그로 만든 물체가 존재합니다. ~에 A 생성pgresult, Thepgconn의 현재 젠 토토 처리 포인터는에 복사됩니다.pgresult같은 기능으로 가능한 사용pqgetValue.