이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 53.7. 토토 핫 형식버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

4.4. 토토 꽁 머니 형식

이 섹션에서는 각 토토 꽁 머니의 자세한 형식을 설명합니다. 각각은 프론트 엔드 (F), 백엔드 (B) 또는 둘 다로 보낼 수 있습니다. (F & B).

Asciirow (b)
byte1 ( 'd')

토토 꽁 머니를 A로 식별합니다ASCII데이터 행. (사전 RowDescription 토토 꽁 머니 필드 수를 정의합니다 행과 데이터 유형에.)

바이트n

행에있는 각 필드마다 하나의 비트가있는 비트 맵. 첫 번째 필드는 첫 번째의 비트 7 (MSB)에 해당합니다. 바이트, 두 번째 필드는 1st의 비트 6에 해당합니다. 바이트, 8 번째 필드는 비트 0 (LSB)에 해당합니다. 첫 번째 바이트, 9 번째 필드는 비트 7에 해당합니다. 두 번째 바이트 등. 값의 경우 각 비트가 설정됩니다 해당 필드는 NULL이 아닙니다. 수의 경우 필드는 8의 배수가 아니며 나머지는 비트 맵의 ​​마지막 바이트는 낭비됩니다.

그런 다음 널 값이 아닌 각 필드마다 다음은 다음과 같습니다.

int32

값의 크기를 지정합니다 이 크기를 포함한 필드

바이트n

필드 자체의 값을 지정ASCII캐릭터.n위의 크기 마이너스 4입니다. 후행이 없습니다. 필드 데이터의 제로 바이트; 프론트 엔드는해야합니다 원한다면 하나를 추가하십시오.

Authenticationok (b)

byte1 ( 'r')

토토 꽁 머니를 인증으로 식별합니다 요구.

int32 (0)

인증이 임명되었음을 지정합니다 성공적인.

AuthenticationKerberoSv4 (b)

byte1 ( 'r')

토토 꽁 머니를 인증으로 식별합니다 요구.

int32 (1)

Kerberos v4 인증이임을 지정합니다 필수의.

AuthenticationKerberoSV5 (b)

byte1 ( 'r')

토토 꽁 머니를 인증으로 식별합니다 요구.

int32 (2)

Kerberos v5 인증이임을 지정합니다 필수의.

AuthenticationClearTextPassword (b)

byte1 ( 'r')

토토 꽁 머니를 인증으로 식별합니다 요구.

int32 (3)

CLEARTEXT 암호가 지정됩니다 필수의.

AuthenticationCryptPassword (b)

byte1 ( 'r')

토토 꽁 머니를 인증으로 식별합니다 요구.

int32 (4)

crypt ()-암호화 된 비밀번호를 지정합니다 필수의.

byte2

암호를 암호화 할 때 사용할 소금.

AuthenticationMd5password (b)

byte1 ( 'r')

토토 꽁 머니를 인증으로 식별합니다 요구.

int32 (5)

MD5 암호화 비밀번호가 지정됩니다 필수의.

byte4

암호를 암호화 할 때 사용할 소금.

authenticationscmcredential (b)

byte1 ( 'r')

토토 꽁 머니를 인증으로 식별합니다 요구.

int32 (6)

SCM 자격 증명 토토 꽁 머니가 지정됩니다 필수의.

BackendKeyData (b)

byte1 ( 'k')

토토 꽁 머니를 취소 키 데이터로 식별합니다. 프론트 엔드는 원하는 경우이 값을 저장해야합니다. 나중에 CancelRequest 토토 꽁 머니를 발행 할 수 있습니다.

int32

이 백엔드의 프로세스 ID.

int32

이 백엔드의 비밀 키.

Binaryrow (B)

byte1 ( 'b')

메시지를 이진 데이터 행으로 식별합니다. (에이 이전 RowDescription 메시지는 수를 정의합니다 행의 필드 및 데이터 유형.)

바이트n

행에있는 각 필드마다 하나의 비트가있는 비트 맵. 첫 번째 필드는 첫 번째의 비트 7 (MSB)에 해당합니다. 바이트, 두 번째 필드는 1st의 비트 6에 해당합니다. 바이트, 8 번째 필드는 비트 0 (LSB)에 해당합니다. 첫 번째 바이트, 9 번째 필드는 비트 7에 해당합니다. 두 번째 바이트 등. 값의 경우 각 비트가 설정됩니다 해당 필드는 NULL이 아닙니다. 수의 경우 필드는 8의 배수가 아니며 나머지는 비트 맵의 ​​마지막 바이트는 낭비됩니다.

그런 다음 널 값이 아닌 각 필드마다 다음은 다음과 같습니다.

int32

값의 크기를 지정합니다 필드,이 크기 제외.

byten

필드 자체의 값을 지정합니다 이진 형식.n위의 크기입니다.

CancelRequest (F)

int32 (16)

바이트의 패킷의 크기.

int32 (80877102)

취소 요청 코드. 값은 선택됩니다 포함하다1234가장 중요한 16 비트 및5678최소 16 개의 중요한 비트. (혼란을 피하려면이 코드가 동일하지 않아야합니다. 프로토콜 버전 번호로.)

int32

대상 백엔드의 프로세스 ID.

int32

대상 백엔드의 비밀 키.

완성한 응답 (b)

byte1 ( 'c')

토토 꽁 머니를 완료된 것으로 식별합니다 응답.

String

명령 태그. 이것은 일반적으로 단일 단어입니다 어떤 SQL 명령이 완료되었는지를 식별합니다.

삽입명령, 태그는삽입OID , 여기는 행의 수입니다 삽입 및OIDIS 삽입 된 행의 객체 ID Ifis 1, 그렇지 않으면OIDis 0입니다.

a삭제명령, 태그는삭제여기서는 행의 수입니다 삭제.

an업데이트명령, 태그는업데이트여기서는 행의 수입니다 업데이트.

CopyDatarows (B & F)

이것은 각 행이 종료되는 행의 스트림입니다. 바이트 1 ( '\ n'). 그런 다음 시퀀스가 ​​뒤 따릅니다 byte1 ( '\\'), byte1 ( '.'), byte1 ( '\ n').

CopyInResponse (b)

byte1 ( 'g')

토토 꽁 머니를 시작 사본으로 식별합니다 응답. 프론트 엔드는 이제 CopyDatarows를 보내야합니다 토토 꽁 머니.

CopyOUtresponse (b)

byte1 ( 'h')

메시지를 시작 복사로 식별합니다 응답. 이 메시지는 다음과 같습니다 CopyDatarows 메시지.

CursorResponse (b)

byte1 ( 'p')

토토 꽁 머니를 커서 응답으로 식별합니다.

String

커서의 이름. 이건"blank"커서가 암시적인 경우.

EmptyQueryResponse (b)

byte1 ( 'i')

토토 꽁 머니를 빈에 대한 응답으로 식별합니다 쿼리 문자열.

String ( "")

미사용.

ErrorResponse (b)

byte1 ( 'e')

토토 꽁 머니를 오류로 식별합니다.

String

오류 토토 꽁 머니 자체.

FunctionCall (F)

byte1 ( 'f')

토토 꽁 머니를 함수 호출로 식별합니다.

String ( "")

미사용.

int32

함수의 객체 ID를 지정합니다 부르다.

int32

제공되는 인수 수를 지정합니다 기능에.

그런 다음 각 인수마다 수행원:

int32

값의 크기를 지정합니다 이 크기를 제외한 인수.

바이트n

필드 자체의 값을 지정합니다 이진 형식.n위의 크기입니다.

FunctionResulTresponse (b)

byte1 ( 'V')

토토 꽁 머니를 함수 호출로 식별합니다 결과.

byte1 ( 'g')

비어 있지 않은 결과가 반환되었음을 지정합니다.

int32

결과 값의 크기를 지정합니다. 이 크기 제외.

바이트n

이진에서 결과 자체의 값을 지정합니다 체재.n입니다 위의 크기.

byte1 ( '0')

사용되지 않습니다. (엄격하게 말하면, 함수 룰트 루피 그리고 functionVoidResponse는 동일하지만 토토 꽁 머니의 일부 선택 부분.)

functionVoidResponse (b)

byte1 ( 'V')

토토 꽁 머니를 함수 호출로 식별합니다 결과.

byte1 ( '0')

빈 결과가 반환되었음을 지정합니다.

uniceresponse (b)

​​byte1 ( 'n')

토토 꽁 머니를 통지로 식별합니다.

String

통지 토토 꽁 머니 자체.

NotificationResponse (b)

byte1 ( 'a')

토토 꽁 머니를 알림으로 식별합니다 응답.

int32

알림 백엔드의 프로세스 ID 프로세스.

String

통지가 있었던 조건의 이름 제기.

PasswordPacket (F)

int32

바이트의 패킷의 크기.

String

암호 (요청 된 경우 암호화)

쿼리 (f)

byte1 ( 'Q')

토토 꽁 머니를 쿼리로 식별합니다.

String

쿼리 문자열 자체.

ReadyForquery (b)

byte1 ( 'z')

토토 꽁 머니 유형을 식별합니다. ReadyForquery가 전송됩니다 백엔드가 새 쿼리를 준비 할 때마다 주기.

RowDescription (b)

byte1 ( 't')

토토 꽁 머니를 행 설명으로 식별합니다.

int16

연속 필드 수를 지정합니다 ( 영).

그런 다음 각 필드마다 다음이 있습니다.

String

필드 이름을 지정합니다.

int32

필드의 객체 ID를 지정합니다 유형.

int16

유형 크기를 지정합니다.

int32

유형 수정자를 지정합니다.

SSLREQUEST (F)

int32 (8)

바이트의 패킷의 크기.

int32 (80877103)

SSL 요청 코드. 값은 선택됩니다 포함하다1234가장 중요한 16 비트 및5679최소 16 개의 중요한 비트. (혼란을 피하려면이 코드가 동일하지 않아야합니다. 프로토콜 버전 번호로.)

startuppacket (f)

int32 (296)

바이트의 패킷의 크기.

int32

프로토콜 버전 번호. 가장 중요한 16 비트는 주요 버전 번호입니다. 최소 16 중요한 비트는 사소한 버전 번호입니다.

limstring64

데이터베이스 이름, 기본값 인 If 비어 있는.

limstring32

사용자 이름.

limstring64

추가 명령 줄 인수가 전달됩니다 서버의 백엔드 아동 프로세스에.

limstring64

미사용.

limstring64

백엔드가 사용해야하는 선택 사항 디버깅 메시지. (현재이 분야는입니다 지원되지 않고 무시했습니다.)

종료 (f)

byte1 ( 'x')

토토 꽁 머니를 종료로 식별합니다.