42.4. ��Ϣ��ʽ

��������������Ϣ����ϸ��ʽ��ÿ����Ϣ�����Ϊ������һ��ǰ�� ��F���� һ����� ��B���������ߣ�F & B�����͵ġ� ��ע�⣬����ÿ����Ϣ�ڿ�ͷ������һ���ֽڼ�������Ϣ��ʽҲ����Ϊ���ǿ��Բ��òο��ֽڼ����Ϳ����ҵ���Ϣ�Ľ�β�� ��������������Ч�Լ�顣��CopyData ��Ϣ��һ�����⣬��Ϊ���γ�һ����������һ���֣� ��������� CopyData ��Ϣ�������޷��Խ��͵ġ���

AuthenticationOk (B)

Byte1('R')

��ʶ����Ϣ��һ����֤����

Int32(8)

���ֽڼǵ���Ϣ���ݳ��ȣ�����������ȱ���

Int32(0)

��������֤�dzɹ��ġ�

AuthenticationKerberosV4 (B)

Byte1('R')

��ʶ����Ϣ��һ����֤����

Int32(8)

���ֽڼǵ���Ϣ���ݳ��ȣ�����������ȱ���

Int32(1)

������Ҫ Kerberos V4 ��֤��

AuthenticationKerberosV5 (B)

Byte1('R')

��ʶ����Ϣ��һ����֤����

Int32(8)

���ֽڼǵ���Ϣ���ݳ��ȣ�������������

Int32(2)

������Ҫ Kerberos V5 ��֤��

AuthenticationCleartextPassword (B)

Byte1('R')

��ʶ����Ϣ��һ����֤����

Int32(8)

���ֽڼǵ���Ϣ���ݳ��ȣ�������������

Int32(3)

������Ҫһ�����ĵĿ��

AuthenticationCryptPassword (B)

Byte1('R')

��ʶ����Ϣ��һ����֤����

Int32(10)

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

Int32(4)

������Ҫһ�� crypt() ���ܵĿ��

Byte2

���ܿ���ʹ�õ�������salt����

AuthenticationMD5Password (B)

Byte1('R')

��ʶ������Ϣ��һ����֤����

Int32(12)

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

Int32(5)

������Ҫһ�� MD5 ���ܵĿ��

Byte4

���ܿ����ʱ��ʹ�õ�������

AuthenticationSCMCredential (B)

Byte1('R')

��ʶ������Ϣ��һ����֤����

Int32(8)

���ֽڼǵ���Ϣ���ݳ��ȣ��������ȱ���

Int32(6)

������Ҫһ�� SCM ������Ϣ��

BackendKeyData (B)

Byte1('K')

��ʶ����Ϣ��һ��ȡ���������ݡ� ���ǰ��ϣ���ܹ����Ժ󷢳� CancelRequest ��Ϣ�� ��ô�����뱣�����ֵ��

Int32(12)

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

Int32

��˵Ľ��̺ţ�PID����

Int32

�˺�˵���Կ��secret key ����

Bind (F)

Byte1('B')

��ʶ����Ϣ��һ�������

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

String

Ŀ����ڵ����֣����ִ���ѡȡδ��������ڣ���

String

Դ׼�����������֣����ִ���ѡȡδ������׼������䣩��

Int16

������ŵIJ�����ʽ�������Ŀ��������� C ��˵������ �����ֵ�������㣬��ʾû�в����������Dz�����ʹ��ȱʡ��ʽ���ı����� ������һ����������������ĸ�ʽ����Ӧ�������в��������������Ե���ʵ����Ŀ�IJ�����

Int16[C]

������ʽ���롣Ŀǰÿ�����������㣨�ı�������һ�������ƣ���

Int16

������ŵIJ���ֵ����Ŀ������Ϊ�㣩����Щ����Ͳ�ѯ��Ҫ�IJ�������ƥ�䡣

Ȼ��ÿ�������������������ֶζԣ�

Int32

����ֵ�ij��ȣ����ֽڼǣ�������Ȳ����������ȱ���������Ϊ�㡣 һ�����������ǣ�-1 ��ʾһ�� NULL ����ֵ���� NULL ������£� ���治�������ֵ�ֽڡ�

Byten

����ֵ����ʽ�ǹ����ĸ�ʽ��������ġ�n ������ij��ȡ�

�����һ������֮�󣬳���������ֶΣ�

Int16

������ŵĽ���ֶθ�ʽ������Ŀ������� R �������� �����Ŀ���������ʾû�н���ֶΣ����߽���ֶζ�ʹ��ȱʡ��ʽ���ı����� ������һ�����������������ʽ����Ӧ�������н���ֶΣ�����еĻ��������������Ե��ڲ�ѯ�Ľ���ֶε�ʵ����Ŀ��

Int16[R]

����ֶθ�ʽ���롣Ŀǰÿ���������㣨�ı�������һ�������ƣ���

BindComplete (B)

Byte1('2')

��ʶ��ϢΪһ���󶨽�����ʶ����

Int32(4)

���ֽڼǵ���Ϣ���ȣ��������ȱ���

CancelRequest (F)

Int32(16)

���ֽڼƵ���Ϣ���ȡ��������ȱ���

Int32(80877102)

ȡ��������롣ѡ���ֵ��Ϊ���ڸ�16λ���� 1234�� ��16λ���� 5678����Ϊ������ң�������������Э��汾�Ų�ͬ����

Int32

Ŀ���˵Ľ��̺ţ�PID����

Int32

Ŀ���˵���Կ��secret key����

Close (F)

Byte1('C')

��ʶ������Ϣ��һ�� Close ���

Int32

���ֽڼǵ���Ϣ���ݳ��ȣ��������ȱ���

Byte1

'S' �ر�һ��׼������䣻���� 'P' �ر�һ����ڡ�

String

һ��Ҫ�رյ�׼���õ���������ڵ����֣�һ�����ִ�ѡ��δ������׼������������ڣ���

CloseComplete (B)

Byte1('3')

��ʶ��Ϣ��һ�� Close ���ָʾ����

Int32(4)

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

CommandComplete (B)

Byte1('C')

��ʶ����Ϣ��һ�����������Ӧ��

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

String

�����ǡ���ͨ����һ�����֣���ʶ�Ǹ�������ɡ�

����INSERT��������INSERT oidrows�� �����rows�Dz����������oid ��rowΪ 1 ����Ŀ����� OID ��ʱ���Dz����еĶ��� ID�� ����oid���� 0��

����DELETE �������� DELETE rows�� ����� rows ��ɾ����������

���� UPDATE �������� UPDATE rows ����� rows �Ǹ��µ�������

���� MOVE �������� MOVE rows������� rows ���α�δ֪�ı��������

���� FETCH �������� FETCH rows������� rows �Ǵ��α��м���������������

CopyData (F & B)

Byte1('d')

��ʶ������Ϣ��һ�� COPY ���ݡ�

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

Byten

���� COPY ��������һ���ֵ����ݡ��Ӻ�˷�������Ϣ���Ƕ�Ӧһ�������У�����ǰ�˷�������Ϣ��������ָ���������

CopyDone (F & B)

Byte1('c')

��ʶ������Ϣ��һ�� COPY ����ָʾ����

Int32(4)

���ֽڼǵ���Ϣ���ݳ��ȣ��������ȱ���

CopyFail (F)

Byte1('f')

��ʶ������Ϣ��һ�� COPY ʧ��ָʾ����

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

String

һ������ʧ��ԭ��Ĵ�����Ϣ��

CopyInResponse (B)

Byte1('G')

��ʶ������Ϣ��һ�� Start Copy In ����ʼ�������룩��Ӧ��Ϣ�� ǰ�����ڱ��뷢��һ�����������ݡ��������û׼��������Щ���飬 ��ô����һ�� CopyFail ��Ϣ����

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

Int8

0 ��ʾȫ���� COPY ��ʽ�����ı��ģ��������ɻ��з��ָ����ֶ��ɷָ��ַ��ָ��ȵȣ��� 1 ��ʾȫ�� COPY ��ʽ���Ƕ����Ƶģ����� DataRow ��ʽ���� ���� COPY ��ȡ������Ϣ��

Int16

������Ҫ�������ֶ������������ N ���ͣ���

Int16[N]

ÿ���ֶν�Ҫ�õĸ�ʽ���룬Ŀǰÿ�����������㣨�ı�������һ�������ƣ��� ���ȫ��������ʽ�����ı��ģ���ô���еĶ��������㡣

CopyOutResponse (B)

Byte1('H')

��ʶ������Ϣ��һ�� Start Copy Out ����ʼ������������Ӧ��Ϣ�� ������Ϣ���潫����һ��������������Ϣ��

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ��������Լ���

Int8

0 ��ʾȫ��������ʽ�����ı����������ɻ��з��ָ��� �ֶ��ɷָ��ַ��ָ��ȵȣ���1 ��ʾ���п�����ʽ���Ƕ����Ƶģ������� DataRow ��ʽ�������� COPY ��ȡ������Ϣ��

Int16

Ҫ���������ݵ��ֶε���Ŀ��������� N ˵������

Int16[N]

ÿ���ֶ�Ҫ���õĸ�ʽ���롣Ŀǰÿ�����������㣨�ı�������һ�������ƣ��� ���ȫ���Ŀ�����ʽ�����ı�����ô���еĶ��������㡣

DataRow (B)

Byte1('D')

��ʶ�����Ϣ��һ�������С�

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ�������������

Int16

������ŵ��ֶ�ֵ�ĸ������������㣩��

Ȼ��ÿ���ֶζ�����������������ԣ�

Int32

�ֶ�ֵ�ij��ȣ����ֽڼǣ�������Ȳ��������Լ����� ����Ϊ�㡣һ�����������ǣ�-1 ��ʾһ�� NULL ���ֶ�ֵ�� �� NULL ������¾�û�и��������ֶΡ�

Byten

һ���ֶε���ֵ������صĸ�ʽ�����ʾ�ĸ�ʽչ�֡� n ������ij��ȡ�

Describe (F)

Byte1('D')

��ʶ��Ϣ��һ�� Describe �����������

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ������ֽڱ���

Byte1

'S' ����һ��׼���õ���䣻���� 'P' ����һ����ڡ�

String

Ҫ������׼���õ���������ڵ����֣�����һ�����ִ����ͻ�ѡȡδ������׼������������ڣ���

EmptyQueryResponse (B)

Byte1('I')

��ʶ������Ϣ�Ƕ�һ���ղ�ѯ�ִ�����Ӧ�� �������Ϣ�滻�� CommandComplete����

Int32(4)

���ֽڼǵ���Ϣ���ݳ��ȣ��������Լ���

ErrorResponse (B)

Byte1('E')

��ʶ��Ϣ��һ������

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

��Ϣ����һ��������ʶ�������ֶ���ɣ��������һ���ֽ�����Ϊ��ֹ���� �ֶο������κ�˳����֡�����ÿ���ֶζ�������Ķ�����

Byte1

һ����ʶ�ֶ����͵Ĵ��룻���Ϊ�㣬�������Ϣ��ֹ�����Ҳ���������ִ��� Ŀǰ������ֶ������� Section 42.5 �г��� ��Ϊ�����������Ӹ�����ֶ����ͣ�����ǰ��Ӧ�ò�������غ��Բ���ʶ���͵��ֶΡ�

String

�ֶ�ֵ��

Execute (F)

Byte1('E')

��ʶ��Ϣʶһ�� Execute ���

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ�������������

String

Ҫִ�е���ڵ����֣����ִ�ѡ��δ��������ڣ���

Int32

Ҫ���ص���������������ڰ��������еIJ�ѯ(�������)�� ���ʶ"û������"��

Flush (F)

Byte1('H')

��ʶ��Ϣʶһ�� Flush ���

Int32(4)

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

FunctionCall (F)

Byte1('F')

��ʶ��Ϣ��һ���������ã�

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

Int32

���������õĺ����Ķ����ʶ��OID����

Int16

������ŵIJ�����ʽ�������Ŀ���������C��ʾ���� ���������㣬��ʾû�в��������������в���������ȱʡ��ʽ���ı����� ������һ����������������ĸ�ʽ����Ӧ�������в��������������Ե��ڲ�����ʵ�ʸ�����

Int16[C]

������ʽ���롣Ŀǰÿ���������㣨�ı�������һ�������ƣ���

Int16

�����ṩ�������IJ���������

Ȼ��ÿ�����������������ֶζԣ�

Int32

���ֽڼǵIJ���ֵ�ij��ȣ������������Լ���������Ϊ�㡣 һ������������ǣ�-1 ��ʾһ�� NULL ����ֵ������� NULL����û�в����ֽڸ��ں��档

Byten

������ֵ����ʽ������صĸ�ʽ�����ʾ�ġ� n������ij��ȡ�

�����һ������֮�󣬳���������ֶΣ�

Int16

��������ĸ�ʽ���롣Ŀǰ�������㣨�ı�������һ�������ƣ���

FunctionCallResponse (B)

Byte1('V')

��ʶ������Ϣ��һ���������ý����

Int32

���ֽڼǵ���Ϣ���ݳ��ȣ��������ȱ���

Int32

���ֽڼǵĺ������ֵ�ij���(���������ȱ���)������Ϊ�㡣һ������������ -1 ��ʾ NULL �������������� NULL �����û����ֵ�ֽڸ��档

Byten

���������ֵ����ʽ��������ĸ�ʽ�����ʶ�ġ� n ������ij��ȡ�

NoData (B)

Byte1('n')

��ʶ������Ϣ��һ��������ָʾ����

Int32(4)

���ֽڼǵ���Ϣ���ݳ��ȣ��������ȱ���

NoticeResponse (B)

Byte1('N')

��ʶ������Ϣ��һ��֪ͨ��

Int32

���ֽڼǵ���Ϣ���ݳ��ȣ��������ȱ���

��Ϣ����һ��������ʶ�ֶ���ɣ���������ֽ�����Ϊ��ֹ���� �ֶο������κ�˳����֡�����ÿ���ֶΣ���������Ķ�����

Byte1

һ����ʶ�ֶ����͵Ĵ��룻���Ϊ�㣬��ô��������Ϣ��ֹ�������Һ��治������ִ��� Ŀǰ������ֶ������� Section 42.5���г��� ��Ϊ�������ܻ����Ӹ����ֶ����ͣ�����ǰ��Ӧ�ý���ʶ����ֶΰ����غ��Ե���

String

�ֶ�ֵ��

NotificationResponse (B)

Byte1('A')

��ʶ������Ϣ��һ��֪ͨ��Ӧ��

Int32

���ֽڼǵ���Ϣ���ݵس��ȣ��������ȱ���

Int32

֪ͨ��˽��̵ؽ��� ID��

String

����֪ͨ�����������֡�

String

��֪ͨ���̴��ݹ����Ķ������Ϣ����Ŀǰ��������Ի�δʵ�֣��������ֶ�����һ�����ִ�����

ParameterDescription (B)

Byte1('t')

��ʶ��Ϣ��һ������������

Int32

���ֽڼǵ���Ϣ���ݳ��ȣ��������ȱ���

Int16

�����ʹ�õIJ����ĸ���������Ϊ�㣩��

Ȼ�󣬶�ÿ��������������Ķ�����

Int32

���������������͵Ķ��� ID��

ParameterStatus (B)

Byte1('S')

��ʶ������Ϣ��һ������ʱ����״̬���档

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ�������������

String

�����������ʱ���������֡�

String

�����ĵ�ǰֵ��

Parse (F)

Byte1('P')

��ʶ��Ϣ��һ�� Parse ���

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ�������������

String

Ŀ��׼�����������֣����ִ���ʾѡȡ��δ������׼������䣩��

String

Ҫ�����IJ�ѯ�ִ���

Int16

�����IJ����������͵���Ŀ(����Ϊ��)����ע���������������ζ�ſ����ڲ�ѯ�ִ�����ֵIJ�����������˼�� ֻ��ǰ��ϣ��Ԥ�����������͵���Ŀ��

Ȼ�󣬶�ÿ��������������Ķ�����

Int32

���������������͵Ķ��� ID���������һ�����Ч�ڲ����������͡�

ParseComplete (B)

Byte1('1')

��ʶ������Ϣ��һ�� Parse ���ָʾ����

Int32(4)

���ֽڼǵ���Ϣ���ݳ��ȣ�������������

PasswordMessage (F)

Byte1('p')

��ʶ������Ϣ��һ��������Ӧ��

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

String

������Ҫ���ˣ����Ǽ��ܺ�ģ���

PortalSuspended (B)

Byte1('s')

��ʶ������Ϣ��һ����ڹ���ָʾ������ע�������Ϣֻ�����ڴﵽһ�� Execute ��Ϣ���м������Ƶ�ʱ��

Int32(4)

���ֽڼǵ���Ϣ���ݵij��ȣ�������������

Query (F)

Byte1('Q')

��ʶ��Ϣ��һ���򵥲�ѯ��

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ�������������

String

��ѯ�ִ�����

ReadyForQuery (B)

Byte1('Z')

��ʶ��Ϣ���͡��ں��Ϊ�µIJ�ѯѭ��׼���õ�ʱ�� �ܻᷢ�� ReadyForQuery��

Int32(5)

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

Byte1

��ǰ�������״ָ̬ʾ�������ܵ�ֵ�ǿ���״���µ� 'I'������������������������� 'T'�� ������һ��ʧ�ܵ���������� 'E'������������֮ǰ���κβ�ѯ�������ܾ�����

RowDescription (B)

Byte1('T')

��ʶ��Ϣ��һ����������

Int32

���ֽڼǵ���Ϣ���ݵij��ȣ�������������

Int16

������һ����������ֶ���Ŀ������Ϊ�㣩��

Ȼ�����ÿ���ֶΣ�������Ķ�����

String

�ֶ����֡�

Int32

����ֶο��Ա�ʶΪһ���ض�����ֶΣ���ô���DZ�Ķ��� ID�� ��������㡣

Int16

������ֶο��Ա�ʶΪһ���ض�����ֶΣ���ô���Ǹñ��ֶε����Ժţ���������㡣

Int32

�ֶ��������͵Ķ��� ID��

Int16

�������ͳߴ磨����pg_type.typlen���� ��ע�⸺����ʾ������͡�

Int32

�������δ�(����pg_attribut.atttypmod)�� ���δʵĺ�����������صġ�

Int16

���ڸ��ֶεĸ�ʽ�롣Ŀǰ�����㣨�ı�������һ�������ƣ��� �������� Describe ���ص� RowDescription ���ʽ�뻹��δ֪�ģ���������㡣

SSLRequest (F)

Int32(8)

���ֽڼǵ���Ϣ���ݵij��ȣ��������ȱ���

Int32(80877103)

SSL �����롣ѡȡ����ֵ�ڸ�16λ����� 1234���ڵ�16λ����� 5679�� ��Ϊ�˱��������������������κ�Э��汾�Ų�ͬ����

StartupMessage (F)

Int32

���ֽڼǵ���Ϣ���ݳ��ȣ�������������

Int32(196608)

Э��汾�š��� 16 λ�����汾�ţ�������������Э������� 3���� �� 16 λ�Ǵΰ汾�ţ���������������Э������� 0����

Э��汾�ź������һ��������������ֵ�ִ�����ԡ�Ҫ�������һ������/��ֵ�Ժ����и��ֽ��㡣 ��������������˳����֡�user�DZ���ģ��������ǿ�ѡ�ġ�ÿ�������������������ģ�

String

��������Ŀǰ����ʶ��������ǣ�

user

�������ӵ����ݿ��û��������룻��ȱʡ��

database

Ҫ���ӵ����ݿ⡣ȱʡ���û�����

options

����˵������в���������������Ѿ����������õķ��������õ���������ʱ��������

����������⣬�ں��������ʱ��������õ��κ�����ʱ�����������г����� ���������ý��ں��������ʱ�򸽼ӣ��ڷ����������в���֮��---����еĻ�������Щֵ����Ϊ�Ựȱʡ��

String

����ֵ��

Sync (F)

Byte1('S')

��ʾ����ϢΪһ�� Sync ���

Int32(4)

���ֽڼǵ���Ϣ���ݵij��ȣ�������������

Terminate (F)

Byte1('X')

��ʶ��Ϣ��һ����ֹ��Ϣ��

Int32(4)

���ֽڼǵ���Ϣ���ݵij��ȣ�������������