NOTIFY — 메이저 토토 사이트 생성
메이저 토토 사이트채널[ ,페이로드]
그메이저 토토 사이트명령은 선택 사항과 함께 메이저 토토 사이트 이벤트를 보냅니다.“페이로드”이전에 실행된 각 클라이언트 애플리케이션에 대한 문자열듣기현재 데이터베이스의 지정된 채널 이름에 대해. 메이저 토토 사이트은 모든 사용자에게 표시됩니다.채널
메이저 토토 사이트동일한 프로세스에 액세스하는 프로세스 모음을 위한 간단한 프로세스 간 통신 메커니즘을 제공합니다.PostgreSQL데이터베이스. 페이로드 문자열은 메이저 토토 사이트과 함께 전송될 수 있으며 구조화된 데이터를 전달하기 위한 더 높은 수준의 메커니즘은 데이터베이스의 테이블을 사용하여 메이저 토토 사이트자에서 리스너로 추가 데이터를 전달함으로써 구축될 수 있습니다.
메이저 토토 사이트 이벤트를 위해 클라이언트에 전달된 정보에는 메이저 토토 사이트 채널 이름, 메이저 토토 사이트 세션의 서버 프로세스가 포함됩니다.PID및 페이로드 문자열. 지정되지 않은 경우 빈 문자열입니다.
주어진 데이터베이스에서 사용될 채널 이름과 각각의 의미를 정의하는 것은 데이터베이스 설계자에게 달려 있습니다. 일반적으로 채널 이름은 데이터베이스의 일부 테이블 이름과 동일하며 메이저 토토 사이트 이벤트는 본질적으로 다음을 의미합니다.“이 테이블을 변경했습니다. 새로운 내용을 살펴보세요.”. 그러나 그러한 연관성은 다음과 같이 시행되지 않습니다.메이저 토토 사이트그리고듣기명령. 예를 들어, 데이터베이스 디자이너는 여러 다른 채널 이름을 사용하여 단일 테이블에 대한 다양한 종류의 변경 사항을 알릴 수 있습니다. 또는 페이로드 문자열을 사용하여 다양한 사례를 구별할 수 있습니다.
언제메이저 토토 사이트은 특정 테이블에 대한 변경 발생을 알리는 데 사용됩니다. 유용한 프로그래밍 기술은 다음과 같습니다.메이저 토토 사이트테이블 업데이트에 의해 트리거되는 명령문 트리거에서. 이런 방식으로 테이블이 변경되면 메이저 토토 사이트이 자동으로 발생하며 애플리케이션 프로그래머가 실수로 메이저 토토 사이트을 잊어버리는 일이 없습니다.
메이저 토토 사이트몇 가지 중요한 방식으로 SQL 트랜잭션과 상호작용합니다. 첫째, 만일 a메이저 토토 사이트가 트랜잭션 내부에서 실행되면 메이저 토토 사이트 이벤트는 트랜잭션이 커밋될 때까지 전달되지 않습니다. 트랜잭션이 중단되면 해당 트랜잭션 내의 모든 명령이 효과가 없으므로 이는 적절합니다.메이저 토토 사이트. 그러나 메이저 토토 사이트 이벤트가 즉시 전달될 것으로 기대한다면 당황스러울 수 있습니다. 둘째, 청취 세션이 트랜잭션 내에 있는 동안 메이저 토토 사이트 신호를 받으면 트랜잭션이 완료(커밋 또는 중단)될 때까지 메이저 토토 사이트 이벤트가 연결된 클라이언트에 전달되지 않습니다. 다시 말하지만, 나중에 중단된 트랜잭션 내에서 메이저 토토 사이트이 전달된 경우 메이저 토토 사이트이 어떻게든 취소되기를 원하지만 서버는 그렇게 할 수 없기 때문입니다.“철회”클라이언트에 보낸 메이저 토토 사이트입니다. 따라서 메이저 토토 사이트 이벤트는 트랜잭션 간에만 전달됩니다. 결과적으로 다음을 사용하는 애플리케이션은메이저 토토 사이트실시간 신호를 위해 거래를 짧게 유지해야 합니다.
동일한 트랜잭션 내에서 동일한 페이로드 문자열로 동일한 채널 이름이 여러 번 신호를 받는 경우 메이저 토토 사이트 이벤트의 한 인스턴스만 리스너에게 전달됩니다. 반면, 고유한 페이로드 문자열이 있는 메이저 토토 사이트은 항상 고유한 메이저 토토 사이트으로 전달됩니다. 마찬가지로, 다양한 거래의 메이저 토토 사이트은 결코 하나의 메이저 토토 사이트으로 합쳐지지 않습니다. 이후 중복 메이저 토토 사이트 인스턴스를 삭제하는 경우를 제외하고,메이저 토토 사이트동일한 거래의 메이저 토토 사이트이 전송된 순서대로 전달되도록 보장합니다. 또한 다양한 트랜잭션의 메시지가 트랜잭션이 커밋된 순서대로 전달된다는 것도 보장됩니다.
실행하는 클라이언트에 일반적입니다메이저 토토 사이트동일한 메이저 토토 사이트 채널 자체를 수신하고 있습니다. 이 경우 다른 모든 청취 세션과 마찬가지로 메이저 토토 사이트 이벤트를 다시 받게 됩니다. 애플리케이션 논리에 따라 이로 인해 쓸모없는 작업이 발생할 수 있습니다. 예를 들어 해당 세션이 방금 작성한 것과 동일한 업데이트를 찾기 위해 데이터베이스 테이블을 읽는 등의 작업이 발생할 수 있습니다. 통지 세션의 서버 프로세스 여부를 확인하면 이러한 추가 작업을 피할 수 있습니다.PID(메이저 토토 사이트 이벤트 메시지에 제공됨)은 자신의 세션과 동일합니다.PID(다음에서 사용 가능libpq). 동일할 경우 메이저 토토 사이트 이벤트는 본인의 작업이므로 무시해도 됩니다.
채널신호를 받을 메이저 토토 사이트 채널의 이름(식별자).
페이로드그“페이로드”문자열이 메이저 토토 사이트과 함께 전달됩니다. 이는 단순 문자열 리터럴로 지정되어야 합니다. 기본 구성에서는 8000바이트보다 짧아야 합니다. (바이너리 데이터나 많은 양의 정보를 전달해야 하는 경우에는 이를 데이터베이스 테이블에 넣고 레코드의 키를 보내는 것이 가장 좋습니다.)
전송되었지만 아직 모든 청취 세션에서 처리되지 않은 메이저 토토 사이트을 보관하는 대기열이 있습니다. 이 대기열이 가득 차면 트랜잭션이 호출됩니다.메이저 토토 사이트커밋 시 실패합니다. 대기열은 상당히 크며(표준 설치의 경우 8GB) 거의 모든 사용 사례에 대해 충분한 크기여야 합니다. 그러나 세션이 실행되면 정리가 수행되지 않습니다.듣기그리고 매우 오랜 시간 동안 거래를 시작합니다. 대기열이 절반쯤 차면 정리를 방해하는 세션을 가리키는 경고가 로그 파일에 표시됩니다. 이 경우 정리가 진행될 수 있도록 이 세션이 현재 트랜잭션을 종료하는지 확인해야 합니다.
함수pg_notification_queue_usage현재 대기 중인 메이저 토토 사이트이 차지하는 대기열의 비율을 반환합니다. 참조섹션 9.27더 많은 정보를 원하시면.
실행된 트랜잭션메이저 토토 사이트2단계 커밋을 준비할 수 없습니다.
다음에서 수신/메이저 토토 사이트 시퀀스 구성 및 실행psql:
가상 듣기;
가상으로 메이저 토토 사이트;
PID 8448을 사용하는 서버 프로세스로부터 비동기 메이저 토토 사이트 "가상"이 수신되었습니다.
NOTIFY virtual, '이것이 페이로드입니다';
PID 8448을 사용하는 서버 프로세스에서 수신된 페이로드 "이것은 페이로드입니다"가 있는 비동기 메이저 토토 사이트 "가상"입니다.
들어봐 foo;
SELECT pg_메이저 토토 사이트('fo' || 'o', '지불' || '로드');
PID 14728을 사용하는 서버 프로세스에서 수신된 페이로드 'payload'가 포함된 비동기 메이저 토토 사이트 'foo'.
없습니다메이저 토토 사이트SQL 표준의 문입니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.