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

윈 토토 형식

이 섹션에서는 각 윈 토토의 자세한 형식을 설명합니다. 각 프론트 엔드 (F), 우체국 장/백엔드 (B) 또는 둘 다 (F & B).

Asciirow (b)
byte1 ( 'd')

윈 토토를 A로 식별합니다ASCII데이터 행. (사전 행전 설명 윈 토토는 행의 필드 수와 그 데이터 유형)

byten

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

그런 다음 널 값이 아닌 각 필드마다 수행원:

int32

필드 값의 크기를 지정합니다. 이 크기를 포함하여.

바이트n

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

Authenticationok (b)

byte1 ( 'r')

윈 토토를 인증 요청으로 식별합니다.

int32 (0)

인증이 성공했음을 지정합니다.

AuthenticationKerberoSv4 (b)

byte1 ( 'r')

윈 토토를 인증 요청으로 식별합니다.

int32 (1)

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

AuthenticationCerberoSV5 (b)

byte1 ( 'r')

윈 토토를 인증 요청으로 식별합니다.

int32 (2)

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

AuthenticationUnencryptedPassword (b)

byte1 ( 'r')

윈 토토를 인증 요청으로 식별합니다.

int32 (3)

암호화되지 않은 암호가 필요하다는 것을 지정합니다.

AuthenticationEnceCryptedPassword (b)

byte1 ( 'r')

윈 토토를 인증 요청으로 식별합니다.

int32 (4)

암호화 된 암호가 필요하다는 것을 지정합니다.

byte2

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

BackendKeyData (b)

byte1 ( 'k')

윈 토토를 취소 키 데이터로 식별합니다. 그만큼 프론트 엔드는이 값을 저장해야합니다. 나중에 CancelRequest 윈 토토를 발행합니다.

int32

이 백엔드의 프로세스 ID.

int32

이 백엔드의 비밀 키.

Barinarrow (b)

byte1 ( 'b')

윈 토토를 이진 데이터 행으로 식별합니다. (사전 rowdescription 윈 토토의 필드 수를 정의합니다 행 및 데이터 유형.)

바이트n

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

그런 다음 널 값이 아닌 각 필드마다 수행원:

int32

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

바이트n

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

CancelRequest (F)

int32 (16)

바이트의 패킷의 크기.

int32 (80877102)

취소 요청 코드. 값은 포함하도록 선택됩니다 "1234"는 가장 중요한 16 비트, "5678"에서 최소 16 개의 중요한 비트. (혼란을 피하기 위해이 코드 프로토콜 버전 번호와 동일하지 않아야합니다.)

int32

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

int32

대상 백엔드의 비밀 키.

완성한 응답 (b)

byte1 ( 'c')

윈 토토를 완료된 응답으로 식별합니다.

String

명령 태그. 이것은 일반적으로 (그러나 항상 아님) a입니다 어떤 SQL 명령을 식별하는 단일 단어 완전한.

CopyDatarows (B & F)

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

CopyInResponse (b)

byte1 ( 'g')

윈 토토를 응답으로 시작 사본으로 식별합니다. 그만큼 Frontend는 이제 CopyDatarows 윈 토토를 보내야합니다.

CopyOUtResponse (b)

byte1 ( 'h')

윈 토토를 시작 복사 출판으로 식별합니다. 이 윈 토토 뒤에는 CopyDatarows가 이어집니다 윈 토토.

CursorResponse (b)

byte1 ( 'p')

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

String

커서의 이름. 이것은 "빈"이 될 것입니다 커서는 암시 적입니다.

EmptyQueryResponse (B)

byte1 ( 'i')

빈 쿼리에 대한 응답으로 윈 토토를 식별합니다. 끈.

String ( "")

미사용.

EncryptedPasswordPacket (F)

int32

바이트의 패킷의 크기.

String

암호화 된 (crypt () 사용) 비밀번호.

ErrorResponse (b)

byte1 ( 'e')

윈 토토를 오류로 식별합니다.

String

오류 윈 토토 자체.

FunctionCall (F)

byte1 ( 'f')

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

String ( "")

미사용.

int32

호출 할 함수의 객체 ID를 지정합니다.

int32

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

그런 다음 각 인수에 대해 다음이 있습니다.

int32

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

byten

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

FunctionResulTresponse (b)

byte1 ( 'V')

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

byte1 ( 'g')

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

int32

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

byten

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

byte1 ( '0')

사용되지 않습니다. (엄격하게 말하면, 함수 룰트 루싱 및 FunctionVoidResponse는 동일하지만 일부는 있습니다 윈 토토의 선택적 부분.)

functionVoidResponse (b)

byte1 ( 'V')

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

byte1 ( '0')

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

uniceresponse (b)

byte1 ( 'n')

윈 토토를 통지로 식별합니다.

String

통지 윈 토토 자체.

NotificationResponse (b)

byte1 ( 'a')

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

int32

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

String

알림이 있었던 조건의 이름 제기.

쿼리 (f)

byte1 ( 'Q')

윈 토토를 쿼리로 식별합니다.

String

쿼리 문자열 자체.

ReadyForquery (b)

byte1 ( 'z')

윈 토토 유형을 식별합니다. ReadyForquery가 전송됩니다 백엔드가 새로운 쿼리 사이클을 준비 할 때마다.

RowDescription (b)

byte1 ( 't')

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

int16

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

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

String

필드 이름을 지정합니다.

int32

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

int16

유형 크기를 지정합니다.

int32

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

startuppacket (f)

int32 (296)

바이트의 패킷의 크기.

int32

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

limstring64

데이터베이스 이름은 사용자 이름으로 기본값을 표시합니다 비어 있는.

limstring32

사용자 이름.

Limstring64

전달 될 추가 명령 줄 인수 우체국 장의 백엔드.

limstring64

미사용.

limstring64

백엔드가 디버깅에 사용해야하는 선택 사항 윈 토토.

종료 (f)

byte1 ( 'x')

윈 토토를 종료로 식별합니다.

암호화되지 않은 passwordpacket (f)

int32

바이트의 패킷의 크기.

String

암호화되지 않은 암호.