사설 토토 사이트지원 를 통한 비동기 사설 토토 사이트듣기andNotify명령. 백엔드 레지스터 와의 특정 사설 토토 사이트 조건에 대한 관심듣기명령 (그리고 듣기를 멈출 수 있습니다 와 함께Unlisten명령). 모든 뒷면 특정 조건에 대한 청취에 알 수 있습니다 a 때 비동기 적으로Notify조건 이름은 모든 백엔드에 의해 실행됩니다. 추가 없음 정보는 사설 토토 사이트에서 청취자로 전달됩니다. 따라서, 일반적으로 전달 해야하는 실제 데이터는 데이터베이스 관계를 통해 전송. 일반적으로 조건 이름은 관련 관계와 동일하지만 관련 관계가 있어야합니다.
libpq신청서 제출듣기andUnlisten명령은 일반 SQL 명령으로 명령합니다. 그 후, 도착Notify메시지를 감지 할 수 있습니다
부름pqnotifies
.
pqnotifies
다음을 반환합니다
처리되지 않은 알림 메시지 목록에서 알림
백엔드에서 받았습니다. 아니오가 있으면 Null을 반환합니다
보류중인 알림. 알림이 반환되면pqnotifies
, 그것은 고려된다
처리하고 목록에서 제거됩니다
사설 토토 사이트.
pgnotify * pqnotifies (pgconn * conn); typedef struct pgnotify char *relname; / * 데이터를 포함하는 관계 이름 */ int be_pid; / * 백엔드의 프로세스 ID */ pgnotify;
처리 후pgnotify객체에 의해 반환pqnotifies
,free ()
메모리 누출을 피하려면
참고 :in사설 토토 사이트6.4 이상,be_pid알림의 것입니다 백엔드, 이전 버전에서는 항상였습니다.PID자신의 백엔드.
두 번째 샘플 프로그램은 비동기식 사설 토토 사이트.
pqnotifies ()
실제로는 그렇지 않습니다
백엔드 데이터를 읽습니다. 이전에 흡수 된 메시지를 반환합니다
다른 사람으로libpq함수. ~ 안에
의 사전 릴리스libpq,
적시에 알림 메시지를 수신하는 유일한 방법은
지속적으로 쿼리, 심지어 쿼리를 제출 한 다음 확인pqnotifies ()
각각pqExec ()
. 이것은 여전히 작동하는 동안
처리 전력 낭비로 더 이상 사용되지 않습니다.
없을 때 통지 메시지를 확인하는 더 좋은 방법
유용한 쿼리는 전화하는 것입니다pqconsumeInput ()
, 그 다음 확인pqnotifies ()
. 사용할 수 있습니다select ()
백엔드 데이터가 도착할 때까지 기다리려면
따라서 NO 사용CPU전원
할 일이 없다면. (보다pqsocket ()
파일 디스크립터 번호를 얻으려면
와 함께 사용하려면select ()
.)
Queries를 제출하든pqsendquery
/pqgetresult
또는 간단히 사용PQEXEC
. 그러나 확인해야합니다pqnotifies ()
각각pqgetresult
또는PQEXEC
, 사설 토토 사이트이 들어 있는지 확인하십시오
쿼리 처리 중에.