Chapter 42. ǰ/���Э��

Table of Contents
42.1. ����
42.1.1. ��Ϣ��ò
42.1.2. ��չ��ѯ����
42.1.3. ��ʽ�͸�ʽ����
42.2. ��Ϣ��
42.2.1. ����
42.2.2. �򵥲�ѯ
42.2.3. ��չ��ѯ
42.2.4. ��������
42.2.5. COPY ����
42.2.6. �첽����
42.2.7. ȡ�����ڴ��������
42.2.8. ��ֹ
42.2.9. SSL �Ự����
42.3. ��Ϣ��������
42.4. ��Ϣ��ʽ
42.5. �����֪ͨ��Ϣ�ֶ�
42.6. ��Э�� 2.0 �����ı仯�ĸ���

Postgres ʹ��һ�ֻ�����Ϣ��Э������ǰ�˺ͺ�ˣ��������Ϳͻ�����֮��ͨѶ�� ��Э������ TCP/IP �� Unix ���׽�����ʵ�ֵġ� �˿ں� 5432 �Ѿ��� IANA ע��Ϊʹ������Э��ij��ö˿ڣ���ʵ�����κη���Ȩ�˿ںŶ�����ʹ�á�

����ĵ������˰汾 3.0 ��Э�飬�� Postgres �汾 7.4 ���Ժ�İ汾��ʵ�֡� ������ǰ��Э�����������ο���ǰ�汾�� PostgreSQL �ĵ��� һ������������֧�ֶ���Э��汾����ʼ����������Ϣ���߷������ͻ��˿��Խ��ܵ�Э��汾��Ȼ������������ظð汾��Э�顪��������������Ļ���

�����Э��Ļ����Ͻ����ĸ��߼����ԣ����磬libpq ������ڽ��������Ժ󴫵�ij�ֻ��������ģ��������ط�������

Ϊ�˿�����Ч��Ϊ����ͻ����ṩ���񣬷�����Ϊÿ���ͻ�������һ���µ�"���"���̡� ��Ŀǰ��ʵ����ڼ�⵽������������������ϴ���һ���µ��ӽ��̡� ��������Щ�Ƕ�Э��͸���ġ�����Э����ԣ�����"���"��"������"�ǿ��Ի����ģ� ���ƵĻ���"ǰ��"��"�ͻ���"Ҳ�ǿ��Ի����ġ�

42.1. ����

Э�������������������������в�ͬ�Ľ׶Ρ� �������׶��ǰ�˴�һ���������������Ӳ�����֤����������������� ����Щ���ܰ���һ����Ϣ��Ҳ���ܰ���������Ϣ������ʹ�õ���֤��������ͬ���� ���������Щ���鶼����ƽ�ȣ���ô�������ͷ���״̬��Ϣ��ǰ�ˣ������������������� ���˳�ʼ������������֮�⣬�ⲿ��Э���Ƿ����������ġ�

�����������У�ǰ�˷��Ͳ�ѯ�����������ˣ�Ȼ���˷��ز�ѯ�����������Ӧ�� ������������������� NOTIFY���Ǻ�˷��������ṩ����Ϣ�����ⲿ�ֵľ���������������ǰ�����������ġ�

�Ự����ֹͨ������ǰ����ѡ��ģ�����Ҳ������ijЩ������ɺ��ǿ��ִ�С� ������������������˹ر����ӣ���ô�������˳�֮ǰ�ع�����ɣ����д򿪵ģ�δ��ɵģ�����

�����������У�SQL �������ͨ��������Э���е��κ�һ��ִ�С� ��"�򵥲�ѯ"Э���У�ǰ��ֻ�Ƿ���һ���ı���ѯ���� Ȼ�������Ϸ�����ִ��������"��չ��ѯ"Э���У� ��ѯ�Ĵ����ָ�Ϊ������裺����������ֵ�󶨣���ִ�С� �����Ϳ����ṩ����Ժ����ܵĸĽ��������Ƕ���ĸ����ԡ�

������������������ COPY �����Ķ������Э�顣

42.1.1. ��Ϣ��ò

����ͨѶ����ͨ��һ����Ϣ�����еġ���Ϣ�ĵ�һ���ֽڱ�ʶ��Ϣ���ͣ� Ȼ�������ŵ��ĸ��ֽ�������Ϣʣ�²��ֵij��ȣ�������Ȱ����������������Dz�������Ϣ�����ֽڣ��� ʣ�µ���Ϣ��������Ϣ���;�����������ʷԭ�򣬿ͻ��˷��͵��������Ϣ��������Ϣ��û�г�ʼ����Ϣ�����ֽڡ�

Ϊ�˱������Ϣ����ʧͬ����Ϣ���������Ϳͻ���ͨ�����ǰ�������Ϣ��ȡ��һ���������ʹ���ֽڼ������� Ȼ�����ͼ���������ݡ����������ڴ������ݵĹ����У�������ִ��󣬾ͱȽ����׻ָ��� �ڷdz�����������£�����˵û���㹻����Ϣ������Ϣ�������ն˿���ʹ���ֽڼ������ж��������¶�ȡ��Ϣ֮ǰ��Ҫ���Զ������롣

ͨ�����������Ϳͻ��˶���Ҫע���������һ������������Ϣ�� ��Щͨ����ͨ���ڷ���������Ϣ֮ǰ����һ��������������������Ϣ�� ����ڷ��ͻ��߽���һ����Ϣ���м䷢����ͨѶ������ôΨһ����ķ�Ӧ�Ƿ������ӣ���Ϊ�ָ���Ϣ�߽�ͬ���Ŀ����Ժ�С��

42.1.2. ��չ��ѯ����

����չ��ѯЭ���У�SQL �����ִ���Ƿָ�ɶ������ġ� �����벽��֮�䱣���״̬��������Ķ������ģ� ׼���õ���䣨prepared statements������ڣ�portals���� һ��׼���õ�������һ���ı���ѯ�ִ��ľ�������������������Լ��滮֮��Ľ���� һ��׼���õ���䲻һ�����ǿ���ִ�еģ���Ϊ�����ܻ�ȱ�� ������ֵ�� һ����ڴ���һ���Ѿ�����ִ�еĻ����Ѿ�����ִ�й�����䣬���в������Ѿ���䵽λ�ˡ� ������SELECT��䣬��ڵ�Ч��һ���򿪵��α꣬ ����ʹ�ò�ͬ����������Ϊ�α겻�ܴ����SELECT��䡣��

������ִ�����ڰ���һ���������裬 ����һ���ı��IJ�ѯ�ִ��ﴴ��һ��׼���õ���䣻 һ���󶨣�bind�����裬 ����һ��׼���õ������κ�����Ҫ�IJ���ֵ����һ����ڣ��Լ�һ�� ִ�У�execute�����裬������һ����ڵIJ�ѯ�� �����һ�����������еIJ�ѯ��SELECT��SHOW �ȣ��� ϵͳ���Ը���ִ�в���ֻץȡ���޵�һЩ�У������Ϳ�����Ҫ���ִ�в�������ɲ�����

��˿��Ը��ٶ��׼���õ�������ڣ�����Ҫע�⣬��Щֻ��һ���Ự�ڲ����ڣ����������ڻỰ֮�乲���� �ִ��׼���õ�������ڶ����ô������ǵ�ʱ������������õġ� ���⣬������һ��"δ������unnamed��" ��׼����������ڡ� �������ǵ���Ϊ����������󲿷���ͬ���������������ִֻ��һ��Ȼ��������IJ�ѯ�����Ż����ģ� �������������ϵIJ�������Զ��ʹ���Ż��ġ�

42.1.3. ��ʽ�͸�ʽ����

�ض��������͵����ݿ����ü��ֲ�ͬ����ʽ�е�����һ�������ݡ� �� PostgreSQL 7.4 ��ʱ��ֻ֧��"�ı�"��"������"���ָ�ʽ�� ����Э��Ϊδ������չ�ṩ�˵��ֶΡ�����ֵҪ��ĸ�ʽ����һ����ʽ���������ġ� �ͻ��˿���Ϊÿ������IJ���ֵ�Ͳ�ѯ�����ÿ���ֶ�����һ����ʽ���롣 �ı��ĸ�ʽ�������㣬�����Ƶĸ�ʽ������һ�����������ĸ�ʽ���붼�������������塣

�ı���ʽ����ֵ���ض��������͵�����/���ת���������ܻ������ɵ���ֵ���ִ���ʽ�� �ڴ�������ϣ��ִ�ĩβû�п��ַ������ǰ��Ҫ����յ���ֵ���� C �ִ�������ô�����Լ�����һ���� �����⣬�ı���ʽ������Ƕ��Ŀա���

�����Ķ����Ʊ�����ʽ���������ֽ��򣨸�λ��ǰ�������������������ͣ� ��ο��ĵ�����Դ�����ȡ������Ʊ�����ʽ����Ϣ����ע�⣬���ӵ��������͵Ķ�������ʽ�����ڲ�ͬ�������汾֮��仯�� �ı���ʽͨ�����������ֲ�Ե�ѡ��