42.2. ��Ϣ��

����������Ϣ�����Լ�ÿ����Ϣ���͵����⡣ ��ÿ����Ϣ��׼ȷ����ϸ���� Section 42.4 ��� �����ӵ�״̬��ͬ�����ڼ��ֲ�ͬ����Э�飺 ������startup������ѯ��query�����������ã�function call���� COPY �ͽ�����termination���� ��������֪ͨ��Ӧ������ȡ����������Ϣ����Щ������Ϣ�����������׶ι�����κ�ʱ�������

42.2.1. ����

Ҫ��ʼһ���Ự��ǰ�˴�һ��������������Ӳ��ҷ���һ��������Ϣ�� �����Ϣ�����û����Լ��û�ϣ����֮���ӵ����ݿ⣻ ������ʶҪʹ�õ��ض���Э��汾�������⣬������Ϣ���԰�����������ʱ�����Ķ������á��� ������Ȼ���ʹ����Щ��Ϣ�Լ����������ļ������� ������ pg_hba.conf�����ж���������Ƿ���Խ��ܣ��Լ���Ҫʲô���Ķ������֤�������Ҫ����

Ȼ��������ͷ��ͺ��ʵ���֤������Ϣ��ǰ�˱����ú��ʵ���֤��Ӧ��Ϣ����Ӧ������һ������� �����Ͻ�����������֤����/��Ӧѭ��������Ҫ��ε���������Ŀǰ����֤����������Ҫ����һ�ε��������Ӧ�� ��Щ�������������Ҫǰ�˵���Ӧ����˾�û����֤��������

��֤���ڵĽ���Ҫô���Է������ľܾ����ӣ�ErrorResponse���� Ҫô���� AuthenticationOK �����ġ�

����׶����Է�����������Ϣ�ǣ�

ErrorResponse

�������󱻾ܾ��� Ȼ����������Ϲر����ӡ�

AuthenticationOk

��֤�����ɹ���ɣ�

AuthenticationKerberosV4

����ǰ�˱��������������һ�� Kerberos V4 ��֤�Ի���������û��������Kerberos �淶��һ���֣��� ����Ի��ɹ�����������Ӧһ�� AuthenticationOk ����֤�ɹ�����Ϣ�� ��������Ӧһ�� ErrorResponse ��������Ӧ����

AuthenticationKerberosV5

����ǰ�˱��������������һ�� Kerberos V5 ��֤�Ի���������û��������Kerberos �淶��һ���֣��� ����Ի��ɹ�����������Ӧһ�� AuthenticationOk ����֤�ɹ�����Ϣ�� ��������Ӧһ�� ErrorResponse ��������Ӧ����

AuthenticationCleartextPassword

����ǰ�˱���������ʽ����һ����������� PasswordMessage ��δ���ܿ������ ���������ȷ�Ŀ����������һ�� AuthenticationOk ����Ӧ����������Ӧһ�� ErrorResponse ����

AuthenticationCryptPassword

����ǰ�˱��뷢��һ�� PasswordMessage �����ð������� crypt(3) ���ܵĿ������ʱʹ������ AuthenticationCryptPassword ��Ϣ�������� 2 �ֽ����������������ȷ�����������һ�� AuthenticationOk ��Ӧ����������һ�� ErrorResponse ��Ӧ��

AuthenticationMD5Password

����ǰ�˱��뷢��һ�������� MD5 ���ܵĿ���� PasswordMessage�� ����ʱʹ������ AuthenticationMD5Password ��Ϣ�������� 4 �ַ������� ���������ȷ�����������һ�� AuthenticationOk ��Ӧ����������һ�� ErrorResponse ��Ӧ��

AuthenticationSCMCredential

�����Ӧֻ����Щ֧�� SCM ������Ϣ�ı��� Unix �����ӳ��֡� ǰ�˱��뷢��һ�� SCM ������ϢȻ����һ�������ֽڡ� �������ֽڵ����ݲ����ᱻע�⣻ ��������ֻ��ȷ���������ȴ����㹻����ʱ��������������Ϣ������������ǿ��Խ��ܵģ� ��ô�������� AuthenticationOk ��Ӧ�������� ErrorResponse ��Ӧ��

���ǰ�˲�֧�ַ�����Ҫ�����֤��ʽ����ô��Ӧ�����Ϲر����ӡ�

���յ� AuthenticationOk ��֮�� ǰ�˱���ȴ����Ժ�˵ĸ�����Ϣ��������׶λ�����һ����˽��̣� ��ǰ��ֻ��һ������Ȥ�Ŀ����ֵġ�����������Ȼ�п���ʧ�ܣ�ErrorResponse���� ����ͨ������£���˽�����һЩ ParameterStatus ��Ϣ��BackendKeyData�� �Լ���� ReadyForQuery��

������׶Σ���˽�����Ӧ���κ���������Ϣ��������������ʱ�������á� ����ɹ�����Щֵ����Ϊ�Ựȱʡ�����󽫵��� ErrorResponse ���˳���

����׶����Ժ�˵Ŀ�����Ϣ�ǣ�

BackendKeyData

�����Ϣ�ṩ����Կ��secret-key�����ݣ� ǰ�������Ҫ���Ժ󷢳�ȡ�������� ����뱣��������ݡ�ǰ�˲�Ӧ����Ӧ�����Ϣ�� ����Ӧ�ü��������ȴ� ReadyForQuery ��Ϣ��

ParameterStatus

�����Ϣ����ǰ���йغ�˲����ĵ�ǰ����ʼ�������ã����� client_encoding ���� DateStyle �ȡ�ǰ�˿��Ժ�����Щ��Ϣ�����߼�¼���������ڽ���ʹ�ã� ���� Section 42.2.6 ��ȡ����ϸ�ڡ�ǰ�˲�Ӧ����Ӧ��Щ��Ϣ�� ����Ӧ�ü������� ReadyForQuery ��Ϣ��

ReadyForQuery

��������ɹ���ǰ�����ڿ��Է������

ErrorResponse

�������ʧ�ܣ��ڷ����������Ϣ֮�����ӱ��رգ�

NoticeResponse

������һ��������Ϣ��ǰ��Ӧ����ʾ�����Ϣ�� ���Ҽ����ȴ� ReadyForQuery �� ErrorResponse��

�����ÿ����ѯѭ���󶼻ᷢ��һ����ͬ�� ReadyForQuery ��Ϣ�� ǰ�˿��Ժ������Ϊ ReadyForQuery ��һ����ѯѭ���Ŀ�ʼ ���� BackendKeyData ���������׶εijɹ���ɣ��� ������Ϊ ReadyForQuery �������׶κ�ÿ������ѯѭ���Ľ����� �������������ȡ����ǰ�˵ı�����Ҫ��

42.2.2. �򵥲�ѯ

һ����ѯѭ������ǰ�˷���һ�� Query ��Ϣ����˽��г�ʼ���ġ� ������Ϣ����һ�����ı��ִ����� SQL �������һЩ����� ��˸��ݲ�ѯ�����ִ������ݷ���һ�����߸�������Ӧ��Ϣ��ǰ�ˣ� ���������һ�� ReadyForQuery ��Ӧ��Ϣ�� ReadyForQuery ֪ͨǰ�������԰�ȫ�ط����������ˡ� ��ʵ����ǰ�˲����ڷ�����������֮ǰ�ȴ� ReadyForQuery����������һ���� ǰ�˱��븺���������ȷ���������ʧ�ܣ����Ժ󷢳�������ɹ����������

�Ӻ�����Ŀ��ܵ���Ϣ�ǣ�

CommandComplete

һ�� SQL ��������������

CopyInResponse

����Ѿ�׼���ô�ǰ�˿������ݵ�һ��������ȥ�� �ּ� Section 42.2.5��

CopyOutResponse

����Ѿ�׼���ô�һ�����������ݵ�ǰ������ȥ�� �ּ� Section 42.2.5��

RowDescription

��ʾΪ����Ӧһ�� SELECT��FETCH���ȵIJ�ѯ�� ��Ҫ����һ���С�������Ϣ���������������е��ֶβ��֡�������Ϣ���潫����ÿ�����ظ�ǰ�˵���һ���� DataRow ��Ϣ��

DataRow

SELECT��FETCH���Ȳ�ѯ���صĽ�����е�һ�С�

EmptyQueryResponse

ʶ����һ���յIJ�ѯ�ִ���

ErrorResponse

�����ˡ�

ReadyForQuery

��ѯ�ִ��Ĵ�����ɡ� ����һ����������Ϣ����ʶ�������Ϊ��ѯ�ִ����ܰ������ SQL ��� ��CommandComplete ֻ�DZ��һ�� SQL �������ϣ������������ִ����� ReadyForQuery �ܻᱻ���ͣ������Ǵ���ɹ��������Dz�������

NoticeResponse

������һ�����ѯ�йصľ�����Ϣ�� ע����Ϣ�Ǹ�����������Ӧ�ϵģ�Ҳ����˵, ��˽�������������

SELECT �����������ؽ�����IJ�ѯ������ EXPLAIN �� SHOW�� ��ѯ����Ӧ��Ϣͨ������ RowDescription��������߶�� DataRow ��Ϣ���Լ����� CommandComplete�� ��ǰ�����ص� COPY ����Section 42.2.5���ᵽ�������Э�顣 ����������ѯ����ͨ��ֻ����һ�� CommandComplete ��Ϣ��

��Ϊ��ѯ�ִ����ܰ������ɸ���ѯ���÷ֺŷָ����� �����ں����ɲ�ѯ�ִ��Ĵ���֮ǰ�����кü�����������Ӧ���С� ��������ִ��Ѿ������꣬����Ѿ�׼���ý����²�ѯ�ִ���ʱ���򷢳� ReadyForQuery ��Ϣ��

����յ�һ����ȫ�գ����˿հ�֮��û�����ݣ��IJ�ѯ�ִ��� ��ô��Ӧ��һ�� EmptyQueryResponse ������� ReadyForQuery��

�ڳ��ִ����ʱ�򣬷���һ�� ErrorResponse ��Ϣ��������� ReadyForQuery�� ��ѯ�ִ������к�̵Ĵ����� ErrorResponse ��ֹ����ʹ���滹�в�ѯҲ��ô�ɣ��� ��ע����Щ��������ڴ���һ����ѯ��������Ϣ���е���;������

�ڼ򵥲�ѯģʽ��������������ֵ�ĸ�ʽ�����ı��ģ� ���Ǹ�����������һ����һ�������� BINARY ѡ����α��� FETCH�� ����������£�������������ֵ�Ƕ����Ƹ�ʽ�ġ��� RowDescription ��Ϣ������ĸ�ʽ������������������ָ�ʽ��

ǰ���ڵȴ��������͵���Ϣʱ����׼������ ErrorResponse �� NoticeResponse ��Ϣ�� ���� Section 42.2.6 �����Ϊ�ⲿ��ʱ��������ɵ���Ϣ��

���ǽ���ķ����ǰ�ǰ�˴���д��״̬���ķ�����������κ�ʱ�̽����κ����������Ϣ��������д�ɼ�����Ϣ��׼ȷ���еĴ��룮

42.2.3. ��չ��ѯ

��չ�IJ�ѯЭ������������ļ�Э����ѳ����ɸ����衣 ׼���IJ�����Զ�θ��������Ч�ʡ����⣬�����Ի�ö�������ԣ� �������ǰ�����ֵ��Ϊ�����IJ����ṩ�Ŀ����ԣ������ǰ�����ֱ�Ӳ���һ����ѯ�ִ���

����չ��Э���ǰ�����ȷ���һ�� Parse ��Ϣ��������һ���ı���ѯ�ִ��� ���⻹��һЩ�йز���ռλ�����������͵���Ϣ���Լ�һ������׼���õ�����������֣�һ�����ִ�ѡ��δ������׼���õ���䣩�� ��ӦҪô��һ�� ParseComplete Ҫô�� ErrorResponse�� �����������Ϳ����� OID �����������û�и����� ��ô����������ͼ�����Ը������͵��ִ������ķ������Ƶ����������͡�

ע��: ��һ�� Parse ��Ϣ������IJ�ѯ�ִ����ܰ�������һ�� SQL ��䣻 ����ͻᱨ��һ���﷨������������ڼ򵥲�ѯЭ���в������ڣ� ��������������չ��Э���У���Ϊ����׼���õ���������ڰ�������������Э����ȵظ��ӡ�

������׼����������IJ�ѯ�滮�������յ� Parse ��Ϣ��ʱ�� ���һ����ѯ����Ų�ͬ�����ظ�ִ�У���ô���͵������Ų������IJ�ѯ�� Parse ��Ϣ�� ������Ŷ�� Bind �� Execute ��Ϣ����а�����������������ÿ��ִ�е�ʱ�����¹滮�ò�ѯ��

��� Parse ��Ϣû�ж����������ô������׼�������ܿ����԰� Parse �����ʱ��滮�� ��������в�������ô��ѯ�滮�ͻ��Ƴٵ������ĵ�һ�� Bind ��Ϣ�� �滮���ڶԸò�ѯ���й滮��ʱ�򽫿����� Bind ��Ϣ���ṩ��ʵ�ʲ���ֵ��

ע��: Ϊһ���������˵IJ�ѯ���ɵIJ�ѯ�滮���ܱ���ʵ�ʲ����滻��IJ�ѯ���ɵIJ�ѯ�滮Ч�ʲ�Щ�� �ڸ�һ������������׼����������IJ�������ѯ���й滮��ʱ�� ��ѯ�滮���޷�����ʵ�ʲ���ֵ�����ߣ����磬����ѡ���ԣ��� ��ʹ����������ʱ������������������Ϊֱ������ֵ���õ�ʱ��Ž��й滮��

����յ�����������׼�������ĵڶ����������Ժ�� Bind ��Ϣͬʱû�и���� Parse ��Ϣ�� ��ô�����ѯ�Ͳ��ᱻ�滮���ڵ�һ�� Bind ��Ϣ��ʹ�õIJ���ֵ��������һ��ֻ�����п��ܵIJ���ֵ�е�һС������Ч�Ĺ滮�� ҪΪһ���ŵIJ�����ǿ�Ƹò�ѯ�����¹滮��Ҫ��������һ�� Parse ���滻������׼�����������滻����

����ɹ�������һ��������׼������������ô������������ǰ�Ự������ ������ȷɾ����һ��δ������׼�������ֻ��������һ������δ���������ΪĿ��� Parse ��䷢��Ϊֹ�� ����ע��һ���򵥵IJ�ѯ��ϢҲɾ��δ������䡣����������������ȷ�عرգ�Ȼ�������һ�� Parse ��Ϣ���¶��壬 ����δ��������䲢��Ҫ�����������������׼�������Ҳ������ SQL ��������ͷ��ʣ� ������ʹ�� PREPARE �� EXECUTE��

ֻҪ׼���õ���仹���ڣ���ô���ǾͿ���ʹ�� Bind ��Ϣ�����׵�ʹ֮����ִ��״̬�� Bind ��Ϣ����Դ׼�����������֣����ִ���ʾδ������׼������䣩�� Ŀ����ڵ����֣����ִ���ʾδ��������ڣ����Լ�������Щ��׼���õ�����г��ֵ����в���ռλ������ֵ�� �ṩ�IJ���������ƥ����Щ׼���õ������Ҫ�Ķ�����Bind ���������ڲ�ѯ���ص��κ����ݵĸ�ʽ�� ��ʽ����һ��������Ҳ����ÿ���ֶν�����������ӦҪô�� BindComplete Ҫô�� ErrorResponse��

ע��: ����ĸ�ʽ���ı����Ƕ��������� Bind ������ĸ�ʽ��������ģ� �����õ���ʲô SQL �����ʹ����չ�IJ�ѯЭ���ʱ���α�������� BINARY �������޹صġ�

����ɹ�������һ����ڶ�����ô������������ǰ����Ľ�β�� ������ȷɾ����һ��δ���������������Ľ�βɾ�����������ڷ�������һ�� Bind ���������һ��δ�����������ΪĿ��Ϊֹ�� ����ע��һ���򵥲�ѯЧ��Ҳ��ɾ�����δ��������ڡ�������������ڿ�����һ�� Bind ��Ϣ���¶���֮ǰ������ȷ�رգ� ����δ��������ڲ�Ҫ��������������������Ҳ������ SQL �����ͷ��ʣ� ������ʹ�� DECLARE CURSOR �� FETCH��

ֻҪ����һ����ڣ���ô�Ϳ�����һ�� Execute ��Ϣִ������ Execute ��Ϣ������ڵ����֣����ִ���ʾδ������ڣ���һ�����Ľ���м��������ʾ"ץȡ������"���� ����м���ֻ�԰������ؽ��������������壻����������£�����������ִ�е������� ���м����ᱻ���ԡ�Execute ���ܵ���Ӧ����Щͨ���򵥲�ѯЭ�鷢���IJ�ѯһ���� ֻ���� Execute ���ᵼ�º�˷��� ReadyForQuery ���� RowDescription��

��� Execute ��һ����ڵ�ִ�����֮ǰ��ֹ����Ϊ�ﵽ��һ������Ľ���м������� ��������һ�� PortalSuspended ��Ϣ�������Ϣ�ij��ָ���ǰ��Ӧ����ͬһ������Ϸ�������һ�� Execute ����ɲ����� ����ڵ�ִ�����֮ǰ�����ᷢ����ʾԴ SQL ��������� CommandComplete ��Ϣ�� ��� Execute �׶�������������Ϣ֮һ���ֱ�־�Ž����ģ� CommandComplete��EmptyQueryResponse���������Ǵ�һ�����ִ����������ģ���ErrorResponse������ PortalSuspended��

ÿ����չ��ѯ��Ϣ������ɺ�ǰ�˶�Ӧ�÷���һ�� Sync ��Ϣ�� ����޲�������Ϣ���º�˹رյ�ǰ���񡪡������ǰ��������һ��BEGIN/COMMIT ������еĻ���"�ر�"����˼������û�д����������ύ�� �������д��������»ع�����Ȼ����Ӧһ�� ReadyForQuery ��Ϣ�� Sync ��Ŀ�����ṩһ������ָ�������ͬ���ĵ㡣 ����ڴ����κ���չ��ѯ��Ϣ��ʱ����⵽�κδ�����ô��˷��� ErrorResponse�� Ȼ���ȡ��������Ϣ��ֱ��һ�� sync �ĵ�����Ȼ�󷢳� ReadyForQuery ���ҷ��ص���������Ϣ�����С� ������Ҫע������������� Sync ��ʱ�����˴�����ô��������κζ��� — �����ͱ�֤��Ϊÿ�� Sync ����һ������ֻ��һ���� ReadyForQuery����

ע��: Sync ��������һ���� BEGIN �򿪵������رա� ���ǿ�����⵽�����������Ϊ ReadyForQuery ��Ϣ��������״̬��Ϣ��

������Щ�����ģ�����IJ���֮�⣬����չ��ѯЭ���ﻹ�м��ֿ�ѡ�IJ�������ʹ�á�

Describe ��Ϣ����ڱ��壩����һ�����е���ڵ����֣�����һ��δ������ھ��ǿ��ִ����� ��Ӧ��һ�� RowDescription ��Ϣ����������ִ����ڽ�Ҫ���ص��У� ������һ�� NoData ��Ϣ���������ڲ��������᷵���еIJ�ѯ��������һ�� ErrorResponse�������û�������ڡ�

Describe ��Ϣ�������壩����һ�����е�׼�����������֣������һ��δ������׼�����������һ�����ִ����� ��Ӧ��һ�������������Ҫ�IJ����� ParameterDescription ��Ϣ�� �������һ�������������ִ�к󷵻ص��е� RowDescription ��Ϣ�������� NoData ��Ϣ���������䲻�����У��� ���û��������׼������䣬�򷵻� ErrorResponse����ע����Ϊ��û�з��� Bind�� ���Ժ�˻���֪�����ڷ����ֶεĸ�ʽ������������£�RowDescription ��Ϣ����ĸ�ʽ�����ֶν����㡣

��ʾ: �ڴ��������£�ǰ���ڷ��� Execute ֮ǰӦ�÷���ij�� Describe �ı��壬 �Ա�֤��֪����ν��������õ��Ľ����

Close ��Ϣ�ر�һ�����е�׼���õ���������ڣ������ͷ���Դ�� ��һ�������ڵ�������������ַ��� Close ����һ������ ��Ӧͨ���� CloseComplete����������ͷ���Դ��ʱ������һЩ����Ҳ������ ErrorResponse�� ��ע��ر�һ��׼���õ���������عر��κδӸ���乹������ش򿪵���ڡ�

Flush ��Ϣ���������κ��ض�����������ɣ� ����ǿ�ƺ�˷����κλ������������������ͣ�������ݡ� Flush �����ڳ� Sync ����κ���չ��ѯ������淢���������ǰ��ϣ���ڷ������������֮ǰ��������Ľ���Ļ��� ����� Flush����˷��ص���Ϣ����ϳ���С���ܵ����ݰ��������Լ������縺�ɡ�

ע��: �򵥲�ѯ��Ϣ��ŵ���һϵ��ʹ��δ������׼���õ������޲�������ڶ���� Parse��Bind����� Describe��Execute��Close��Sync�� һ�������������ڲ�ѯ�ִ��н��ܶ�� SQL ��䣬���ڻỰ��Ϊÿ������Զ�ִ�а�/����/ִ�����С� ����һ�������������᷵�� ParseComplete��Bindcomplete��CloseComplete������ NoData ��Ϣ��

42.2.4. ��������

Function Call ��Э������ͻ�������һ���Դ��������ݿ� pg_proc ϵͳ���е����⺯����ֱ�ӵ��á��ͻ��˱����ڸú�������ִ�е�Ȩ�ޡ�

ע��: Function Call ��Э����һ�����������ԣ����´����������ñ��������� ���ƵĽ������ͨ������һ�� SELECT function($1, ...) ��׼������á� ���� Function Call ѭ���Ϳ����� Bind/Execute ���档

һ����������ѭ������ǰ�����˷���һ�� FunctionCall ��Ϣ��ʼ���ġ� Ȼ���˸��ݺ������õĽ������һ�����߸�����Ӧ��Ϣ�� �����������һ�� ReadyForQuery ��Ӧ��Ϣ�� ReadyForQuery ֪ͨǰ�������԰�ȫ�ط���һ���µIJ�ѯ���ߺ��������ˡ�

�Ӻ�����Ŀ��ܵ���Ӧ��Ϣ�ǣ�

ErrorResponse

������һ������

FunctionCallResponse

����������ɲ�������Ϣ�з���һ������� ����ע�� Function Call Э��ֻ�ܴ�����������������ܴ��� rowtype ���߽��������

ReadyForQuery

�������ô�����ɡ�ReadyForQuery �����DZ����ͣ������dzɹ���ɴ����Ƿ���һ������

NoticeResponse

������һ���йظú������õľ�����Ϣ�� ֪ͨ�Ǹ�����������Ӧ�ϵģ�Ҳ����˵����˽������������

42.2.5. COPY ����

COPY ���������ڷ������Ϳͻ���֮����ٵĴ��������ݴ��䡣 ������Ϳ���������ÿ�����������л���һ����������Э���У����ҳ���������������

������ģʽ�����ݴ��䵽�����������ں��ִ��һ�� COPY FROM STDIN SQL ����ʱ���ʼ���ġ� ��˷���һ�� CopyInResponse ��Ϣ��ǰ�ˡ�ǰ��Ӧ�÷����������߸��� CopyData ��Ϣ���γ�һ��������ݵ����� ����Ϣ�ı߽���еı߽�û���κ������Ҫ�󣬾���ͨ���Ǿ��Ǻ���ı߽�ѡ�񡣣� ǰ�˿���ͨ������һ�� CopyDone ��Ϣ����ֹ���������������ɹ���ֹ����Ҳ���Է���һ�� CopyFail ��Ϣ���������� COPY SQL �����Ŵ���ʧ�ܣ��� Ȼ���˾ͻָ������� COPY ��ʼ֮ǰ�������ģʽ�������Ǽ򵥲�ѯЭ�飬 Ҳ��������չ��ѯЭ�顣Ȼ�����ᷢ�� CommandComplete ������ɹ������� ErrorResponse �����ʧ�ܣ���

����ڿ�����ģʽ�º�˼�⵽�˴��󣨰������ܽ��յ� CopyFiail ��Ϣ�� �������κγ��� CopyData ���� CopyDone ֮���ǰ����Ϣ���� ��ô��˽�����һ�� ErrorResponse ��Ϣ����� COPY ������ͨ��һ����չ�IJ�ѯ��Ϣ�����ģ� ��ô��˴����ڿ�ʼ������ǰ����Ϣ��ֱ��һ�� Sync ��Ϣ����Ȼ���������� ReadyForQuery ���ҷ��ص������Ĵ����С� ��� COPY ��������һ���򵥲�ѯ��Ϣ�﷢���ģ���ô����Ϣʣ�ಿ�ֱ�����Ȼ�󷢳� ReadyForQuery ��Ϣ�� ����������������κ�ǰ�˷����� CopyData��CopyDone������ CopyFail ��Ϣ�������򵥵�������

������ģʽ�����ݴӷ��������������ں��ִ��һ�� COPY TO STDOUT SQL ����ʱ���ʼ���ġ� ��˷���һ�� CopyOutResponse ��Ϣ��ǰ�ˣ������������߶�� CopyData ��Ϣ������ÿ��һ������ Ȼ����� CopyDone��Ȼ���˻��˵����� COPY ��ʼ֮ǰ�������ģʽ��Ȼ���� CommandComplete�� ǰ�˲����˳����䣨�����ǹر����ӻ��߷���һ�� Cancel ���󣩣�������������������Ҫ�� CopyData �� CopyDone ��Ϣ��

�ڿ�����ģʽ�У������˼�⵽������ô��������һ�� ErrorResponse ��Ϣ���һص������Ĵ��� ǰ��Ӧ�ð��յ� ErrorResponse������ʵ���ϳ��� CopyData ���� CopyDone ֮����κ���Ϣ���ͣ�������ֹ������ģʽ�ı�־��

CopyInResponse �� CopyOutResponse ��Ϣ��������ǰ��ÿ�е��ֶ����Լ�ÿ���ֶ�ʹ�õĸ�ʽ�������Ϣ�� ����Ŀǰ��ʵ�ֶ��ԣ�ij�� COPY �����������ֶζ�ʹ��ͬ���ĸ�ʽ��������Ϣ��Ʋ�����������衣��

42.2.6. �첽����

�м�������º�˻ᷢ��һЩ�������ض���ǰ�˵���������ʾ����Ϣ�� ���κ�ʱ��ǰ�˶�����׼��������Щ��Ϣ����ʹ�Dz�δ�漰����ѯ�Ĵ����ʱ�� ���٣�����Ӧ���ڿ�ʼ��ȡ��ѯ��Ӧ֮ǰ�����Щ�����

NoticeResponse ��Ϣ�п�������Ϊ�ⲿ�Ļ�����ɵģ� ���磬������ݿ����Ա����һ��"����"���ݿ�رգ� ��ô��˽��ڹر�����֮ǰ����һ�� NoticeResponse ��������Щ�� ��ˣ�ǰ��Ӧ������׼�����ܺ���ʾ NoticeResponse ��Ϣ����ʹ����ͨ���ǿ��е�ʱ��Ҳ��ˡ�

��������Ϊǰ��Ӧ��֪�����κβ����Ļ�Ծ��ֵ�����˱仯�� ��ô������� ParameterStatus ��Ϣ����Щ��������ĵط���ǰ��ִ�е�һ�� SET SQL �������Ӧ�� �������ʱ��ʵ������ͬ�� — ����Ҳ�п��������ݿ����Ա�ı��������ļ�Ȼ�� SIGHUP �� postmaster ���µIJ���״̬�ı仯�� ͬ�������һ�� SET ����ع�����ôҲ�����ɺ��ʵ� ParameterStatus ��Ϣ�Ա��浱ǰ��Ч����ֵ��

Ŀǰ��ϵͳ����һ�׻����� ParameterStatus ��Ϣ��д��Ӳ����IJ����� ������ server_version�� server_encoding�� client_encoding�� is_superuser�� session_authorization�� DateStyle�� TimeZone �� integer_datetimes�� ��server_encoding��TimeZone �� integer_datetimes �� 8.0 �汾֮ǰû�б��档�� ��ע�� server_version�� server_encoding �� integer_datetimes ��α���������������޸ġ� ��Щ�����ڽ����ı䣬���������DZ�ɿ������õġ� ��ˣ�ǰ��Ӧ�ü򵥵غ�����Щ���������߲����ĵ� ParameterStatus��

���ǰ�˷���һ�� LISTEN ��� ��ô��˽���Ϊͬһ��֪ͨ��ִ���� NOTIFY �������һ�� NotificationResponse ��Ϣ����Ҫ�� NoticeResponse ���ˣ�����

ע��: Ŀǰ��NotificationResponse ֻ����һ���������淢�ͣ��������������һ��������Ӧ�����м���֣� ������������ ReadyForQuery ֮ǰ���֡���������ǰ���߼��������������Dz����ǵġ��õ���������Э����κε��϶����Խ��� NotificationResponse��

42.2.7. ȡ�����ڴ��������

��һ����ѯ���ڴ����ʱ�򣬿���ȡ���ò�ѯ�Ĵ��� ������ȡ��������ֱ��ͨ���򿪵����ӷ��͸���˵ģ���ô������Ϊʵ�ֵ���Ч�ԣ� ���Dz�ϣ������ڴ����ѯ�Ĺ����в�ͣ�ؼ��ǰ���������롣 ȡ������Ӧ����Զ��ԱȽ��ټ����������ǰ�ȡ��������΢��׾һЩ���Ա㲻Ӱ������״�������ܡ�

Ҫ����һ��ȡ������ǰ�˴�һ����������������Ӳ��ҷ���һ�� CancelRequest ��Ϣ�� ������ͨ�����������о������͵� StartupPacket ��Ϣ�� �������������������Ȼ��ر����ӡ� ���ڰ�ȫԭ�򣬶�ȡ��������Ϣ����ֱ�ӵ���Ӧ��

���� CancelRequest ��Ϣ�������������������д��ݸ�ǰ�˵���ͬ�ļ����ݣ�PID �� ��ȫ���֣��� �������������ԡ����������ƥ�䵱ǰ�����ŵĺ�˵� PID �Ͱ�ȫ���֣� ���˳���ǰ��ѯ�Ĵ���Ŀǰ��ʵ������õķ����������ڴ���ò�ѯ�ĺ�˽��̷���һ��������źš���

ȡ���źſ�����Ҳ����û������ — ���磬������ں����ɲ�ѯ�Ĵ���󵽴 ��ô����û�����á����ȡ���������ˣ������ǵ�ǰ�������һ��������Ϣ��ǰ�˳���

��ô���Ƕ԰�ȫ����Ч��ͨ�̿��ǵĽ���� ǰ��û��ֱ�ӵķ�����֪һ��ȡ�������Ƿ�ɹ��� ����������ȴ���˶Բ�ѯ��Ӧ��ִ��ȡ�������������˵�ǰ��ѯ��Щ�����Ŀ����ԣ� �Լ������˵�ǰ��ѯ�����һ��������Ϣʧ�ܶ����dzɹ�ִ�еĿ����ԡ�

��Ϊȡ��������ͨ���µ����ӷ��͸�������������ͨ��ƽ����ǰ��/���ͨѶ���ӣ� ����ȡ������������������ִ�еģ�����������Ҫȡ����ѯ��ǰ�ˡ� �������ܶԴ��������Ӧ����ij������Եĺô�������ͬʱ����Ҳ�����˰�ȫ���գ� ��Ϊ�����κ�һ������֤�û���������ͼȡ����ѯ�� �����ȫ����ͨ��Ҫ����ȡ���������ṩһ����̬���ɵİ�ȫ�����ų���

42.2.8. ��ֹ

ͨ������ֹ���̵����ŷ�����ǰ�˷���һ�� Terminate ����ֹ����Ϣ�������̹ر����ӡ� һ���յ���Ϣ��������Ϲر����Ӳ����˳���

����������£�����һ������Ա�������ݿ�رգ�����˿�����û���κ�ǰ�����������¶Ͽ����ӡ� ����������£���˽������Ͽ�����֮ǰ���Է���һ���������֪ͨ��Ϣ�������Ͽ���ԭ��

������ֹ����������ڸ���ʧЧ�ij��ϣ�����ijһ�����ں�ת����ʧȥͨѶ��·�� ��ʧ����Ϣ�߽�ͬ���ȡ�������ǰ�˻��Ǻ�˿�����һ����������ӹرգ���ô��Ӧ�������ֳ�������ֹ�� ���ǰ�˲�����ֹ�Լ�����ô������ͨ���滻�������ķ�������һ���µĺ�ˡ� ����յ���һ���޷�ʶ�����Ϣ����ô����Ҳ����ر����ӣ���Ϊ�����������������ζ���Ƕ�ʧ����Ϣ�߽��ͬ����

�������������Dz���������ֹ���κδ򿪵����񶼻�ع����������ύ�� ����������Ӧ��ע��������һ��ǰ����һ���� SELECT ��ѯ���ڴ����ʱ��Ͽ��� ��ô��˺ܿ�����ע�⵽�Ͽ�֮ǰ����ɲ�ѯ�Ĵ��� �����ѯ�����κ������֮�⣨BEGIN ... COMMIT ���У�����ô�����ܿ����ڵ�֪�Ͽ�֮ǰ���ύ��

42.2.9. SSL �Ự����

������� PostgreSQL ��ʱ����� SSL ֧�֣���ôǰ���ͨѶ�Ϳ����� SSL ���ܡ� �������ṩ��һ���ڹ����߿��ܲ���ỰͨѶ���ݰ��Ļ����±�֤ͨѶ��ȫ�ķ����� �й�ʹ�� SSL ���� PostgreSQL �Ự�ĸ�����Ϣ�� ����� Section 16.7��

Ҫ��ʼһ�� SSL �������ӣ�ǰ�����Ƿ���һ�� SSLRequest ��Ϣ�������� StartupMessage��Ȼ���������һ������ S �� N ���ֽ���Ӧ���ֱ��ʾ��Ը�⻹�Dz�Ը����� SSL�����ǰ�˶���Ӧ�����⣬ ��ô�����Թر����ӡ�Ҫ�� S ֮���������ô�Ƚ������������ SSL �������֣�û���������������� SSL �淶��һ���֣��� �����Щ�ɹ��ˣ���ô����������ͨ�� StartupMessage����������£� StartupMessage �������������ݶ����� SSL ���ܡ�Ҫ�� N ֮�������������ͨ�� StartupMessage Ȼ�󲻴����ܽ��д���

ǰ��Ӧ��Ҳ׼������һ�����Է������ĸ� SSLRequest �� ErrorMessage ��Ӧ���������ֻ���ڷ������� PostgreSQL �� SSL ֧�������˸��ӵ�����������²Ż���֡� ����������£����ӱ���رգ�����ǰ�˿���ѡ���һ���µ�����Ȼ�󲻴� SSL �������ӡ�

һ����ʼ���� SSLRequest Ҳ�������ڴ������ڷ���һ�� CancelRequest ��Ϣ�������С�

���Э�鱾��δ�ṩij�ַ���ǿ�� SSL ���ܣ���ô����Ա���԰ѷ���������Ϊ�ܾ�δ���ܵĻỰ��������֤����һ������Ʒ��