이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.503 토토 꽁 머니 페치 실패버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.
포스트그레SQL
이전 50장. 프런트엔드/백엔드 프로토콜 다음

프로토콜

이 섹션에서는 메시지 흐름을 설명합니다. 4개가 있다 연결 상태에 따라 다양한 유형의 흐름: 인증, 쿼리, 함수 호출 및 종료.

인증

프런트엔드가 StartupPacket을 보냅니다. 우체국장은 이것을 사용하고 pg_hba.conf(5) 파일의 내용을 확인하여 프런트엔드에서 사용해야 하는 인증 방법입니다. 그럼 우체국장 다음 메시지 중 하나로 응답합니다.

오류응답

그 후 포스트마스터는 즉시 연결을 종료합니다.

인증확인

그런 다음 우체국장은 백엔드에 인계합니다. 는 우체국장은 통신에 더 이상 참여하지 않습니다.

인증KerberosV4

프런트엔드는 Kerberos V4에 참여해야 합니다. 포스트마스터와의 인증 대화 상자(여기서는 설명되지 않음) 이것이 성공하면 포스트마스터는 다음과 같이 응답합니다. 인증Ok, 그렇지 않으면 다음과 같이 응답합니다. 오류응답.

인증KerberosV5

프런트엔드는 Kerberos V5에 참여해야 합니다. 포스트마스터와의 인증 대화 상자(여기서는 설명되지 않음) 이것이 성공하면 포스트마스터는 다음과 같이 응답합니다. 인증Ok, 그렇지 않으면 다음과 같이 응답합니다. 오류응답.

인증암호화되지 않은 비밀번호

프런트엔드는 UnencryptedPasswordPacket을 보내야 합니다. 만약에 이것이 올바른 비밀번호라면 포스트마스터는 다음과 같이 응답합니다. 인증Ok, 그렇지 않으면 다음과 같이 응답합니다. 오류응답.

인증암호화된 비밀번호

프런트엔드는 EncryptedPasswordPacket을 보내야 합니다. 만약에 이것이 올바른 비밀번호라면 포스트마스터는 다음과 같이 응답합니다. 인증Ok, 그렇지 않으면 다음과 같이 응답합니다. 오류응답.

프런트엔드가 인증 방법을 지원하지 않는 경우 우체국장이 요청하면 즉시 폐쇄되어야 합니다. 연결.

질의

프런트엔드가 백엔드에 쿼리 메시지를 보냅니다. 응답 백엔드에서 보낸 내용은 쿼리 내용에 따라 다릅니다. 는 가능한 응답은 다음과 같습니다.

완료응답

쿼리가 정상적으로 완료되었습니다.

CopyInResponse

백엔드가 프런트엔드에서 데이터를 복사할 준비가 되었습니다. 관계. 그러면 프런트엔드에서 CopyDataRows 메시지를 보내야 합니다. 그러면 백토토 핫 CompletedResponse 메시지로 응답합니다. 'COPY' 태그가 있습니다.

CopyOutResponse

백엔드는 관계에서 데이터를 복사할 준비가 되었습니다. 프론트엔드. 그런 다음 CopyDataRows 메시지를 보낸 다음 "COPY" 태그가 포함된 CompletedResponse 메시지입니다.

커서응답

쿼리는 삽입(l), 삭제(l), 업데이트(l), fetch(l) 또는 select(l) 명령. 거래가 이루어진 경우 중단된 후 백엔드는 CompletedResponse 메시지를 다음과 같이 보냅니다. "*ABORT STATE*" 태그. 그렇지 않으면 다음 응답은 다음과 같습니다 보냈습니다.

insert(l) 명령의 경우 백엔드는 다음을 보냅니다. 'INSERT 태그가 포함된 CompletedResponse 메시지oid " 어디서수는 행이 삽입되었으며, 및oid이것은 삽입된 행의 개체 ID인 경우은 1이고, 그렇지 않으면oid0입니다.

삭제(l) 명령의 경우 백엔드는 다음을 보냅니다. "DELETE 태그가 포함된 CompletedResponse 메시지" 여기서삭제된 행 수입니다.

업데이트(l) 명령의 경우 백엔드는 다음을 보냅니다. 'UPDATE 태그가 포함된 CompletedResponse 메시지" 어디서삭제된 행 수입니다.

fetch(l) 또는 select(l) 명령의 경우 백엔드는 다음을 보냅니다. 행 설명 메시지입니다. 그런 다음 AsciiRow 또는 BinaryRow 메시지(바이너리 커서가 사용되었는지 여부에 따라 다름) 지정) 프런트엔드로 반환되는 각 행에 대해 마지막으로 백엔드는 CompletedResponse 메시지를 다음과 같이 보냅니다. "SELECT" 태그입니다.

빈 쿼리 응답

쿼리가 비어있습니다.

오류응답

오류가 발생했습니다.

공지응답

질문과 관련하여 경고 메시지가 발행되었습니다. 통지는 다른 응답에 추가됩니다. 백엔드 이후 즉시 또 다른 응답 메시지를 보내드리겠습니다.

알림응답

다음 관계에 대해 통지(l) 명령이 실행되었습니다. 이전 Listen(l) 명령이 실행되었습니다. 알림 다른 응답에 추가됩니다. 백엔드가 보낼 것입니다 그 직후 또 다른 응답 메시지가 표시됩니다.

프런트토토 핫 ErrorResponse를 수용할 준비가 되어 있어야 하며 다른 유형의 메시지가 나타날 때마다 통지응답 메시지가 나타납니다. 메시지.

기능 전화

프런트엔드가 백엔드에 FunctionCall 메시지를 보냅니다. 는 백엔드에서 보낸 응답은 함수 결과에 따라 달라집니다. 전화. 가능한 응답은 다음과 같습니다.

오류응답

오류가 발생했습니다.

함수결과응답

함수 호출이 실행되었으며 결과가 반환되었습니다.

함수VoidResponse

함수 호출이 실행되었지만 결과가 반환되지 않았습니다.

공지응답

다음과 관련하여 경고 메시지가 발행되었습니다. 함수 호출. 통지는 다른 응답에 추가됩니다. 백엔드는 즉시 다른 응답 메시지를 보냅니다. 나중에요.

프런트토토 핫 ErrorResponse를 수용할 준비가 되어 있어야 하며 다른 유형의 메시지가 나타날 때마다 통지응답 메시지가 나타납니다. 메시지.

해지

프런트토토 핫 종료 메시지를 보내고 즉시 종료됩니다. 연결. 메시지를 받으면 백토토 핫 즉시 연결을 닫고 종료합니다.


이전 다음
프런트엔드/백엔드 프로토콜 위로 메시지 데이터 유형