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

사설 토토

이름

NOTIFY  --  사설 토토 생성

시놉시스

사설 토토이름        

입력

통지이름

신호를 받을 조건을 알립니다.

출력

사설 토토

사설 토토 명령이 실행되었음을 확인합니다.

이벤트 사설 토토

이벤트는 수신 프론트엔드에 전달됩니다. 여부 각 프런트엔드 애플리케이션이 어떻게 반응하는지에 따라 다릅니다. 프로그래밍.

설명

사설 토토명령은 사설 토토을 보냅니다 이전에 실행된 각 프런트엔드 애플리케이션에 대한 이벤트듣기통지이름지정된 사설 토토에 대해 현재 데이터베이스의 조건입니다.

사설 토토 이벤트를 위해 프런트엔드로 전달된 정보 사설 토토 조건 이름과 사설 토토 백엔드가 포함됩니다. 프로세스의PID. 그것은 에 달려있다 사용될 조건 이름을 정의하는 데이터베이스 디자이너 특정 데이터베이스에서 각각의 의미를 알아보세요.

일반적으로 사설 토토 조건 이름은 다음의 이름과 동일합니다. 데이터베이스의 일부 테이블 및 기본적으로 사설 토토 이벤트 의미"나는 이 테이블을 변경했습니다. 좀 보세요 새로운 소식을 확인해보세요.". 그러나 그러한 연관은 시행되지 않습니다. 에 의해사설 토토그리고듣기명령. 예를 들어, 데이터베이스 디자이너 여러 가지 다른 조건 이름을 사용하여 서로 다른 신호를 보낼 수 있습니다. 단일 테이블에 대한 일종의 변경 사항입니다.

사설 토토간단한 형식을 제공합니다. 신호 또는IPC(프로세스 간 통신) 액세스하는 프로세스 모음을 위한 메커니즘 같은포스트그레SQL데이터베이스. 테이블을 사용하여 더 높은 수준의 메커니즘을 구축할 수 있습니다. 추가 데이터를 전달하기 위한 데이터베이스(단순한 조건 이름 이상) 알리미에서 리스너로.

언제사설 토토은 다음을 알리는 데 사용됩니다. 특정 테이블에 대한 변경 발생, 유용한 프로그래밍 기술은 다음을 넣는 것입니다.사설 토토규칙에서 이는 테이블 업데이트에 의해 트리거됩니다. 이로써 사설 토토 테이블이 변경되면 자동으로 발생하며 애플리케이션 프로그래머가 실수로 이를 잊어버릴 수는 없습니다.

사설 토토SQL과 상호작용 몇 가지 중요한 방식으로 거래합니다. 첫째, 만일 a사설 토토트랜잭션 내에서 실행되며, 사설 토토 이벤트는 거래가 완료될 때까지 전달되지 않습니다. 헌신적이다. 거래가 다음과 같으므로 이는 적절합니다. 중단되었습니다. 우리는 그 안의 모든 명령이 중단되었으면 좋겠습니다. 효과, 포함사설 토토. 하지만 그럴 수도 있지 사설 토토 이벤트가 예상된다면 당황 스럽습니다. 즉시 배송됩니다. 둘째, 청취 백엔드가 수신하는 경우 트랜잭션 내에 있는 동안 사설 토토 신호, 사설 토토 이벤트는 연결될 때까지 연결된 프런트엔드로 전달되지 않습니다. 트랜잭션이 완료된 후(커밋되거나 중단됨) 다시 말하지만, 그 이유는 통지가 일정 기간 내에 전달된 경우입니다. 나중에 중단된 거래인 경우 어떻게든 취소하라는 사설 토토---그러나 백엔드는 그럴 수 없습니다."철회"사설 토토이 전송되면 사설 토토 프론트엔드에 전달합니다. 따라서 사설 토토 이벤트는 다음 사이에만 전달됩니다. 거래. 결과적으로 다음을 사용하는 애플리케이션은사설 토토실시간 신호를 위해서는 거래를 짧게 유지하려고 노력하세요.

사설 토토Unix 신호처럼 작동합니다. 한 가지 중요한 점: 동일한 조건 이름이 신호를 받는 경우 빠르게 연속해서 여러 번 수신자는 하나만 받을 수 있습니다. 여러 실행에 대한 이벤트 사설 토토사설 토토. 그러므로 어떤 것에 의존하는 것은 나쁜 생각이다. 수신된 사설 토토 수 대신에 다음을 사용하세요.사설 토토결제가 필요한 애플리케이션을 깨우기 위해 무언가에 주의를 기울이고 데이터베이스 개체(예: 시퀀스) 무슨 일이 일어났는지 또는 몇 번이나 발생했는지 추적하기 위해 일어났습니다.

전송하는 프런트엔드에서 일반적입니다사설 토토동일한 사설 토토 이름을 듣고 있습니다 그 자체. 이 경우 다음과 같이 사설 토토 이벤트가 반환됩니다. 다른 모든 청취 프론트엔드. 응용 프로그램에 따라 논리상 이것은 쓸모없는 작업을 초래할 수 있습니다. 예를 들어, 동일한 업데이트를 찾기 위해 데이터베이스 테이블을 다시 읽습니다. 프론트엔드가 방금 작성되었습니다. 에서포스트그레SQL6.4 이상에서는 다음이 가능합니다. 사설 토토 백엔드가 있는지 확인하여 이러한 추가 작업을 피하세요. 프로세스의PID(다음에서 제공됨) 사설 토토 이벤트 메시지)는 자신의 백엔드와 동일PID(다음에서 사용 가능libpq). 그들이 동일할 때, 사설 토토 이벤트는 자신의 작업이 되돌아오는 것이므로 무시되었습니다. (앞 단락에서 말한 내용에도 불구하고, 안전한 기술입니다.사설 토토자체 사설 토토을 다른 사람에게서 도착하는 사설 토토과 별도로 유지합니다. 백엔드를 무시하여 외부 사설 토토을 놓칠 수 없습니다. 자신의 사설 토토입니다.)

참고

이름어떤 문자열이든 유효할 수 있습니다. 이름으로; 실제 이름과 일치할 필요는 없습니다. 테이블. 만일이름다음에 포함되어 있습니다. 큰따옴표를 사용하면 구문적으로 유효한 이름일 필요도 없습니다. 최대 63자 길이의 문자열일 수 있습니다.

일부 이전 릴리스에서사설 토토, 이름큰따옴표로 묶어야 했습니다. 기존 테이블 이름과 일치하지 않는 경우에도 구문상 이름으로 유효합니다. 더 이상 필요하지 않습니다.

사설 토토출시 6.4 이전에는 백엔드PID사설 토토 메시지가 전달되었습니다. 항상PID의 프론트엔드 자체 백엔드. 그래서 구별이 불가능했어요 그 안에 있는 다른 클라이언트의 사설 토토에서 자신의 사설 토토 이전 릴리스.

사용법

다음에서 수신/사설 토토 시퀀스 구성 및 실행psql:

가상 듣기;
가상으로 사설 토토;
pid '8448'이 있는 백엔드의 비동기 NOTIFY '가상'이 수신되었습니다.

호환성

SQL92

없습니다사설 토토문의 내용SQL92.