PostgreSQL �������⣨FAQ�� ������£�2003 �� 01 �� 06 �� ����һ 22:27:35 CST Ŀǰά����Ա��Bruce Momjian (pgman@candle.pha.pa.us) ���İ�ά����Ա����ΰƽ ��laser@pgsqldb.com �� ���ĵ������°汾������http://www.postgresql.org/files/documentation/fa qs/FAQ.html �鿴�� ����ϵͳƽ̨��ص�������http://www.postgresql.org/docs/faq/��ش� _________________________________________________________________ �������� 1.1) PostgreSQL ��ʲô������ô������ 1.2) PostgreSQL �İ�Ȩ��ʲô? 1.3) PostgreSQL ������ʲô Unix ƽ̨�ϣ� 1.4) ���õķ� Unix ƽ̨����Щ�� 1.5) �Ҵ������ܵõ� PostgreSQL�� 1.6) �Ҵ������ܵõ��� PostgreSQL ��֧�֣� 1.7) PostgreSQL ���µİ汾��ʲô�� 1.8) ����Щ���õ� PostgreSQL ���ĵ��� 1.9) ������˽���֪�� BUG ��ȱʧ�����ԣ� 1.10) ��Ӧ������ѧϰ SQL �� 1.11) PostgreSQL �� Y2K ���ݵ��� 1.12) ��Ӧ���������뿪�����飿 1.13) ��Ӧ�������ύһ�� BUG ���棿 1.14) PostgreSQL ������ DBMS ��������Σ� 1.15) ��Ӧ���������� PostgreSQL �� �û��ͻ������� 2.1) �� PostgreSQL �� ODBC ��������ô�� 2.2) ��ʲô���߿��԰� PostgreSQL ���� Web ҳ�棿 2.3) PostgreSQL ӵ��ͼ���û������� 2.4) ���ǿ�����ʲô���Ժ� PostgreSQL �򽻵��� ϵͳ�������� 3.1) �������ܰ� PostgreSQL װ�� /usr/local/pgsql ����ĵط��� 3.2) �������� postmaster ʱ������ Bad System Call��ϵͳ���ô����� Core Dumped ����Ϊʲô�� 3.3) ������ͼ���� postmaster ʱ������ IpcMemoryCreate ����Ϊʲô�� 3.4) ������ͼ���� postmaster ʱ������ IpcSemaphoreCreate ����Ϊʲô�� 3.5) ����ο��������������������ӣ� 3.6) �������������ݿ������Ի�ø��õ����ܣ� 3.7) PostgreSQL ����Ի��ʲô���ĵ������ԣ� 3.8) Ϊʲô����ͼ���ӵ�¼ʱ�յ���Sorry, too many clients�� ��Ϣ�� 3.9) pgsql_tmp Ŀ¼�ﶼ��Щʲô�� 3.10) ΪʲôҪ������ PostgreSQL �����汾ʱ�� dump �� restore �� �������� 4.1) �������α����ͨ�α�֮���������ʲô�� 4.2) ���ֻѡ��һ����ѯ�����ͷ���У� 4.3) ����λ�ȡһ�����ݿ��б����б������������������� psql �￴���Ķ����� 4.4) �����ӱ�����ɾ��һ�У� 4.5) һ�У�һ������һ��������ߴ��Ƕ��٣� 4.6) �洢һ�����͵��ı��ļ����������Ҫ���ٴ��̿ռ䣿 4.7) ��β鿴�������������ݿ��Լ��û��Ķ��壿 4.8) �ҵIJ�ѯ��������û������������Ϊʲô�� 4.9) ����β��ܿ�����ѯ�Ż��������������ҵIJ�ѯ�ģ� 4.10) R-tree ������ʲô�� 4.11) ʲô�ǻ����ѯ�Ż���Genetic Query Optimization���� 4.12) ���������������ʽ�����ʹ�Сд�޹ص��������ʽ���ң����������������д� Сд�޹ز��ң� 4.13) ��һ����ѯ����������һ���ֶ��Ƿ�Ϊ NULL�� 4.14) �����ַ�����֮����ʲô��ͬ�� 4.15.1) ����������һ�����к�/�Զ��������ֶΣ� 4.15.2) ����λ��һ����������кŵ�ֵ�� 4.15.3) ʹ�� currval() �� nextval() �ᵼ�º������û������������race condition���� 4.15.4) Ϊʲô���������쳣��ֹ���������к��أ�Ϊʲô�����к��ֶε�ȡֵ�д��ڼ� ���أ� 4.16) ʲô�� OID��ʲô�� TID �� 4.17) PostgreSQL ʹ�õ�һЩ����ĺ�����ʲô�� 4.18) Ϊʲô���յ�����ERROR: Memory exhausted in AllocSetAlloc()���� 4.19) ����β���֪�������е� PostgreSQL �İ汾�� 4.20) Ϊʲô�ҵĴ����������´���invalid large obj descriptor�����Ƿ��Ĵ�������������� 4.21) ����δ���һ��ȱʡֵ�ǵ�ǰʱ����ֶΣ� 4.22) Ϊʲôʹ�� IN ���Ӳ�ѯ��ô���� 4.23) ��ν��� outer join �������ӣ��� 4.24) ���ʹ���漰������ݿ�IJ�ѯ�� 4.25) ����ú������ض��л���У� 4.26) Ϊʲô�� PL/PgSQL �����в��ܿɿ��ش�����ɾ����ʱ���� 4.27) ����Щ���ݸ���ѡ� 4.28) ����Щ���ݼ���ѡ� ��չ PostgreSQL 5.1) ��д��һ���û����庯���������� psql ������ʱ��Ϊʲô�ᵼ�� core dump�� 5.2) ������ܸ� PostgreSQL ����һЩͦ�����������ͺͺ����� 5.3) ������дһ������һ����¼�� C ������ 5.4) ���޸���һ��Դ�ļ���Ϊʲô���±����û�п����ı䣿 _________________________________________________________________ �������� 1.1) PostgreSQL ��ʲô������ô������ PostgreSQL ���� Post-Gres-Q-L �� PostgreSQL ����һ�� DBMS ���о���� POSTGRES ���ݿ����ϵͳ����ǿ�档PostgreSQL �ڱ��� POSTGRES ��ǿ�������ģ�ͺͷḻ���������͵Ļ����ϣ���һ����չ�˵� SQL �Ӽ�ȡ������ȵ� PostQuel ��ѯ���ԡ�PostgreSQL �����ɵIJ�������Դ���붼���Ի�á� PostgreSQL �Ŀ����ɲμ� PostgreSQL �����ʼ��б���һ��������ԱС����С�Ŀǰ��е����� Marc G. Fournier ��scrappy@postgreSQL.org ������������μ���μ�1.6�ڣ�������������ڸ��� PostgreSQL �����п����� PostgreSQL 1.01 �������� Andrew Yu �� Jolly Chen����������������Ϊ��ֲ�����ԣ����Ժ���ǿ�������˴������ס�PostgreS QL �������Դ Postgres�����ڼ��ݴ�ѧ��������У�� Michael Stonebraker ���ڵ�ָ���£��������о������������ͱ��ְԱ��ɵġ� �����������ڲ������������� Postgres���� 1995 �꣬�������� SQL ���ܺ��������ָij� Postgres95���� 1996��ĩ���Ÿ���Ϊ PostgreSQL�� 1.2) PostgreSQL �İ�Ȩ��ʲô? PostgreSQL ������İ�ȨԼ���� PostgreSQL ���ݿ����ϵͳ ��PostgreSQL Data Base Management System�� ���ְ�Ȩ��c��1996-2002��PostgreSQL ȫ�򿪷�С�� ���ְ�Ȩ��c��1994-6 ���ݴ�ѧ��� ��Portions copyright (c) 1996-2002, PostgreSQL Global Development Group Portions Copyright (c) 1994-6 Regents of the University of California�� ����Ϊ�κ�Ŀ��ʹ�ã��������޸ĺͷַ���������������ĵ�������ȡ�κη��� ����������ǩ����˶�������֤����ǰ��������İ�Ȩ�����ͱ����Լ��������� ���ֳ��������п����С� ��Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.�� ���κ�����£����ݴ�ѧ�����е���ʹ�ô����������ĵ������µĶ��κε����� ��ֱ�ӵģ���ӵģ�����ģ����ӵĻ������������𻵣�����������ʧ������ ����ʹ���ݴ�ѧ�Ѿ��������Щ��ʧ�Ŀ�����ʱҲ����ˡ� ��IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.�� ���ݴ�ѧ��ȷ�����κα�֤����������������ijһ�ض���;����ҵ����������� ��֤�������ṩ����������ǻ��ڡ������ǡ��Ļ����ģ�������ݴ�ѧû������ �ṩά����֧�֣����£���ǿ�����޸ĵķ��� ��THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.�� ������� BSD ��Ȩ������һ���� ��Ŀ�Դ��Ȩ����������Դ�����ʹ��δ���κ����ơ�����ϲ�������Ҳ������ ������ 1.3) PostgreSQL ������ʲô Unix ƽ̨�ϣ� һ��˵����һ���ִ��� UNIX ���ݵ�ƽ̨�������� PostgreSQL ���ڰ�װָ�����г��˷���ʱ�����ȷ���Ե�ƽ̨�� 1.4) ���õķ� Unix ƽ̨����Щ�� �ͻ��� �� libpq C �⣬psql�������ӿںͿͻ���Ӧ�ó������ɿ����� MS Windows ƽ̨�������ǿ��ܵġ���������£��ͻ����� MS Windows �����У�����ͨ�� TCP/IP ��һ������������֧�ֵ� Unix ƽ̨�ϵķ���������ͨѶ�������汾�а���һ���ļ� win32.mak �������� Win32 libpq ��� psql ��PostgreSQL Ҳ���Ժ� ODBC �ͻ���ͨѶ�� ������ ���ݿ���������ڿ���ͨ�� Cygwin ��Cygnus �� Unix/NT ��ֲ���� Windows NT �� Win2k �����С����ķ����汾��� See pgsql/doc/FAQ_MSWIN �ļ��� http://www.PostgreSQL.org/docs/faq-mswin.html �� ��ֲ�� MS Win NT/2000/XP �ı�����Ĺ������ڽ��С� 1.5) �Ҵ������ܵõ� PostgreSQL�� PostgreSQL ��������FTPվ���� ftp://ftp.PostgreSQL.org/pub������վ����Բο�������վ����ҳ�� 1.6) �Ҵ������ܵõ��� PostgreSQL ��֧�֣� ��Ҫ���ʼ��б��ǣ�pgsql-general@postgreSQL.org�����������������й� PostgreSQL �����⡣Ҫ�����б�����һ���ʼ����ݣ����������У�Ϊ subscribe end ���ʼ��� pgsql-general-request@postgreSQL.org �� �����Ի�ȡժҪ�б���Ҫ��������б������ʼ�����pgsql-general-digest-req uest@postgreSQL.org��������Ϊ�� subscribe end ÿ�����б��ﵽ��Լ 30k ����Ϣ����ʱ��ժҪ�ͷ��͸�����б��ij�Ա�� �����Բμӳ����ʼ��б���Ҫ��������б�������һ���ʼ��� bugs-request@postgreSQL.org������Ϊ�� subscribe end �����Բμӿ�����Ա�ʼ��б���Ҫ��������б�������һ���ʼ��� hackers-request@postgreSQL.org������Ϊ�� subscribe end �����Ĺ��� PostgreSQL �ʼ��б���������Ϣ������ PostgreSQL �� WWW ��ҳ�ҵ��� http://postgresql.org/ �� EFNet �ﻹ��һ�� IRC Ƶ����Ƶ�� #PostgreSQL������ unix ����irc -c '#PostgreSQL' "$USER" irc.phoenix.net ��ҵ֧�ֹ�˾���б��� http://www.PostgreSQL.org/users-lounge/commercial-support.html �� 1.7) PostgreSQL ���µİ汾��ʲô�� PostgreSQL ���µİ汾�ǰ汾 7.2.3������ע������Ӧ���� 7.3.1 �ˡ��� ���Ǽƻ�ÿ�ĸ��·���һ����Ҫ�汾�� 1.8) ����Щ���õ� PostgreSQL ���ĵ��� �ڷ���������һЩ�ֲᣬ�ֲ�ҳ��һЩС�IJ������ӡ��μ� /doc Ŀ¼������ע��ӦΪ $PGHOME/doc�����㻹����������� PostgreSQL ���ֲᣬ�� http://www.PostgreSQL.org/users-lounge/docs/ �� ���������� PostgreSQL ���������ṩ���� http://www.PostgreSQL.org/docs/awbook.html �� http://www.commandprompt.com/ppbook/ ���� http://www.ca.PostgreSQL.org/books/ ���й��� PostgreSQL �Ŀɹ��鼮���б����� http://techdocs.PostgreSQL.org/ ���ռ����й� PostgreSQL �ļ������¡� psql ��һЩ������ \d �����ʾ�������ͣ����������������ۼ��ȵ���Ϣ�� ���ǵ� web վ�����������ĵ��� 1.9) ������˽���֪�� BUG ��ȱʧ�����ԣ� PostgreSQL ֧��һ����չ�˵� SQL-92 ���Ӽ����������ǵ� TODO �б�����ȡһ����֪���棬ȱʧ���Ժ�δ���ƻ��� 1.10) ��Ӧ������ѧϰ SQL�� �� http://www.postgresql.org/docs/awbook.html �Ĺ��� PostgreSQL ������� SQL������ע�������ص������ˡ����� http://www.commandprompt.com/ppbook ������һ������ PostgreSQL ���顣��http://www.intermedia.net/support/sql/sqltut.shtm��http://ourw orld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM �� http://sqlcourse.com ��һ�����������Ž̡̳� ��һ���� "Teach Yourself SQL in 21 Days, Second Edition"��21��ѧ��SQL���ڶ��棩���� http://members.tripod.com/er4ebus/sql/index.htm ���ǵ������û�ϲ�� The Practical SQL Handbook, Bowman, Judith S., et al., Addison-Wesley �� �������� The Complete Reference SQL, Groff et al., McGraw-Hill �� 1.11) PostgreSQL �� Y2K ���ݵ��� �ǣ����Ǻ����׿��� 2000 AD ֮��� 2000 BC ֮ǰ�����ڡ� 1.12) ��Ӧ���������뿪�����飿 ���ȣ��������µ�Դ���벢�Ķ����� web վ��򷢲����е� PostgreSQL �������ĵ�����Σ����� pgsql-hackers �� pgsql-patches �ʼ��б����������� pgsql-patches �ύ�������IJ������� ���ڴ����ʮ�������� PostgreSQL CVS �鵵 COMMIT ��Ȩ�ޡ����Ƕ��Ѿ� �ύ�˷dz���������IJ����ˣ����������е��ύ�˺��Ѹ��Ͻ��࣬���������� �������ύ�IJ������Ǹ������ġ� 1.13) ��Ӧ�������ύһ��BUG���棿 ����� http://www.PostgreSQL.org/bugs/bugs.php �� PostgreSQL BugTool ҳ��, �������������ύһ��BUG�����ָ�ϡ� ͬ��ҲҪ�������ǵ� ftp վ�� ftp://ftp.postgreSQL.org/pub������û�и��µ� PostgreSQL �汾�򲹶��� 1.14) PostgreSQL ������ DBMS ��������Σ� ���������кü��ַ��������ԣ����ܣ��ɿ��ԣ�֧�ֺͼ۸� ���� PostgreSQL ӵ�д������� DBMS ���������ԣ����磺�����Ӳ�ѯ������������ͼ������ο������Ժ ͸��ӵ����ȡ����ǻ���һЩ����û�е����ԣ����û��������ͣ��̳У� ����Ͷ�汾���п����Լ����������õȡ� ���� PostgreSQL ���������úͿ�Դ�����ݿ�������Ƶ����ܡ���ijЩ�������ȽϿ죬��� ���һЩ�������Ƚ������� MySQL ����������ݿ�ϵͳ�Ƚϣ������� insert/update ʱ������Ϊ����������������Ȼ MySQL ��������������������� ����������κ����ԡ����ǵ���Ҫ�����ǿɿ��Ժ����ԣ�����������ÿ� η���ʱ���ϵظĽ����ܡ���һ������Ȥ����ҳ�Ƚ��� PostgreSQL �� MySQL http://openacs.org/why-not-mysql.html�� �ɿ��� ����֪�� DBMS �����ǿɿ��ģ���������һ���ö�û�С�����Ŭ������������ ��������Եģ��ȶ��ij������ٵĴ��롣ÿ���汾������һ���µ� beta ���ԣ��������ǵķ�����ʷ��ʾ���ǿ����ṩ�ȶ��ģ��ι̵ģ�������� ���ʹ�õİ汾�������������ⷽ�����������������ݿ��������൱�ġ� ֧�� ���ǵ��ʼ��б��ṩһ���dz���Ŀ�����Ա���û������԰����������� ����κ����⡣���Dz��ܱ�֤�϶��ܽ�����⣬���֮�£����� DBMS Ҳ���������ܹ��ṩ���������ֱ���뿪����Ա���û�Ⱥ���ֲ��Դ��� �Ӵ��� PostgreSQL ��֧�ֱ����� DBMS ��Ҫ�á�����һЩ��ҵ�Ե�Ԥ��װ��֧�֣����Ը��ṩ����Щ��Ҫ���ˡ �������֧�� FAQ ���� 1.6 С�ڡ��� �۸� ���Ƕ��κ���;����ѣ��������úͷ�����Ŀ�ġ�����Բ������Ƶ���� �IJ�Ʒ��������ǵĴ��룬������Щ����������İ�Ȩ������������ BSD ���İ�Ȩ�⡣ 1.15) ��Ӧ���������� PostgreSQL �� �Դ�1996�꿪ʼ��PostgreSQL �Ѿ����һ���������֯����ЩӦ�ù鹦�� Marc Fournier�����������˲�����Щ��һֱ���������֯�� ����һ����Դ��Ŀ��˵������������ʩ�Ƿdz���Ҫ�ġ����ܷ�ֹ���������ӳ��� Ŀǰ���Ļ��ҡ� ��Ȼ�������֯����ת�ɱ����ơ�ά����ǰ���и����¶ȵġ�һ���ԵĿ�֧���� ���������Ĺ�˾�ܽ��о�����֧��������ҵ������� http://store.pgsql.com/shopping/ ���о����� ��Ȼ����ҳ�ἰ�� PostgreSQL ��˾����Щ������������֧�� PostgreSQL ��Ŀ����������������û���ض��Ĺ�˾�������Ը�⣬Ҳ�����ʼ�֧Ʊ����ϵ�� ַ�� _________________________________________________________________ �û��ͻ������� 2.1) �� PostgreSQL �� ODBC ����ô�� ������ ODBC �������Ի�ã�PsqlODBC �� OpenLink ODBC. ������http://gborg.postgresql.org/project/psqlodbc/projdisplay.php ���� PsqlODBC �� OpenLink ODBC ���Դ� http://www.openlinksw.com/ ��á��������ǵı�׼ ODBC �ͻ����������ݣ������������κ�����֧�ֵĿͻ���ƽ̨��Win, Mac, Unix, VMS����ʹ�� PostgreSQL ODBC�� ���ǿ��ܽ������Ʒ���۸���Щ��Ҫ��ҵ֧�ֵ��û�������������һ�� freeware �������������İ汾���Եõ�����ѯ�� postgres95@openlink.co.uk�� 2.2) ��ʲô���߿��԰� PostgreSQL ���� Web ҳ�棿 һ�����������ݿ�Ϊ��̨��ͦ������ վ���ǣ�http://www.webreview.com �� ���� Web ���ɣ�PHP ��һ�����õĽӿڡ����ڣ�http://www.php.net/ �� ���ڸ��ӵ����񣬺ܶ��˲��� Perl �ӿں� CGI.pm �� mod_perl �� 2.3) PostgreSQL ӵ��ͼ���û������� �ǵġ��м��������� PostgreSQL ��ͼ�νӿڡ�����PgAccess��http://www.pgaccess.com)��PgAdmin II ��http://www.pgadmin.org����������Win32���� RHDB Admin (http://sources.redhat.com/rhdb/�� �Լ� Rekall ��http://www.thekompany.com/products/rekall/�� ר�е�/proprietary)������PHPPgAdmin ��http://phppgadmin.sourceforge.net/�� ��һ������ web �� PostgreSQL ���ʽӿڡ� ������һ��������ͼ���û����棬��Ϊ PgAccess ����Ҳ����������������������ҳ�� http://www.pgaccess.org/�� 2.4) ���ǿ�����ʲô���Ժ� PostgreSQL �򽻵��� ��������еı�����Զ��з��� PostgreSQL �Ľӿڡ����������Ե���չģ���б��� PostgreSQL �������а��������½ӿڣ� * C (libpq) * Embedded C (ecpg) * Java (jdbc) * Python (PyGreSQL) * TCL (libpgtcl) �����Ľӿ��� http://gborg.postgresql.org �ϵ� Drivers/Interfaces С�ڡ� _________________________________________________________________ ϵͳ�������� 3.1) �������ܰ� PostgreSQL װ�� /usr/local/pgsql ����ĵط��� ������ configure ʱ���� --prefix ѡ� 3.2) �������� postmaster ʱ������ Bad System Call��ϵͳ���ô����� Core Dumped ����Ϊʲô�� ������Ǻܶ෽������⣬���ȼ�����ϵͳ�����Ƿ�֧�� System V ��չ��PostgreSQL ��Ҫ�ں�֧�ֹ����ڴ���źŵơ� 3.3) ������ͼ���� postmaster ʱ������ IpcMemoryCreate ����Ϊʲô�� ��Ҫô��û�����ں�����ȷ���ù����ڴ棬Ҫô������Ҫ��������ں˵Ŀ��ù� ���ڴ档��Ҫ�Ĺ����ڴ���������ȡ���������ϵ�ṹ����������� postmaster ����ʱʹ�õĻ������ͺ�˽�����Ŀ���Դ����ϵͳ��ʹ��ȱʡ�������ͽ����� Ŀʱ����������Ҫ~1MB���йع����ڴ���źŵƵ���ϸ��Ϣ��ο� PostgreSQL Administrator's Guide �� 3.4) ������ͼ���� postmaster ʱ������ IpcSemaphoreCreate ����Ϊʲô�� ���������Ϣ�� IpcSemaphoreCreate: semget failed (No space left on device)����ô���������ں�û�������㹻���źŵ���Դ��Postgres ��ÿ��DZ�ڵĺ�̨���̶���Ҫһ���źŵơ�һ����ʱ�Ľ���������ԱȽ��ٵĺ� ̨������������������ postmaster��ʹ�ÿ��� -N ��һ������ȱʡֵ 32 �IJ������� postmaster�������õĽ�������ǼӴ�����ں˵� SEMMNS �� SEMMNI ������ �����ݿ�������ܴ�ʱ���źŵƲ����ÿ��ܵ���ϵͳ������ ���������Ϣ��������ʲô����������ܾ͸���û�����ں����������źŵ�֧�� ���йع����ڴ���źŵƵ���ϸ��Ϣ��ο� PostgreSQL Administrator's Guide �� 3.5) ����ο��������������������ӣ� ȱʡʱ��PostgreSQL ֻ����ͨ�� unix ���׽������Ա��������ӡ�������ʹ�� -i �������� postmaster������ͨ����Ӧ�ı� $PGDATA/pg_hba.conf �ļ���������Ϊ������ host-based ������֤���������������Dz�������Ļ������ӵġ����������� TCP/IP ���ӡ� 3.6) �������������ݿ������Ի�ø��õ����ܣ� ��Ȼ���������Լ��ٲ�ѯ��EXPLAIN ����������۲� PostgreSQL ��ν�����IJ�ѯ���Լ�ʹ������Щ������ �����������һ�� INSERT������ʹ�� COPY �����Դ������ķ�ʽ���С��������ȵ�����һ���� INSERT ��öࡣ��Σ�û�д��� BEGIN WORK/COMMIT �����֮�����䱻��Ϊ����ͬһ������������һ����������洦��������� �䡣�������Լ�����������Ķ��⿪����ͬ�����������������ݸı�ʱ����ɾ�� ���ؽ������� ���м������ڵ�ѡ�����ʹ�á������ͨ���� -o -F ѡ������ postmaster ����ֹ fsync()������������ÿ���������� fsync() ������ˢ�µ������ϡ� �㻹����ʹ�� postmaster -B ѡ�����Ӻ�˽���ʹ�õĹ����ڴ滺�����Ŀ������������������õ�̫�� postmaster �����޷���������Ϊ���Ѿ� ����������ں��ڹ����ڴ�ռ��ϵ����ơ�ÿ���������� 8K ����ȱʡ 64 ���������� �㻹����ʹ�ú�̨���̵� -S ѡ��������ÿ����̨����������ʱ�����õ�����ڴ�������-S ֵ����K�ֽڼƵģ�ȱʡ�� 512 ��Ҳ����˵��512K���� �㻹����ʹ�� CLUSTER �������ѱ�������ݰ���ij���������оۼ���š����� CLUSTER ���ֲ�ҳ��ȡ����ϸ�ڡ� 3.7) PostgreSQL ����Ի��ʲô���ĵ������ԣ� PostgreSQL �м����������ڱ���״̬��Ϣ����Щ��Ϣ���ܶԵ�����;���а����� ���ȣ�ͨ������ --enable-cassert ѡ������ configure���кܶ� assert() ��غ�̨���̺��ڷ���ijЩδ��Ԥ�ϵ�����ʱֹͣ�������С� postmaster �� postgres ����һЩ���õ�ѡ����ȣ��������� postmaster ʱ��ȷ����ѱ�׼����ͱ�׼�������������һ����־�ļ���ȥ�ˣ��� cd /usr/local/pgsql ./bin/postmaster >server.log 2>&1 & �������� PostgreSQL ����Ŀ¼�����һ�� server.log �ļ�������ļ���������������������ʹ����������Ϣ��postmaster ��һ�� -d ѡ���ѡ���������ǻ�ø����ϸ�ڻ㱨��-d ѡ�����һ�����ֱ������Լ�����Ҫ������Ǹߵĵ��Լ�����ܻ����ɾ޴�� ��־�ļ��� ��� postmaster û�����У������ֱ���������������� postgres ��̨���̣�Ȼ��ֱ�Ӽ��� SQL ��䡣����ֻ �Ƽ��ڵ��Ե�ʱ����ô�ɡ���ע����ʱ�û����޶����Ƿֺű�ʾ����β����� ����ŵ��Է��ű��룬�����ʹ��һ���������ۿ�������ʲô���顣��Ϊ��̨�� ��û���� postmaster �����ģ������Ǻ�ʵ�ʵ����л���һ�£���������/��̨����������ܲ������֡ � ��� postmaster �Ѿ���У�����һ������������ psql��Ȼ���ҳ� psql ��Ӧ�� postgres ���̵� PID��ʹ��һ����������������� postgres PID �ϡ�������ڵ����������öϵ㲢�Ҵ� psql ��ִ�в�ѯ��������ڵ��� postgres ����������������� PGOPTIONS="-W n"��Ȼ������ psql�����������������ӳ� n �룬������Ϳ��Ը���һ�����������Ҹ�������˳��Ĺ��̡� postgres ������ -s��-A���� -t ѡ������ڵ��Ժ����ܲ�����ʱ��dz����á� �㻹���Դ� profiling ֧�ֱ����̨���Ա�۲���Щ����ռ�õ�ִ��ʱ��϶ࡣprofile �ļ������� pgsql/data/base/dbname Ŀ¼�¡��ͻ��� profile �ļ������ڿͻ��˵�ǰĿ¼�¡��� Linux ��֧�� profiling Ҫ�ڱ���ʱ����-DLINUX_PROFILE �� 3.8) Ϊʲô����ͼ���ӵ�¼ʱ�յ���Sorry, too many clients����Ϣ�� ����Ҫ���� postmaster ����ʱ֧�ֵIJ�����̨�������� ȱʡ������ 32 ���̡������ͨ�������ʵ��� -N ֵ�������� postmaster ���������Ŀ�������޸� postgresql.conf �ļ��� Ҫע�������� -N ����Ϊ���� 32�������ͬ������ -B��������ȱʡ�� 64��-B ���������� -N ������������Ϊ�˸��õ����ܿ���Ҫ���Ǹ�����Ҫ�󡣶��ڴ���Ŀ�ĺ�˽��̣� ����ܻ��ᷢ���㻹��Ҫ�������� Unix �ں����ò���ֵ��Ҫ���Ķ������������ڴ������ߴ磬SHMMAX���źŵƵ� �����Ŀ��SEMMNS �� SEMMNI�����Ľ�������NPROC�����û�����������MAXUPRC���Լ����ļ��� �����Ŀ��NFILE �� NINODE ��Postgres �������ĺ�̨�����������Ƶ�ԭ ����Ϊ��ȷ�����ϵͳ�����ù���Դ�� �� Postgres ���� 6.5 �İ汾������̨������ȱʡ�� 64�����Ҷ������޸�������Ҫ�޸� include/storage/sinvaladt.h ��� MaxBackendId ������Ȼ������ BUILD�� 3.9) pgsql_tmp Ŀ¼�ﶼ��Щʲô�� ��Ŀ¼�±����˲�ѯִ�������ɵ���ʱ�ļ������磬�����ҪΪ���� ORDER BY ���������򣬲���������Ҫ�Ⱥ�̨�� -S ���������ĸ���Ŀռ䣬��ô�ͻᴴ��һ����ʱ�ļ��������������ݡ� ��ʱ�ļ�Ӧ���Զ�ɾ���������������������к�̨�����˾Ϳ�����������ֹͣ ������ postmaster ����ɾ����Щ�ļ��� 3.10) ΪʲôҪ������ PostgreSQL �����汾ʱ�� dump �� restore �� PostgreSQL �������ÿ��С�����������˽��ٵ��޸�,��˴� 7.2 ������ 7.2.1 ����Ҫ dump �� restore��������Ҫ������������� 7.2 �� 7.3��ͨ�����޸�ϵͳ�������ݱ����ڲ���ʽ����Щ�仯һ��Ƚϸ��ӣ������� Dz�ά�����ļ��������ݡ�dump �����ݰ���ͨ�õĸ�ʽ����������Ա����¼��ز�ʹ���µ��ڲ���ʽ�� �����ļ���ʽû�б仯�������������� pg_upgrade �ű���������Ҫ�� dump �� restor������˵��script ��ָ�� pg_upgrade �Ըô������Ƿ���á� _________________________________________________________________ �������� 4.1) �������α����ͨ�α�֮���������ʲô�� ���� DECLARE �ֲ�ҳ��ȡ��Ϣ�� 4.2)���ֻ SELECT һ����ѯ�����ͷ���У� ���� FETCH �ֲ�ҳ������ʹ�� SELECT ... LIMIT.... ��ʹ��ֻ��Ҫ��ͷ�ļ��У�Ҳ���漰��������ѯ������ʹ�ô��� ORDER BY �IJ�ѯ�������һ�������� ORDER BY ƥ�䣬PostgreSQL ���ܾ�ֻ����Ҫ���ͷ������¼�����򽫶�������ѯ���д���ֱ��������Ҫ���� �� 4.3) ����λ�ȡһ�������б������������������� psql �￴���Ķ����� ������Ķ� psql ��Դ�����ļ�pgsql/src/bin/psql/describe.c ��������Ϊ���� psql �ķ�б������������ SQL ����㻹���Դ� -E ѡ������ psql������������ӡ��ִ����������������õIJ�ѯ�� 4.4) �����ӱ�����ɾ��һ�У� 7.3 �������� ALTER TABLE DROP COLUMN����֧�ִ���ܡ�����ǰ�İ汾�У������������� BEGIN; LOCK TABLE old_table; SELECT ... -- select all columns but the one you want to remove INTO TABLE new_table FROM old_table; DROP TABLE old_table; ALTER TABLE new_table RENAME TO old_table; COMMIT; 4.5) һ�У�һ������һ��������ߴ��Ƕ��٣� ������һЩ���ƣ� һ�����ݿ����ߴ磿 �����ƣ����� 1TB �����ݿ⣩ һ���������ߴ磿 16TB һ�е����ߴ磿 1.6TB һ���ֶε����ߴ�? 1GB һ��������������� ������ һ��������������� ���������й�,250-1600 һ�������������������������� ��Ȼ��ʵ����û�������������ƣ�����Ҫ�ܿ��ô��̿ռ䡢�����ڴ�/��������� �Լ�� �������ߴ� 16 TB ����Ҫ����ϵͳ�Դ��ļ���֧�֡�����ö�� 1 GB ���ļ��洢������ļ�ϵͳ�ߴ�������Dz���Ҫ�ġ� ���ȱʡ�Ŀ��С������ 32K �����ı��ߴ����������������ӡ� 4.6)�洢һ�����͵�ƽ���ļ����������Ҫ���ٴ��̿ռ䣿 һ�� Postgres ���ݿ���������Ҫ�൱����һ��ƽ���ļ���洢��ͬ���ݵ�5���Ĵ��̿ռ䡣 ���磬������һ�� 100,000 �е��ļ���ÿ����һ��������һ���ı������������ı�����ƽ������λ20�ֽڡ� ƽ���ļ�ռ�� 2.8 MB�������Щ���ݵ� PostgreSQL ���ݿ��ļ���Լ�� 6.4 MB: 36 �ֽ�: ÿ�е�ͷ������ֵ�� 24 �ֽ�: һ��int�ֶκ�һ���ı����ֶ� + 4 �ֽ�: ҳ����ָ��Ԫ���ָ�� ---------------------------------------- 64 �ֽ�ÿ�� PostgreSQL ����ҳ�Ĵ�С�� 8192 �ֽ� (8 KB)���� 8192 �ֽ�ÿҳ ------------------- = 128 ��/����ҳ������ȡ���� 64 �ֽ�ÿ�� 100000 ������ -------------------- = 782 ����ҳ������ȡ���� 128 ��ÿҳ 782 ����ҳ * 8192 �ֽ�/ҳ = 6,406,144 �ֽڣ�6.4 MB�� ��������Ҫ��ô��Ķ������ģ���Ҳȷʵ���������������ݣ��������Ҳ���ܺ� �� ��ֵ�����λͼ�У����ռ�ú��ٵĿռ䡣 4.7) ��β鿴�������������ݿ��Լ��û��Ķ��壿 psql �����෴б������������ʾ��Щ��Ϣ���� \? ����������Щ���� pg_ ��ͷ��ϵͳ��Ҳ��������Щ��Ϣ�� psql -l �����г����е����ݿ⡣ Ҳ���������ļ� pgsql/src/tutorial/syscat.source������ʾ����������ݿ�ϵͳ�����ȡ��Ϣ ��Ҫ�� SELECT�� 4.8) �ҵIJ�ѯ��������û������������Ϊʲô�� ����ÿ����ѯ�����Զ�ʹ��������ֻ���ڱ��Ĵ�С����һ����Сֵ�����Ҳ�ѯֻ ѡ����н�С��������ʱ����ʹ��������������Ϊ����ɨ��������漴���̴�ȡ ���ܱ�ֱ�ӵض�ȡ����˳��ɨ�裩������Ϊ���ж��Ƿ�ʹ��������PostgreSQL �������йر���ͳ��ֵ����Щͳ��ֵ����ʹ�� VACUUM ANALYZE���� ANALYZE ��á�ʹ��ͳ��ֵ���Ż���֪�������ж����У����ܹ����õ��ж��Ƿ��������� ��ͳ��ֵ��ȷ���Ż�������˳������ӷ���Ҳ�����á��ڱ������ݷ����仯ʱ�� Ӧ���ڽ���ͳ��ֵ�Ļ�ȡ�� ����ͨ�������� ORDER BY ��ִ�����ӡ���һ�������һ��˳��ɨ�裬����һ����ʽ������ͨ��������ɨ�� Ҫ�졣 ���ǣ��� LIMIT �� ORDER BY ���ʹ��ʱ�� ����ʹ����������Ϊֻ�᷵�ر���һС���֡�ʵ���ϣ���Ȼ MAX() �� MIN() ����ʹ��������ͨ���� ORDER BY �� LLIMIT ʹ������ȡ�����ֵ����СֵҲ�ǿ��Եģ� SELECT col FROM tab ORDER BY col [ DESC ] LIMIT 1; ��ʹ��ͨ������������� LIKE �� ~ ʱ������ֻ�����ض��������ʹ�ã� * �ַ����Ŀ�ʼ���ֱ�������ͨ�ַ�����Ҳ����˵�� * LIKE ģʽ������ % ��ͷ�� * ~ ���������ʽ��ģʽ������ ^ ��ͷ�� �ַ���������ƥ�����ַ���ģʽ���ͷ������ [a-e]�� ��Сд�޹صIJ��ң��� ILIKE �� ~* �Ȳ�ʹ���������������� 4.12 �������ĺ��������� ���� initdb ʱ�������ȱʡ�ı������� C locale�� 4.9) ����β��ܿ�����ѯ�Ż��������������ҵIJ�ѯ�ģ� �ο� EXPLAIN �ֲ�ҳ�� 4.10) R-tree ������ʲô�� R-tree �������������ռ����ݡ�һ����ϣ�����޷�������Χ�������� B-tree ����ֻ�ܴ���һά�ķ�Χ������R-tree �������Դ�����ά���ݡ����磬���������һ������Ϊ point ���ֶ��Ͻ���һ�� R-tree ��������ôϵͳ�ܸ���Ч�ػش����� ��ѡ����һ�������η�Χ�ڵ����е㡱�� ��������� R-Tree ��Ƶ���ʽ�����ǣ� Guttman, A. "R-Trees: A Dynamic Index Structure for Spatial Searching." Proc of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57. �㻹������ Stonebraker �ġ�Readings in Database Systems�����ҵ���ƪ���¡� ϵͳ���õ� R-Tree ���Դ�������κͷ��Ρ�������˵��R-tree ������չΪ��������ά����������ʵ���ϣ���չ R-trees ��Ҫһ���Ĺ�������������Ŀǰû����������ĵ��� 4.11) ʲô�ǻ����ѯ�Ż���Genetic Query Optimization���� GEQO ģ����û����㷨��Genetic Algorithm��GA���ӿ������ӵIJ�ѯ�Ż���������ͨ��������������������� Ӳ�ѯ�� 4.12) ���������������ʽ�����ʹ�Сд�޹ص��������ʽ���������������������д�Сд� ޹������� ������ ~ �����������ʽƥ�䣬�� ~* ������Сд�޹ص��������ʽƥ�䡣��дЩ�޹ص� LIKE ���ֳ�Ϊ ILIKE�� ��Сд�޹صĵ�ʽ�Ƚ�ͨ��д���� SELECT * FROM tab WHERE lower(col) = 'abc'; ����������ʹ�ñ�׼�����������ǿ��Դ���һ���ɱ����õĺ�������: CREATE INDEX tabindex ON tab (lower(col)); 4.13) ��һ����ѯ����������һ���ֶ��Ƿ�Ϊ NULL�� �� IS NULL �� IS NOT NULL ��������ֶΡ� 4.14) �����ַ�����֮����ʲô��ͬ�� ���� �ڲ����� ˵�� -------------------------------------------------- "char" char 1���ַ� character CHAR(#) bpchar �����ַ�����ʵ�����ݲ��㶨�峤��ʱ���Կո��� VARCHAR(#) varchar ָ������󳤶ȣ��䳤�ַ��������㶨�峤�ȵIJ��ֲ����� TEXT text �����Ƚ����е���󳤶����� BYTEA bytea �䳤�ֽ����У��䳤�Ķ��������ݣ� ��ϵͳ������һЩ������Ϣ���㽫�����ڲ����ơ� �����������������"varlena"���䳤�����ͣ�Ҳ����˵����ͷ���ĸ��ֽ��dz�� ȣ�����������ݣ�������ʵ��ռ�õĿռ�������Ĵ�СҪ��һЩ��Ȼ����Щ��� Ͷ����Ա�ѹ���洢��Ҳ������ TOAST �ѻ��洢����˴��̿ռ�Ҳ���ܱ�Ԥ���Ҫ�١� CHAR(n) ���ʺ��ڴ洢���Ȼ��������ַ�����VARCHAR(n) �ڴ洢��������󳤶ȵı䳤�ַ�������õġ�TEXT �����ڴ洢�����Ƴ��ȵ��ַ��������ɴ� 1G��BYTEA ���ڴ洢���������ݣ������ǰ��� NULL �ֽڣ������Ƶ�0����ֵ����Щ���;������͵����ܡ� 4.15.1) ����������һ�����к�/�Զ��������ֶΣ� PostgreSQL ֧�� SERIAL �������͡������ֶ����Զ�����һ�����к����������磬 CREATE TABLE person ( id SERIAL, name TEXT ); ���Զ�ת��Ϊ�� CREATE SEQUENCE person_id_seq; CREATE TABLE person ( id INT4 NOT NULL DEFAULT nextval('person_id_seq'), name TEXT ); CREATE UNIQUE INDEX person_id_key ON person ( id ); �ο� create_sequence �ֲ�ҳ��ȡ�������еĸ�����Ϣ���㻹������ÿ�е� oid �ֶ���Ϊһ��Ψһֵ���������������Ҫ�㵹���������ݿ⣬����Ҫʹ�� pg_dump �� -o ѡ����� COPY WITH OIDS ѡ���Ա��� OID�� 4.15.2) ����λ��һ����������кŵ�ֵ�� һ�ַ������ڲ���֮ǰ���ú��� nextval() �����ж������������һ�� SERIAL ֵ��Ȼ������ʽ���롣ʹ�� 4.15.1 �������������α������������ new_id = execute("SELECT nextval('person_id_seq')"); execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')"); ����������������ѯ��ʹ�ô���� new_id �����ֵ�����磬��Ϊ person �����������ע���Զ������� SEQUENCE ��������ƽ����� __seq������ table �� serialcolumn �ֱ�����ı������ƺ���� SERIAL �ֶε����ơ� ���Ƶģ��� SERIAL ����ȱʡ�����������ú��� currval() �����ո�ֵ�� SERIAL ֵ�����磬 execute("INSERT INTO person (name) VALUES ('Blaise Pascal')"); new_id = execute("SELECT currval('person_id_seq')"); ��������ʹ�ô� INSERT ��䷵�ص� OID ����ȱʡֵ���������������ȱ����ֲ�Եķ������� Perl �ʹ�ô��� Edmund Mergl �� DBD::Pg ģ��� DBI��oid ֵ����ͨ�� $sth->execute() ��� $sth->{pg_oid_status} ��á� 4.15.3) ʹ�� currval() �� nextval() �ᵼ��һ���������û�֮������������ ���ᡣcurrval() ���غ�̨���̶����������û�����ĵ�ǰֵ�� 4.15.4) Ϊʲô���������쳣��ֹ���������к��أ�Ϊʲô�����к��ֶε�ȡֵ�д��ڼ���أ � Ϊ����߲����ԣ����к�����Ҫ��ʱ�����������е����񣬲���ֻ��������� ֮ǰ����������ͻᵼ��ز�����������кų��ּ���� 4.16) ʲô�� OID��ʲô�� TID�� OID �� PostgreSQL ���е�Ψһ��ʶ��PostgreSQL �ﴴ����ÿһ�ж����һ��Ψһ�� OID�������� initdb �����д����� OID ��С�� 16384 ���μ� include/access/transam.h���������û������� OID �����ڻ�������ֵ��ȱʡʱ��������Щ OID ������һ������һ�����ݿ�����Ψһ������������ PostgreSQL ��װ��Ҳ��Ψһ�ġ� PostgreSQL �������ڲ�ϵͳ����ʹ�� OID �ڱ�֮�佨����ϵ����Щ OID �������ڱ�ʶ�ض����û����Լ��������������ʹ���ֶ����� OID �洢 OID ֵ�������� OID �ֶ��ϴ���һ�������Կ��ٷ��ʡ� OID ��һ�����������ݿ�ʹ�õ����������︳ֵ���������С��������� OID �ijɱ��ֵ����������һ�ݱ��Ĵ��ʼ OID �Ŀ���������������� CREATE TABLE new(old_oid oid, mycol int); SELECT old_oid, mycol INTO new FROM old; COPY new TO '/tmp/pgtable'; DELETE FROM new; COPY new WITH OIDS FROM '/tmp/pgtable'; OID ��4�ֽڵ��������棬�ڳ���40��ʱ�������û���˱�����ֹ�����������Ǵ�� ������˱���֮ǰ����������ơ� TID ���ڱ�ʶ�������ݿ飨��ַ���ͣ����ڣ�ƫ�Ƶ��ض��������С�TID ���б����Ļ����غ����ı䡣�������ʹ������ָ�������С� 4.17) PostgreSQL ʹ�õ�һЩ����ĺ�����ʲô�� һЩԴ�����һЩ��һ����ĵ�ʹ��һЩ�и������÷����������������һ�� �֣� table, relation, class row, record, tuple column, field, attribute retrieve, select replace, update append, insert OID, serial value portal, cursor range variable, table name, table alias ��һ��ͨ�����ݿ�������б���http://hea-www.harvard.edu/MST/simul/softw are/docs/pkgs/pgsql/glossary/glossary.html �� 4.18) Ϊʲô���յ�����ERROR: Memory exhausted in AllocSetAlloc()���� ��ܿ�����ϵͳ�������ڴ��ù��ˣ������ں˶�ijЩ��Դ�нϵ͵�����ֵ������ �� postmaster ֮ǰ������������ ulimit -d 262144 limit datasize 256m ȡ�������õ� shell����������ֻ��һ���ܳɹ���������������Ľ������ݶ�������ñȽϸߣ ����Ҳ�����ò�ѯ��ɡ���������Ӧ���ڵ�ǰ���̣��Լ������������������к 󴴽����ӽ��̡��������������SQL�ͻ���ʱ��Ϊ��̨������̫������ݶ����� ���⣬�������пͻ���֮ǰִ��������� 4.19) ����β���֪�������е� PostgreSQL �İ汾�� �� psql ����� SELECT version()�� 4.20) Ϊʲô�ҵĴ����������´���invalid large obj descriptor�����Ƿ��Ĵ�������������� ����Ҫ��ʹ���κδ��������ǰ����� BEGIN WORK �� COMMIT��Ҳ����˵����Χ lo_open ... lo_close�� Ŀǰ PostgreSQL ǿ��ʵʩ���������������ύʱ�رմ����������������û�в�������ʱ�� ���״ζԴ���������κ��������ͼ���ᵼ��һ�� invalid large obj descriptor�����ԣ������û��ʹ��һ��������ǰ�ܹ����Ĵ��루�����Ǵ�� ��ʱ�䣩����������ôһ��������Ϣ�� �����ʹ�ÿͻ��˽ӿڣ��� ODBC���������Ҫ set auto-commit off�� 4.21) ����δ���һ��ȱʡֵ�ǵ�ǰʱ����ֶΣ� ʹ�� CURRENT_TIMESTAMP�� CREATE TABLE test(x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP); 4.22) Ϊʲôʹ�� IN ���Ӳ�ѯ��ô���� Ŀǰ������ͨ��Ϊ���ѯ��ÿһ��˳��ɨ���Ӳ�ѯ�Ľ���������Ӳ�ѯ�����ѯ ������Ӳ�ѯ�����������У������ѯ���غܶ��У�IN ִ�еúܿ졣Ϊ�˼ӿ����� IN ��ѯ��ִ�У������� EXISTS �滻 IN�� SELECT * FROM tab WHERE col IN (SELECT subcol FROM subtab); ��Ϊ�� SELECT * FROM tab WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col); ����Ҫ��ִ�еø��죬subcol Ӧ����һ�������С�����ϣ����δ���ķ����汾���޲�������ơ� 4.23) ���������� outer join �������ӣ��� PostgreSQL ���ñ�׼�� SQL �﷨֧�������ӡ��������������ӣ� SELECT * FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col); �� SELECT * FROM t1 LEFT OUTER JOIN t2 USING (col); �������ȼ۵IJ�ѯ�� t1.col �� t2.col �������ӣ����ҷ��?t1 ������δ���ӵ��У���Щ�� t2 ��û��ƥ����У�����[��]����(RIGHT OUTER JOIN)������ t2 ��δ���ӵ��С���ȫ�����ӣ�FULL OUTER JOIN�������� t1 �� t2 ��δ���ӵ��С��ؼ��� OUTER ����[��]���ӡ���[��]���Ӻ���ȫ[��]�������ǿ�ѡ�ģ���ͨ���ӱ���Ϊ������ ��INNER JOIN���� �ڴ�ǰ�İ汾�У������ӿ����� UNION �� NOT IN ��ģ�⡣���磬����������ڱ� tab1 �� tab2 ֮���������ӣ� SELECT tab1.col1, tab2.col2 FROM tab1, tab2 WHERE tab1.col1 = tab2.col1 UNION ALL SELECT tab1.col1, NULL FROM tab1 WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2) ORDER BY col1 4.24) ���ʹ���漰������ݿ�IJ�ѯ�� û�а취��ѯ��ǰ���ݿ�֮������ݿ⡣��Ϊ PostgreSQL �������ݿ���ص�ϵͳĿ¼��ϵͳ�����������ݿ�IJ�ѯ���ִ��Ҳδ��ȷ�� contrib/dblink �������ú�������ʵ�ֿ���ѯ����Ȼ����ͬʱ���ӵ���ͬ�����ݿⲢ�ڿͻ��� �ϲ������ 4.25) ����ú������ض��л���У� ������ PL/pgSQL ������ʹ�� refcursors ���ؽ�������ο� http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html, 23.7.3.3�ڡ� 4.26) Ϊʲô�� PL/PgSQL �����в��ܿɿ��ش�����ɾ����ʱ���� PL/PgSQL ���溯�������ݣ��ɴ˴�����һ�����õĸ���������һ�� PL/PgSQL ����������һ����ʱ����Ȼ��ñ���ɾ�����ؽ��ˣ����ٴε��øú�����ʧ�ܣ� ��Ϊ����ĺ���������Ȼָ��ɵ���ʱ��������ķ������� PL/PgSQL ���� EXECUTE ����ʱ�����з��ʡ������ᱣ֤��ѯ��ִ��ǰ�������·����� 4.27) ����Щ���ݸ���ѡ� �м�����/�ӷ�ʽ�ĸ���ѡ���Щѡ��ֻ���������ݿ���и��£������ݿ�ֻ� ܽ��ж�����ҳ http://gborg.PostgreSQL.org/genpage?replication_research ������г�����Щѡ��� http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php ���ڽ���һ�����������ƵĽ�������� 4.28) ����Щ���ݼ���ѡ� contrib/pgcrypto �����˺ܶ��� SQL ��ѯ��ʹ�õļ��ܺ��������ܿͻ��˵��������˴������ݵ�Ψһ�������� pg_hba.conf �в��� hostss �� 7.3 �汾���Զ������ݿ��û�������м��ܡ�����ǰ�İ汾�У������� postgresql.conf �д� PASSWORD_ENCRYPTION ѡ����������������ڼ��ܵ��ļ�ϵͳ�ϣ��Դﵽ���ܵ�Ŀ�ģ��� ---------------------------------------------------------------------- ---------- ��չ PostgreSQL 5.1) ��д��һ���û����庯���������� psql ������ʱ��Ϊʲô�ᵼ�� core dump�� ���������������ܶࡣ������һ�������IJ��Գ����в�������Զ��庯���� 5.2) ������ܸ� PostgreSQL ����һЩͦ�����������ͺͺ����� �������չ���͵� pgsql-hackers �ʼ��б����������ջᱻ�ŵ� contrib/ ��Ŀ¼�� 5.3) ������дһ������һ��Ԫ��� C ������ �� PostgreSQL 7.3 �Ժ�İ汾�У�C, PL/PgSQL �� SQL ��ȫ֧�ַ���ֵΪ���ĺ�����������Ϣ��ο� ����Աָ�ϣ�the Programmer's Guide������ contrib/tablefunc ����һ���������� C д�ķ���ֵΪ���ĺ����� 5.4) ���޸���һ��Դ�ļ���Ϊʲô���±����û�п����ı䣿 Makefiles ��û�а���ͷ�ļ�����ȷ����������������make clean�� ����һ�� make �������ʹ�õ��� GCC ������Բ���ѡ�� --enable-depend �ñ������Զ�����ͷ�ļ���������ϵ��