]> granicus.if.org Git - postgresql/commitdiff
Convert Chinese FAQ to valid XHTML, finally.
authorBruce Momjian <bruce@momjian.us>
Tue, 17 May 2005 04:17:47 +0000 (04:17 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 17 May 2005 04:17:47 +0000 (04:17 +0000)
doc/FAQ_chinese
doc/src/FAQ/FAQ_chinese.html

index e39c0c77a9f55d5cf9a898af5e989f777a6721dc..cae9589bd55ccb8d0fc5275aa65a5d989a75147b 100644 (file)
    
    £¨Portions copyright (c) 1996-2002, PostgreSQL Global Development
    Group
-    Portions Copyright (c) 1994-6 Regents of the University of
+   Portions Copyright (c) 1994-6 Regents of the University of
    California£©
    
    ÔÊÐíΪÈκÎÄ¿µÄʹÓ㬿½±´£¬Ð޸ĺͷַ¢Õâ¸öÈí¼þºÍËüµÄÎĵµ¶ø²»ÊÕÈ¡ÈκηÑÓÃ
    µÄÊé½ÌÊÚ 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  ºÍ
+   orld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM ºÍ
    http://sqlcourse.com ÓÐÒ»¸ö²»´íµÄÈëÃŽ̡̳£
    
    ÁíÒ»¸öÊÇ "Teach Yourself SQL in 21 Days, Second
           Í¸´ÔÓµÄËøµÈ¡£ÎÒÃÇ»¹ÓÐһЩËüÃÇûÓеÄÌØÐÔ£¬ÈçÓû§¶¨ÒåÀàÐÍ£¬¼Ì³Ð£¬
           ¹æÔòºÍ¶à°æ±¾²¢ÐпØÖÆÒÔ¼õÉÙËøµÄÕùÓõȡ£
           
-          
    ÐÔÄÜ
           PostgreSQL
           ºÍÆäËûÉÌÓúͿªÔ´µÄÊý¾Ý¿â¾ßÓÐÀàËƵÄÐÔÄÜ¡£¶ÔijЩ´¦ÀíËü±È½Ï¿ì£¬¶ÔÆ
           ²âÊÔ£¬²¢ÇÒÎÒÃǵķ¢²¼ÀúÊ·ÏÔʾÎÒÃÇ¿ÉÒÔÌṩÎȶ¨µÄ£¬Àι̵ģ¬¿ÉÓÃÓÚÉ
           ú²úʹÓõİ汾¡£ÎÒÃÇÏàÐÅÔÚÕâ·½ÃæÎÒÃÇÓëÆäËûµÄÊý¾Ý¿âÈí¼þÊÇÏ൱µÄ¡£
           
-          
    Ö§³Ö
           ÎÒÃǵÄÓʼþÁбíÌṩһ¸ö·Ç³£´óµÄ¿ª·¢ÈËÔ±ºÍÓû§µÄ×éÒÔ°ïÖú½â¾öËùÅöµ
           ½µÄÈκÎÎÊÌâ¡£ÎÒÃDz»Äܱ£Ö¤¿Ï¶¨Äܽâ¾öÎÊÌ⣬Ïà±È֮ϣ¬ÉÌÓàDBMS
           »¹ÒªºÃ¡£»¹ÓÐһЩÉÌÒµÐÔµÄÔ¤°ü×°µÄÖ§³Ö£¬¿ÉÒÔ¸øÌṩ¸øÄÇЩÐèÒªµÄÈË¡
           ££¨²ÎÔÄÖ§³Ö FAQ Ìõ¿î 1.6 Ð¡½Ú¡££©
           
-          
    ¼Û¸ñ
           ÎÒÃǶÔÈκÎÓÃ;¶¼Ãâ·Ñ£¬°üÀ¨ÉÌÓúͷÇÉÌÓÃÄ¿µÄ¡£Äã¿ÉÒÔ²»¼ÓÏÞÖƵØÏòÄ
           ãµÄ²úÆ·Àï¼ÓÈëÎÒÃǵĴúÂ룬³ýÁËÄÇЩÎÒÃÇÔÚÉÏÃæµÄ°æȨÉùÃ÷ÀïÉùÃ÷µÄ
    
     4.7) ÈçºÎ²é¿´±í¡¢Ë÷Òý¡¢Êý¾Ý¿âÒÔ¼°Óû§µÄ¶¨Ò壿
     
-    psql ÓÐÐí¶à·´Ð±¸ÜÃüÁîÓÃÓÚÏÔʾÕâЩÐÅÏ¢¡£Óà\? ¿´¿´¶¼ÓÐÄÄЩ¡£ÒÔ pg_
+   psql ÓÐÐí¶à·´Ð±¸ÜÃüÁîÓÃÓÚÏÔʾÕâЩÐÅÏ¢¡£Óà\? ¿´¿´¶¼ÓÐÄÄЩ¡£ÒÔ pg_
    ´òÍ·µÄϵͳ±íÒ²ÃèÊöÁËÕâЩÐÅÏ¢¡£ psql -l ¿ÉÒÔÁгöËùÓеÄÊý¾Ý¿â¡£
    
    Ò²¿ÉÒÔÊÔÊÔÎļþ
    ³£»áʹÓÃË÷Òý£¬ÒòΪֻ»á·µ»Ø±íµÄһС²¿·Ö¡£Êµ¼ÊÉÏ£¬ËäÈ» MAX() ºÍ MIN()
    ²¢²»Ê¹ÓÃË÷Òý£¬Í¨¹ý¶Ô ORDER BY ºÍ LLIMIT
    Ê¹ÓÃË÷ÒýÈ¡µÃ×î´óÖµºÍ×îСֵҲÊÇ¿ÉÒԵģº
-       SELECT col
-       FROM tab
-       ORDER BY col [ DESC ]
-       LIMIT 1;
+   SELECT col
+   FROM tab
+   ORDER BY col [ DESC ]
+   LIMIT 1;
    
    µ±Ê¹ÓÃͨÅä·û²Ù×÷£¬ÀýÈç LIKE »ò ~ Ê±£¬Ë÷ÒýÖ»ÄÜÔÚÌض¨µÄÇé¿öÏÂʹÓãº
      * ×Ö·û´®µÄ¿ªÊ¼²¿·Ö±ØÐëÊÇÆÕͨ×Ö·û´®£¬Ò²¾ÍÊÇ˵£º
    ²Ù×÷·û ~ ´¦ÀíÕýÔò±í´ïʽƥÅ䣬¶ø ~*
    ´¦Àí´óСдÎ޹صÄÕýÔò±í´ïʽƥÅä¡£´óдЩÎ޹صĠLIKE ±äÖÖ³ÉΪ ILIKE¡£
    ´óСдÎ޹صĵÈʽ±È½Ïͨ³£Ð´×ö£º
-       SELECT *
-       FROM tab
-       WHERE lower(col) = 'abc';
+   SELECT *
+   FROM tab
+   WHERE lower(col) = 'abc';
    ÕâÑù½«²»»áʹÓñê×¼µÄË÷Òý¡£µ«ÊÇ¿ÉÒÔ´´½¨Ò»¸ö¿É±»ÀûÓõĺ¯ÊýË÷Òý:
-       CREATE INDEX tabindex ON tab (lower(col));
+   CREATE INDEX tabindex ON tab (lower(col));
    
     4.13) ÔÚÒ»¸ö²éѯÀÎÒÔõÑù¼ì²âÒ»¸ö×Ö¶ÎÊÇ·ñΪ NULL£¿
     
    
     4.14) ¸÷ÖÖ×Ö·ûÀàÐÍÖ®¼äÓÐʲô²»Í¬£¿
     
-     ÀàÐÍ            ÄÚ²¿Ãû³Æ    ËµÃ÷
-     --------------------------------------------------
-     "char"        char         1¸ö×Ö·û character
-     CHAR(#)      bpchar
-   ¶¨³¤×Ö·û´®£¬Êµ¼ÊÊý¾Ý²»×㶨Ò峤¶Èʱ£¬ÒÔ¿Õ¸ñ²¹Æë
-     VARCHAR(#)  varchar
+   ÀàÐÍ ÄÚ²¿Ãû³Æ ËµÃ÷
+   --------------------------------------------------
+   "char" char 1¸ö×Ö·û character
+   CHAR(#) bpchar ¶¨³¤×Ö·û´®£¬Êµ¼ÊÊý¾Ý²»×㶨Ò峤¶Èʱ£¬ÒÔ¿Õ¸ñ²¹Æë
+   VARCHAR(#) varchar
    Ö¸¶¨ÁË×î´ó³¤¶È£¬±ä³¤×Ö·û´®£¬²»×㶨Ò峤¶ÈµÄ²¿·Ö²»²¹Æë
-     TEXT           text         ´®³¤¶È½öÊÜÐеÄ×î´ó³¤¶ÈÏÞÖÆ
-     BYTEA          bytea       ±ä³¤×Ö½ÚÐòÁУ¨±ä³¤µÄ¶þ½øÖÆÊý¾Ý£©
+   TEXT text ´®³¤¶È½öÊÜÐеÄ×î´ó³¤¶ÈÏÞÖÆ
+   BYTEA bytea ±ä³¤×Ö½ÚÐòÁУ¨±ä³¤µÄ¶þ½øÖÆÊý¾Ý£©
    ÔÚϵͳ±íºÍÔÚһЩ´íÎóÐÅÏ¢ÀïÄ㽫¿´µ½ÄÚ²¿Ãû³Æ¡£
    ÉÏÃæ×îºóËÄÖÖÀàÐÍÊÇ"varlena"£¨±ä³¤£©ÀàÐÍ£¨Ò²¾ÍÊÇ˵£¬¿ªÍ·µÄËĸö×Ö½ÚÊdz¤¶
    È£¬ºóÃæ²ÅÊÇÊý¾Ý£©¡£ÓÚÊÇʵ¼ÊÕ¼ÓõĿռä±ÈÉùÃ÷µÄ´óСҪ¶àһЩ¡£È»¶øÕâЩÀàÐ
     
    PostgreSQL Ö§³Ö SERIAL
    Êý¾ÝÀàÐÍ¡£ËüÔÚ×Ö¶ÎÉÏ×Ô¶¯´´½¨Ò»¸öÐòÁкÍË÷Òý¡£ÀýÈ磬
-       CREATE TABLE person (
-           id SERIAL,
-           name TEXT
-           );
+   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 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¡£
     
    Ò»ÖÖ·½·¨ÊÇÔÚ²åÈë֮ǰÏÈÓú¯Êý nextval() ´ÓÐòÁжÔÏóÀï¼ìË÷³öÏÂÒ»¸ö SERIAL
    Öµ£¬È»ºóÔÙÏÔʽ²åÈ롣ʹÓà4.15.1 ÀïµÄÀý±í£¬¿ÉÓÃαÂëÕâÑùÃèÊö£º
-       new_id = execute("SELECT nextval('person_id_seq')");
-       execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise
+   new_id = execute("SELECT nextval('person_id_seq')");
+   execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise
    Pascal')");
    ÕâÑù»¹ÄÜÔÚÆäËû²éѯÖÐʹÓôæ·ÅÔÚ new_id ÀïµÄÐÂÖµ£¨ÀýÈ磬×÷Ϊ person
    ±íµÄÍâ¼ü£©¡£×¢Òâ×Ô¶¯´´½¨µÄ SEQUENCE ¶ÔÏóµÄÃû³Æ½«»áÊÇ
    ·Ö±ðÊÇÄãµÄ±íµÄÃû³ÆºÍÄãµÄ SERIAL ×ֶεÄÃû³Æ¡£
    ÀàËƵģ¬ÔÚ SERIAL ¶ÔÏóȱʡ²åÈëºóÄã¿ÉÒÔÓú¯Êý currval() ¼ìË÷¸Õ¸³ÖµµÄ
    SERIAL Öµ£¬ÀýÈ磬
-       execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
-       new_id = execute("SELECT currval('person_id_seq')");
+   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()
    Öµ¡£¿ÉÒÔÔÚ OID ×Ö¶ÎÉÏ´´½¨Ò»¸öË÷ÒýÒÔ¿ìËÙ·ÃÎÊ¡£
    OID ´ÓÒ»¸ö±»ËùÓÐÊý¾Ý¿âʹÓõÄÖÐÐÄÇøÓòÀ︳ֵ¸øËùÓÐÐÂÐС£Èç¹ûÄãÏë°Ñ OID
    ¸Ä³É±ðµÄÖµ£¬»òÕßÏë×öÒ»·Ý±íµÄ´øÔʼ 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';
+   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ÒÚʱ½«Òç³ö¡£Ã»ÓÐÈ˱¨¸æ³öÏÖ¹ýÒç³ö£¬¶øÎÒÃÇ´òË
    ãÔÚÓÐÈ˱¨¸æ֮ǰÏû³ýÕâ¸öÏÞÖÆ¡£
     
    Ò»Ð©Ô´´úÂëºÍһЩ¾ÉÒ»µãµÄÎĵµÊ¹ÓÃһЩÓиü³£ÓÃÓ÷¨µÄÊõÓï¡£ÏÂÃæÊÇÆäÖÐÒ»²¿
    ·Ö£º
-       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
+   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 ¡£
    
     
    ÕâºÜ¿ÉÄÜÊÇϵͳµÄÐéÄâÄÚ´æÓùâÁË£¬»òÕßÄں˶ÔijЩ×ÊÔ´Óнϵ͵ÄÏÞÖÆÖµ¡£ÔÚÆô
    ¶¯ postmaster Ö®Ç°ÊÔÊÔÏÂÃæµÄÃüÁ
-       ulimit -d 262144
-       limit datasize 256m
+   ulimit -d 262144
+   limit datasize 256m
    È¡¾öÓÚÄãÓõÄ
    shell£¬ÉÏÃæÃüÁîÖ»ÓÐÒ»ÌõÄܳɹ¦£¬µ«ÊÇËü½«°ÑÄãµÄ½ø³ÌÊý¾Ý¶ÎÏÞÖÆÉèµÃ±È½Ï¸ß£
    ¬Òò¶øÒ²ÐíÄÜÈòéѯÍê³É¡£ÕâÌõÃüÁîÓ¦ÓÃÓÚµ±Ç°½ø³Ì£¬ÒÔ¼°ËùÓÐÔÚÕâÌõÃüÁîÔËÐк
     4.21) ÎÒÈçºÎ´´½¨Ò»¸öȱʡֵÊǵ±Ç°Ê±¼äµÄ×ֶΣ¿
     
    Ê¹ÓàCURRENT_TIMESTAMP£º
-       CREATE TABLE test(x int, modtime timestamp DEFAULT
-   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 col IN (SELECT subcol FROM subtab);
    ¸ÄΪ£º
-       SELECT *
-       FROM tab
-       WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
+   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 ON (t1.col = t2.col);
    »ò
-       SELECT *
-       FROM t1 LEFT OUTER JOIN t2 USING (col);
+   SELECT *
+   FROM t1 LEFT OUTER JOIN t2 USING (col);
    ÕâÁ½¸öµÈ¼ÛµÄ²éѯÔÚ t1.col ºÍ t2.col ÉÏ×öÁ¬½Ó£¬²¢ÇÒ·µâ»?t1
    ÖÐËùÓÐδÁ¬½ÓµÄÐУ¨ÄÇЩÔÚ t2 ÖÐûÓÐÆ¥ÅäµÄÐУ©¡£ÓÒ[Íâ]Á¬½Ó(RIGHT OUTER
    JOIN)½«·µ»Ø t2 ÖÐδÁ¬½ÓµÄÐС£ÍêÈ«ÍâÁ¬½Ó£¨FULL OUTER JOIN£©½«·µ»Ø t1 ºÍ
    £¨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
+   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) ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿
     
     4.27) ÓÐÄÄЩÊý¾Ý¸´ÖÆÑ¡Ï
     
    Óм¸ÖÖÖ÷/´Ó·½Ê½µÄ¸´ÖÆÑ¡Ïî¡£ÕâЩѡÏîÖ»ÔÊÐíÖ÷Êý¾Ý¿â½øÐиüУ¬´ÓÊý¾Ý¿âÖ»Ä
-   Ü½øÐжÁ¡£ÍøÒ³
-   http://gborg.PostgreSQL.org/genpage?replication_research
+   Ü½øÐжÁ¡£ÍøÒ³ http://gborg.PostgreSQL.org/genpage?replication_research
    µÄ×îºóÁгöÁËÕâЩѡÏî¡£ÔÚ
    http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php
    ÕýÔÚ½øÐÐÒ»¸ö¶àÖ÷±¾¸´ÖƵĽâ¾ö·½°¸¡£
index 493fbeb8fe0e8f962f6cd2197eda0392d7bb8cae..744496dd6272ee3b38418bba848b175ebe9bff4c 100644 (file)
+<?xml version="1.0"?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <!-- saved from url=(0063)file://I:\Wlzhang\MyDoc\postgresql\FAQcn.files\postgres-faq.htm -->
-<!-- saved from url=(0046)http://laser.zhengmai.com.cn/postgres-faq.html --><HTML><HEAD><TITLE>PostgreSQL 
-                       FAQ-ch</TITLE>
-               <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312">
-               <META content="Microsoft FrontPage 4.0" name="GENERATOR">
-       </HEAD>
-       <BODY aLink="#0000ff" bgColor="#ffffff" link="#ff0000" text="#000000" vLink="#a00000">
-               <H1>PostgreSQL ³£¼ûÎÊÌ⣨FAQ£©</H1>          
-               ×î½ü¸üУº2003 Äê 01 Ô 06 ÈÕ ÐÇÆÚÒ» 22:27:35 CST
-               <P>Ŀǰά»¤ÈËÔ±£ºBruce Momjian (<A href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)          
-                       <BR>
-                       ÖÐÎÄ°æά»¤ÈËÔ±£ººÎΰƽ £¨laser@pgsqldb.com          
-               £©<P>±¾ÎĵµµÄ×îа汾¿ÉÒÔÔÚ<a href="http://www.postgresql.org/files/documentation/faqs/FAQ.html">http://www.postgresql.org/files/documentation/faqs/FAQ.html</a>          
-               ²é¿´¡£<P>²Ù×÷ϵͳƽ̨Ïà¹ØµÄÎÊÌâÔÚ<a href="http://www.postgresql.org/docs/faq/">http://www.postgresql.org/docs/faq/</a>Àï»Ø´ð¡£<br>          
-                       <HR>
-                       <CENTER>
-                               <H2>³£¼ûÎÊÌâ</H2>
-                       </CENTER>
-        <a href="#1.1">1.1</a>)           
-                       PostgreSQL ÊÇʲô£¿¸ÃÔõô·¢Òô£¿          
-                       <BR>
-        <a href="#1.2">1.2</a>)           
-                       PostgreSQL µÄ°æȨÊÇʲô?          
-                       <BR>
-                       <A href="#1.3">1.3</A>)           
-                       PostgreSQL ÔËÐÐÔÚʲô Unix Æ½Ì¨ÉÏ£¿          
-                       <BR>
-                       <A href="#1.4">1.4</A>) ¿ÉÓõķǠUnix           
-                       Æ½Ì¨ÓÐÄÇЩ£¿
-                       <BR>
-                       <A href="#1.5">1.5</A>) ÎÒ´ÓÄÄÀïÄܵõ½           
-                       PostgreSQL£¿
-                       <BR>
-                       <A href="#1.6">1.6</A>) ÎÒ´ÓÄÄÀïÄܵõ½¶Ô           
-                       PostgreSQL µÄÖ§³Ö£¿          
-                       <BR>
-                       <A href="#1.7">1.7</A>)           
-                       PostgreSQL ×îеİ汾ÊÇʲô£¿          
-                       <BR>
-                       <A href="#1.8">1.8</A>) ÓÐÄÄЩ¿ÉÓõĠ          
-                       PostgreSQL µÄÎĵµ£¿          
-                       <BR>
-                       <A href="#1.9">1.9</A>) ÎÒÈçºÎÁ˽âÒÑÖªµÄ BUG        
-        »òȱʧµÄÌØÐÔ£¿
-                       <BR>
-                       <A href="#1.10">1.10</A>) ÎÒÓ¦¸ÃÔõÑùѧϰ           
-                       SQL £¿          
-                       <BR>
-                       <A href="#1.11">1.11</A>)           
-                       PostgreSQL ÊÇ Y2K ¼æÈݵÄÂ𣿠         
-                       <BR>
-                       <A href="#1.12">1.12</A>)           
-                       ÎÒÓ¦¸ÃÔõÑù¼ÓÈ뿪·¢¶ÓÎ飿
-                       <BR>
-                       <A href="#1.13">1.13</A>)           
-                       ÎÒÓ¦¸ÃÔõÑùÌá½»Ò»¸ö BUG ±¨¸æ£¿          
-                       <BR>
-                       <A href="#1.14">1.14</A>)           
-                       PostgreSQL ºÍÆäËû DBMS ±ÈÆðÀ´ÈçºÎ£¿<br>          
-        <a href="#1.15">1.15</a>) ÎÒÓ¦¸ÃÔõÑùÔÞÖú           
-                       PostgreSQL £¿          
-                       <CENTER>
-                               <H2>Óû§¿Í»§¶ËÎÊÌâ</H2>
-                       </CENTER>
-                       <A href="#2.1">2.1</A>) ÓР          
-                       PostgreSQL µÄ ODBC Çý¶¯³ÌÐòô£¿          
-                       <BR>
-                       <A href="#2.2">2.2</A>) ÓÐʲô¹¤¾ß¿ÉÒÔ°Ñ           
-                       PostgreSQL ÓÃÓÚ Web Ò³Ã棿          
-                       <BR>
-                       <A href="#2.3">2.3</A>)           
-                       PostgreSQL ÓµÓÐͼÐÎÓû§½çÃæÂ𣿠         
-                       <BR>
-                       <A href="#2.4">2.4</A>)           
-                       ÎÒÃÇ¿ÉÒÔÓÃʲôÓïÑԺ͠PostgreSQL ´ò½»µÀ£¿          
-                       <CENTER>
-                               <H2>ϵͳ¹ÜÀíÎÊÌâ</H2>
-                       </CENTER>
-        <a href="#3.1">3.1</a>) ÎÒÔõÑùÄÜ°Ñ           
-                       PostgreSQL ×°ÔÚ /usr/local/pgsql ÒÔÍâµÄµØ·½£¿          
-                       <BR>
-        <a href="#3.2">3.2</a>) µ±ÎÒÔËÐР          
-                       postmaster Ê±£¬³öÏÖ<I> Bad System Call</I>£¨ÏµÍ³µ÷ÓÃ´í£©»ò Core Dumped ´íÎó¡£ÎªÊ²Ã´£¿          
-                       <BR>
-        <a href="#3.3">3.3</a>) µ±ÎÒÊÔͼÔËÐР          
-                       postmaster Ê±£¬³öÏÖ <I>IpcMemoryCreate</I> ´íÎó¡£ÎªÊ²Ã´£¿          
-                       <BR>
-        <a href="#3.4">3.4</a>) µ±ÎÒÊÔͼÔËÐР          
-                       postmaster Ê±£¬³öÏÖ <I>IpcSemaphoreCreate</I> ´íÎó¡£ÎªÊ²Ã´£¿          
-                       <BR>
-        <a href="#3.5">3.5</a>)           
-                       ÎÒÈçºÎ¿ØÖÆÀ´×ÔÆäËûÖ÷»úµÄÁ¬½Ó£¿
-                       <BR>
-        <a href="#3.6">3.6</a>)           
-                       ÎÒÔõÑùµ÷ÕûÊý¾Ý¿âÒýÇæÒÔ»ñµÃ¸üºÃµÄÐÔÄÜ£¿
-                       <BR>
-        <a href="#3.7">3.7</a>)           
-                       PostgreSQL Àï¿ÉÒÔ»ñµÃʲôÑùµÄµ÷ÊÔÌØÐÔ£¿          
-                       <BR>
-        <a href="#3.8">3.8</a>)           
-                       ÎªÊ²Ã´ÔÚÊÔͼÁ¬½ÓµÇ¼ʱÊÕµ½¡°Sorry, too many clients¡± ÏûÏ¢£¿<br>          
-        <a href="#3.9">3.9</a>)           
-                       pgsql_tmp Ä¿Â¼ÀﶼÓÐЩʲô£¿<br>          
-        <a href="#3.10">3.10</a>) ÎªÊ²Ã´ÒªÔÚÉý¼¶           
-                       PostgreSQL ·¢²¼°æ±¾Ê±×ö dump ºÍ restore £¿          
-                       <CENTER>
-                               <H2>²Ù×÷ÎÊÌâ</H2>
-                       </CENTER>
-        <a href="#4.1">4.1</a>)           
-                       ¶þ½øÖÆÓαêºÍÆÕͨÓαêÖ®¼äµÄÇø±ðÊÇʲô£¿
-                       <BR>
-        <a href="#4.2">4.2</a>)           
-                       ÈçºÎֻѡÔñÒ»¸ö²éѯ½á¹ûµÄÍ·¼¸ÐУ¿
-                       <BR>
-        <a href="#4.3">4.3</a>)           
-                       ÎÒÈçºÎ»ñÈ¡Ò»¸öÊý¾Ý¿âÖбíµÄÁÐ±í£¬»òÕßÊÇÆäËûÎÒÄÜÔÚ <I>psql </I>Àï¿´µ½µÄ¶«Î÷£¿          
-                       <BR>
-        <a href="#4.4">4.4</a>)           
-                       ÔõÑù´Ó±íÀïÃæɾ³ýÒ»ÁУ¿
-                       <BR>
-        <a href="#4.5">4.5</a>)           
-                       Ò»ÐУ¬Ò»¸ö±í£¬Ò»¸ö¿âµÄ×î´ó³ß´çÊǶàÉÙ£¿
-                       <BR>
-        <a href="#4.6">4.6</a>)           
-                       ´æ´¢Ò»¸öµäÐ͵ÄÎı¾ÎļþÀïµÄÊý¾ÝÐèÒª¶àÉÙ´ÅÅ̿ռ䣿
-                       <BR>
-        <a href="#4.7">4.7</a>)           
-                       ÈçºÎ²é¿´±í¡¢Ë÷Òý¡¢Êý¾Ý¿âÒÔ¼°Óû§µÄ¶¨Ò壿
-                       <BR>
-        <a href="#4.8">4.8</a>)           
-                       ÎҵIJéѯºÜÂý»òÕßûÓÐÀûÓÃË÷Òý¡£ÎªÊ²Ã´£¿
-                       <BR>
-        <a href="#4.9">4.9</a>)           
-                       ÎÒÈçºÎ²ÅÄÜ¿´µ½²éѯÓÅ»¯Æ÷ÊÇÔõÑù´¦ÀíÎҵIJéѯµÄ£¿
-                       <BR>
-        <a href="#4.10">4.10</a>) R-tree           
-                       Ë÷ÒýÊÇʲô£¿
-                       <BR>
-        <a href="#4.11">4.11</a>)           
-                       Ê²Ã´ÊÇ»ùÒò²éѯÓÅ»¯£¨Genetic Query Optimization£©£¿          
-                       <BR>
-        <a href="#4.12">4.12</a>)           
-                       ÎÒÔõÑù×öÕýÔò±í´ïʽËÑË÷ºÍ´óСдÎ޹صÄÕýÔò±í´ïʽ²éÕÒ£¿ÔõÑùÀûÓÃË÷Òý½øÐдóСдÎ޹زéÕÒ£¿
-                       <BR>
-        <a href="#4.13">4.13</a>)           
-                       ÔÚÒ»¸ö²éѯÀÎÒÔõÑù¼ì²âÒ»¸ö×Ö¶ÎÊÇ·ñΪ NULL£¿          
-                       <BR>
-        <a href="#4.14">4.14</a>)           
-                       ¸÷ÖÖ×Ö·ûÀàÐÍÖ®¼äÓÐʲô²»Í¬£¿
-                       <BR>
-        <a href="#4.15.1">4.15.1</a>)           
-                       ÎÒÔõÑù´´½¨Ò»¸öÐòÁкÅ/×Ô¶¯µÝÔöµÄ×ֶΣ¿
-                       <BR>
-        <a href="#4.15.2">4.15.2</a>)           
-                       ÎÒÈçºÎ»ñµÃÒ»¸ö²åÈëµÄÐòÁкŵÄÖµ£¿
-                       <BR>
-        <a href="#4.15.3">4.15.3</a>) Ê¹Óà          
-                       currval() ºÍ nextval() »áµ¼ÖºÍÆäËûÓû§µÄÎÉÂÒÇé¿ö£¨race condition£©Âð£¿<br>          
-        <a href="#4.15.4">4.15.4</a>)           
-                       ÎªÊ²Ã´²»ÔÚÊÂÎñÒì³£ÖÐÖ¹ºóÖØÓÃÐòÁкÅÄØ£¿ÎªÊ²Ã´ÔÚÐòÁкÅ×ֶεÄÈ¡ÖµÖдæÔÚ¼ä¶ÏÄØ£¿
-                       <BR>
-        <a href="#4.16">4.16</a>) Ê²Ã´ÊÇ           
-                       OID£¿Ê²Ã´ÊÇ TID £¿          
-                       <BR>
-        <a href="#4.17">4.17</a>)           
-                       PostgreSQL Ê¹ÓõÄһЩÊõÓïµÄº¬ÒåÊÇʲô£¿          
-                       <BR>
-        <a href="#4.18">4.18</a>)           
-                       ÎªÊ²Ã´ÎÒÊÕµ½´íÎó¡°<i>ERROR: Memory exhausted in AllocSetAlloc()</i>¡±£¿<br>
-        <a href="#4.19">4.19</a>)           
-                       ÎÒÈçºÎ²ÅÄÜÖªµÀËùÔËÐеĠPostgreSQL µÄ°æ±¾£¿          
-                       <BR>
-        <a href="#4.20">4.20</a>)           
-                       ÎªÊ²Ã´ÎҵĴó¶ÔÏó²Ù×÷µ¼Ö´íÎó¡°<I>invalid large obj descriptor¡±£¨·Ç·¨µÄ´ó¶ÔÏóÃèÊö·û£©</I>£¿ 
-                       <BR>
-        <a href="#4.21">4.21</a>)           
-                       ÎÒÈçºÎ´´½¨Ò»¸öȱʡֵÊǵ±Ç°Ê±¼äµÄ×ֶΣ¿
-                       <BR>
-        <a href="#4.22">4.22</a>) ÎªÊ²Ã´Ê¹Óà<TT>IN</TT>          
-                       µÄ×Ó²éѯÕâôÂý£¿          
-                       <BR>
-        <a href="#4.23">4.23</a>) ÈçºÎ½øÐР          
-                       outer join £¨ÍâÁ¬½Ó£©£¿<br>          
-        <a href="#4.24">4.24</a>)           
-                       ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿<br>
-        <a href="#4.25">4.25</a>)           
-                       ÈçºÎÈú¯Êý·µ»Ø¶àÐлò¶àÁУ¿<br>
-        <a href="#4.26">4.26</a>) ÎªÊ²Ã´ÔÚ           
-                       PL/PgSQL º¯ÊýÖв»ÄÜ¿É¿¿µØ´´½¨»òɾ³ýÁÙʱ±í£¿<br>          
-        <a href="#4.27">4.27</a>)           
-                       ÓÐÄÄЩÊý¾Ý¸´ÖÆÑ¡Ï<br>
-        <a href="#4.28">4.28</a>)           
-                       ÓÐÄÄЩÊý¾Ý¼ÓÃÜÑ¡Ï
-                       <CENTER>
-                               <H2>À©Õ¹ PostgreSQL</H2>          
-                       </CENTER>
-                       <A href="#5.1">5.1</A>)           
-                       ÎÒдÁËÒ»¸öÓû§¶¨Ò庯Êý¡£µ±ÎÒÔÚ<I> psql</I> ÀïÔËÐÐʱ£¬ÎªÊ²Ã´»áµ¼Ö core dump£¿          
-                       <BR>
-        <a href="#5.2">5.2</a>) ÎÒÈçºÎÄܸø           
-                       PostgreSQL ¹±Ï×һЩͦ²»´íµÄÐÂÀàÐͺͺ¯Êý£¿          
-                       <BR>
-        <a href="#5.3">5.3</a>)           
-                       ÎÒÔõÑùдһ¸ö·µ»ØÒ»Ìõ¼Ç¼µÄ C º¯Êý£¿          
-                       <BR>
-        <a href="#5.4">5.4</a>)           
-                       ÎÒÐÞ¸ÄÁËÒ»¸öÔ´Îļþ£¬ÎªÊ²Ã´ÖØбàÒëºóûÓп´µ½¸Ä±ä£¿
-                       <BR>
-                       <HR>
-                       <CENTER>
-                               <H2>³£¼ûÎÊÌâ</H2>
-                       </CENTER>
-                       <H4><A name="1.1"></A>1.1) PostgreSQL ÊÇʲô£¿¸ÃÔõô·¢Òô£¿</H4>          
-                       PostgreSQL ¶Á×÷ <I>Post-Gres-Q-L</I><i> ¡£</i>          
-               <p>PostgreSQL ÊÇÏÂÒ»´ú DBMS µÄÑо¿Ô­ÐÍ POSTGRES Êý¾Ý¿â¹ÜÀíϵͳµÄÔöÇ¿°æ¡£PostgreSQL ÔÚ±£³Ö POSTGRES           
-                       µÄÇ¿´óµÄÊý¾ÝÄ£ÐͺͷḻµÄÊý¾ÝÀàÐ͵Ļù´¡ÉÏ£¬ÓÃÒ»¸öÀ©Õ¹Á˵ĠSQL ×Ó¼¯È¡´úÁËÔ­ÏȵĠPostQuel ²éѯÓïÑÔ¡£PostgreSQL           
-                       ÊÇ×ÔÓɵIJ¢ÇÒËùÓÐÔ´´úÂ붼¿ÉÒÔ»ñµÃ¡£</p>
-               <P>PostgreSQL µÄ¿ª·¢ÓɲμӠPostgreSQL ¿ª·¢ÓʼþÁбíµÄÒ»¸ö¿ª·¢ÈËԱС×é½øÐС£Ä¿Ç°µÄЭµ÷ÈËÊÇ Marc G. Fournier £¨<A href="mailto:scrappy@postgreSQL.org">scrappy@postgreSQL.org</A>          
-               £©¡££¨¹ØÓÚÈçºÎ¼ÓÈë²Î¼û1.6½Ú£©¡£Õâ¸ö¶ÓÎéÏÖÔÚ¸ºÔð PostgreSQL µÄËùÓпª·¢¡£          
-               <P>
-               PostgreSQL 1.01 µÄ×÷ÕßÊÇ Andrew Yu ºÍ Jolly           
-               Chen¡£»¹ÓÐÐí¶àÆäËûÈËΪÒÆÖ²£¬²âÊÔ£¬µ÷ÊÔºÍÔöÇ¿´úÂë×öÁË´óÁ¿¹±Ïס£PostgreSQL µÄ×î³õÆðÔ´ Postgres£¬ÊÇÔÚ¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄ Michael           
-               Stonebraker ½ÌÊÚµÄÖ¸µ¼Ï£¬ÓÉÐí¶àÑо¿Éú£¬±¾¿ÆÉúºÍ±à³ÌÖ°Ô±Íê³ÉµÄ¡£          
-               <P>Õâ¸öÈí¼þ×î³õÔÚ²®¿ËÀûµÄÃû×ÖÊÇ Postgres¡£ÔÚ 1995 Ä꣬µ±Ôö¼ÓÁË SQL ¹¦Äܺó£¬ËüµÄÃû×ָijɠPostgres95¡£ÔÚ 1996ÄêÄ©£¬²Å¸ÄÃûΪ           
-                       PostgreSQL¡£
-                       <H4><A name="1.2"></A>1.2) PostgreSQL µÄ°æȨÊÇʲô?</H4>          
-               PostgreSQL ÊÜÏÂÃæµÄ°æȨԼÊø¡£          
-               <P>
-               PostgreSQL Êý¾Ý¿â¹ÜÀíϵͳ          
-               <P>
-               £¨PostgreSQL Data Base Management System£©<P>²¿·Ö°æȨ£¨c£©1996-2002£¬PostgreSQL È«Çò¿ª·¢Ð¡×é<br>          
-               ²¿·Ö°æȨ£¨c£©1994-6 ¼ÓÖÝ´óѧ¶­Ê          
-               <P>£¨Portions copyright (c) 1996-2002, PostgreSQL Global Development Group<br>          
-               &nbsp;Portions Copyright (c) 1994-6 Regents of the University of California£©          
-               <P>
-               ÔÊÐíΪÈκÎÄ¿µÄʹÓ㬿½±´£¬Ð޸ĺͷַ¢Õâ¸öÈí¼þºÍËüµÄÎĵµ¶ø²»ÊÕÈ¡ÈκηÑÓ㬲¢ÇÒÎÞÐëÇ©ÊðÒò´Ë¶ø²úÉúµÄÖ¤Ã÷£¬Ç°ÌáÊÇÉÏÃæµÄ°æȨÉùÃ÷ºÍ±¾¶ÎÒÔ¼°ÏÂÃæÁ½¶ÎÎÄ×Ö³öÏÖÔÚËùÓп½±´ÖС£
-               <P>
-               £¨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.£©          
-               <P>
-               ÔÚÈκÎÇé¿öÏ£¬¼ÓÖÝ´óѧ¶¼²»³Ðµ£ÒòʹÓôËÈí¼þ¼°ÆäÎĵµ¶øµ¼ÖµĶÔÈκε±ÊÂÈ˵ÄÖ±½ÓµÄ£¬¼ä½ÓµÄ£¬ÌØÊâµÄ£¬¸½¼ÓµÄ»òÕßÏà°é¶øÉúµÄË𻵣¬°üÀ¨ÀûÒæËðʧµÄÔðÈΣ¬¼´Ê¹¼ÓÖÝ´óѧÒѾ­½¨ÒéÁËÕâЩËðʧµÄ¿ÉÄÜÐÔʱҲÊÇÈç´Ë¡£
-               <P>
-               £¨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.£©
-               <P>
-               ¼ÓÖÝ´óѧÃ÷È··ÅÆúÈκα£Ö¤£¬°üÀ¨µ«²»¾ÖÏÞÓÚijһÌض¨ÓÃ;µÄÉÌÒµºÍÀûÒæµÄÒþº¬±£Ö¤¡£ÕâÀïÌṩµÄÕâ·ÝÈí¼þÊÇ»ùÓÚ¡°µ±×÷ÊÇ¡±µÄ»ù´¡µÄ£¬Òò¶ø¼ÓÖÝ´óѧûÓÐÔðÈÎÌṩά»¤£¬Ö§³Ö£¬¸üУ¬ÔöÇ¿»òÕßÐ޸ĵķþÎñ¡£<P>£¨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.£©<br>          
-                       <br>
-                       ÉÏÃæ¾ÍÊÇ BSD °æȨÉùÃ÷£¬Ò»¸ö¾­µäµÄ¿ªÔ´°æȨÉùÃ÷¡£Ëü¶ÔÔ´´úÂëµÄʹÓÃδ×÷ÈκÎÏÞÖÆ¡£ÎÒÃÇϲ»¶Ëü²¢ÇÒ²»´òËã¸Ä±äËü¡£          
-                       <H4><A name="1.3"></A>1.3) PostgreSQL ÔËÐÐÔÚʲô Unix Æ½Ì¨ÉÏ£¿</H4>          
-               <p>Ò»°ã˵À´£¬Ò»¸öÏÖ´úµÄ UNIX ¼æÈݵÄƽ̨¶¼ÄÜÔËÐРPostgreSQL ¡£ÔÚ°²×°Ö¸ÄÏÀïÁгöÁË·¢²¼Ê±¾­¹ýÃ÷È·²âÊÔµÄƽ̨¡£</p>          
-               <H4><A name="1.4"></A>1.4) ¿ÉÓõķǠUnix Æ½Ì¨ÓÐÄÄЩ£¿</H4>         
-               ¿Í»§¶Ë
-               <p>°Ñ libpq C ¿â£¬psql£¬ÆäËû½Ó¿ÚºÍ¿Í»§¶ËÓ¦ÓóÌÐò±àÒë³É¿ÉÒÔÔÚ MS Windows Æ½Ì¨ÉÏÔËÐÐÊÇ¿ÉÄܵġ£ÕâÖÖÇé¿öÏ£¬¿Í»§¶ËÔÚ MS Windows           
-                       ÉÏÔËÐУ¬²¢ÇÒͨ¹ý TCP/IP ÓëÒ»¸öÔËÐÐÔÚÎÒÃÇÖ§³ÖµÄ Unix Æ½Ì¨ÉϵķþÎñÆ÷½øÐÐͨѶ¡£·¢²¼°æ±¾Öаüº¬Ò»¸öÎļþ win32.mak ÓÃÓÚÉú³É Win32           
-                       libpq ¿âºÍ psql ¡£PostgreSQL Ò²¿ÉÒԺ͠ODBC ¿Í»§¶ËͨѶ¡£</p>          
-               <p>·þÎñÆ÷</p>
-               <P>Êý¾Ý¿â·þÎñÆ÷ÏÖÔÚ¿ÉÒÔͨ¹ý Cygwin £¬Cygnus µÄ Unix/NT ÒÆÖ²¿âÔÚ Windows NT ºÍ Win2k ÉÏÔËÐС£²ÎÔÄ·¢²¼°æ±¾ÀïµÄ See <i>pgsql/doc/FAQ_MSWIN</i>          
-                       Îļþ»ò <a href="http://www.PostgreSQL.org/docs/faq-mswin.html">http://www.PostgreSQL.org/docs/faq-mswin.html</a>          
-               ¡£          
-               <P>ÒÆÖ²µ½ MS Win NT/2000/XP µÄ±¾»ú°æµÄ¹¤×÷ÕýÔÚ½øÐС£          
-                       <H4><A name="1.5"></A>1.5) ÎÒ´ÓÄÄÀïÄܵõ½ PostgreSQL£¿</H4>          
-               <P>PostgreSQL µÄÖ÷ÄäÃûFTPÕ¾µãÊÇ <a href="ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</a>£¬¾µÏñÕ¾µã¿ÉÒԲο¼ÎÒÃÇÍøÕ¾µÄÖ÷Ò³¡£          
-                       <H4><A name="1.6"></A>1.6) ÎÒ´ÓÄÄÀïÄܵõ½¶Ô PostgreSQL µÄÖ§³Ö£¿</H4>          
-               <P>Ö÷ÒªµÄÓʼþÁбíÊÇ£º<A href="mailto:pgsql-general@postgreSQL.org">pgsql-general@postgreSQL.org</A>¡£¿ÉÒÔÔÚÄÇÀïÌÖÂÛÓйؠ          
-                       PostgreSQL µÄÎÊÌâ¡£Òª¼ÓÈëÁÐ±í£¬·¢Ò»·âÓʼþÄÚÈÝ£¨²»ÊÇÖ÷ÌâÐУ©Îª          
-                       <PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subscribe
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end</PRE>
-                       µÄÓʼþµ½ <A href="mailto:pgsql-general-request@postgreSQL.org">pgsql-general-request@postgreSQL.org</A>          
-               ¡£          
-               <P>»¹¿ÉÒÔ»ñÈ¡ÕªÒªÁÐ±í¡£Òª¼ÓÈëÕâ¸öÁÐ±í£¬·¢Óʼþµ½£º<A href="mailto:pgsql-general-digest-request@postgreSQL.org">pgsql-general-digest-request@postgreSQL.org</A>£¬ÆäÄÚÈÝΪ£º
-                       <PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subscribe
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end</PRE>
-               Ã¿µ±Ö÷Áбí´ïµ½´óÔ¼ 30k µÄÏûÏ¢ÄÚÈÝʱ£¬ÕªÒª¾Í·¢Ë͸øÕâ¸öÁбíµÄ³ÉÔ±¡£          
-               <P>»¹¿ÉÒԲμӳô³æÓʼþÁÐ±í¡£Òª¼ÓÈëÕâ¸öÁÐ±í£¬·¢ËÍÒ»¸öÓʼþµ½ <A href="mailto:bugs-request@postgreSQL.org">bugs-request@postgreSQL.org</A>£¬ÄÚÈÝΪ£º          
-                       <PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subscribe
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end</PRE>
-                       »¹¿ÉÒԲμӿª·¢ÈËÔ±ÓʼþÁÐ±í¡£Òª¼ÓÈëÕâ¸öÁÐ±í£¬·¢ËÍÒ»¸öÓʼþµ½ <A href="mailto:hackers-request@postgreSQL.org">hackers-request@postgreSQL.org</A>£¬ÄÚÈÝΪ£º          
-                       <PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subscribe
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end</PRE>
-                       ÆäËûµÄ¹ØÓÚ PostgreSQL ÓʼþÁбíºÍÆäËûÐÅÏ¢¿ÉÒÔÔÚ PostgreSQL µÄ WWW Ö÷Ò³ÕÒµ½£º <BLOCKQUOTE><A href="http://postgresql.org/">http://postgresql.org/</A></BLOCKQUOTE>          
-                       ÔÚ EFNet ÀﻹÓÐÒ»¸ö IRC ÆµµÀ£¬ÆµµÀ #PostgreSQL¡£ÎÒÓàunix ÃüÁî<TT>irc -c '#PostgreSQL' "$USER"           
-                               irc.phoenix.net</TT>
-               <P>ÉÌÒµÖ§³Ö¹«Ë¾µÄÁбíÔÚ <a href="http://www.PostgreSQL.org/users-lounge/commercial-support.html">http://www.PostgreSQL.org/users-lounge/commercial-support.html</a>          
-                       ¡£          
-                       <H4><A name="1.7"></A>1.7) PostgreSQL ×îеİ汾ÊÇʲô£¿</H4>          
-               PostgreSQL ×îеİ汾ÊÇ°æ±¾ 7.2.3¡££¨Òë×¢£ºÏÖÔÚÓ¦¸ÃÊÇ 7.3.1 ÁË¡££©          
-               <P>ÎÒÃǼƻ®Ã¿ËĸöÔ·¢²¼Ò»¸öÖ÷Òª°æ±¾¡£
-                       <H4><A name="1.8"></A>1.8) ÓÐÄÄЩ¿ÉÓõĠPostgreSQL µÄÎĵµ£¿</H4>          
-                       ÔÚ·¢²¼°üÀïÓÐһЩÊֲᣬÊÖ²áÒ³ºÍһЩСµÄ²âÊÔÀý×Ó¡£²Î¼û /doc Ä¿Â¼¡££¨Òë×¢£ºÓ¦Îª $PGHOME/doc£©¡£Ä㻹¿ÉÒÔÔÚÏßä¯ÀÀ PostgreSQL           
-                       µÄÊֲᣬÔÚ <a href="http://www.PostgreSQL.org/users-lounge/docs/">http://www.PostgreSQL.org/users-lounge/docs/</a>          
-               ¡£<P>ÓÐÁ½±¾¹ØÓÚ&nbsp;PostgreSQL µÄÊéÔÚÏßÌṩ£¬ÔÚ <a href="http://www.PostgreSQL.org/docs/awbook.html">          
-                               http://www.PostgreSQL.org/docs/awbook.html</a> ºÍ <a href="http://www.commandprompt.com/ppbook/">          
-                               http://www.commandprompt.com/ppbook/</a> ¡£ÔÚ <a href="http://www.ca.PostgreSQL.org/books/">          
-                               http://www.ca.PostgreSQL.org/books/</a> ÉÏÓйØÓÚ PostgreSQL µÄ¿É¹ºÊé¼®µÄÁÐ±í¡£ÔÚ <a href="http://techdocs.PostgreSQL.org/">          
-                               http://techdocs.PostgreSQL.org/</a>
-               ÉÏÊÕ¼¯ÁËÓйؠPostgreSQL µÄ¼¼ÊõÎÄÕ¡£          
-               <P><I>psql</I>
-               ÓÐһЩ²»´íµÄ \d ÃüÁÏÔʾ¹ØÓÚÀàÐÍ£¬²Ù×÷·û£¬º¯Êý£¬¾Û¼¯µÈµÄÐÅÏ¢¡£          
-               <P>ÎÒÃǵĠweb Õ¾µã°üº¬¸ü¶àµÄÎĵµ£®<H4><A name="1.9"></A>1.9)        
-        ÎÒÈçºÎÁ˽âÒÑÖªµÄ BUG ºÍȱʧµÄÌØÐÔ£¿</H4>         
-                       PostgreSQL Ö§³ÖÒ»¸öÀ©Õ¹Á˵ĠSQL-92 µÄ×Ó¼¯¡£²ÎÔÄÎÒÃǵĠ<A href="http://www.postgresql.org/docs/todo.html">          
-                               TODO</A> <A href="http://www.postgresql.org/docs/todo.html"></A>ÁÐ±í£¬»ñÈ¡Ò»¸öÒÑÖª³ô³æ£¬È±Ê§ÌØÐÔºÍδÀ´¼Æ»®¡£          
-                       <H4><A name="1.10"></A>1.10) ÎÒÓ¦¸ÃÔõÑùѧϰ SQL£¿</H4>          
-                       ÔÚ <A href="http://www.postgresql.org/docs/awbook.html">http://www.postgresql.org/docs/awbook.html</A>          
-                       µÄ¹ØÓÚ PostgreSQL µÄÊé½ÌÊÚ SQL¡££¨Òë×¢£ºÎÒÏÂÔص½±¾µØÁË¡££©ÔÚ <a href="http://www.commandprompt.com/ppbook/">          
-                               http://www.commandprompt.com/ppbook</a> ÓÐÁíÍâÒ»±¾¹ØÓÚ PostgreSQL µÄÊé¡£ÔÚ<a href="http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm</a>£¬<a href="http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM">http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM&nbsp;</a>          
-                       ºÍ <a href="http://sqlcourse.com/">http://sqlcourse.com</a>          
-               ÓÐÒ»¸ö²»´íµÄÈëÃŽ̡̳£          
-               <P>ÁíÒ»¸öÊÇ "Teach Yourself SQL in 21 Days, Second Edition"£¨21Ììѧ»áSQL£¬µÚ¶þ°æ£©£¬ÔÚ <A href="http://members.tripod.com/er4ebus/sql/index.htm">          
-                               http://members.tripod.com/er4ebus/sql/index.htm</A>
-               <P>ÎÒÃǵÄÐí¶àÓû§Ï²»¶ <I>The Practical SQL Handbook, Bowman, Judith S., et al., Addison-Wesley ¡£ </I>          
-                       ÆäËûµÄÓÐ<I> The Complete Reference SQL, Groff et al., McGraw-Hill ¡£</I>          
-                       <H4><A name="1.11"></A>1.11) PostgreSQL ÊÇ Y2K ¼æÈݵÄÂð£¿</H4>          
-                       ÊÇ£¬ÎÒÃǺÜÈÝÒ׿ØÖÆ 2000 AD Ö®ºóºÍ 2000 BC Ö®Ç°µÄÈÕÆÚ¡£          
-                       <H4><A name="1.12"></A>1.12) ÎÒÓ¦¸ÃÔõÑù¼ÓÈ뿪·¢¶ÓÎ飿</H4>          
-               Ê×ÏÈ£¬ÏÂÔØ×îеÄÔ´´úÂë²¢ÔĶÁÎÒÃÇ web Õ¾µã»ò·¢²¼°üÖеĠPostgreSQL ¿ª·¢ÕßÎĵµ¡£Æä´Î£¬¼ÓÈë pgsql-hackers ºÍ           
-               pgsql-patches ÓʼþÁÐ±í¡£µÚÈý£¬Ïò pgsql-patches Ìá½»¸ßÖÊÁ¿µÄ²¹¶¡³ÌÐò¡£          
-               <P>ÏÖÔÚ´ó¸ÅÓÐÊ®¼¸¸öÈËÓРPostgreSQL CVS ¹éµµ <FONT size="-1">COMMIT</FONT> µÄȨÏÞ¡£ËûÃǶ¼ÒѾ­Ìá½»Á˷dz£¶à¸ßÖÊÁ¿µÄ²¹¶¡ÁË£¬ÒÔÖÁÓÚÏÖÓеÄÌá½»È˺ÜÄѸúÉϽÚ×࣬²¢ÇÒÎÒÃÇÏàÐÅËûÃÇÌá½»µÄ²¹¶¡¶¼ÊǸßÖÊÁ¿µÄ¡£<H4><A name="1.13"></A>1.13)           
-                               ÎÒÓ¦¸ÃÔõÑùÌá½»Ò»¸öBUG±¨¸æ£¿</H4>
-                       Çë·ÃÎÊ <a href="http://www.PostgreSQL.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</a>          
-               µÄ PostgreSQL BugTool Ò³Ãæ, ÄÇÀï¸ø³öÁËÈçºÎÌá½»Ò»¸öBUG±¨¸æµÄÖ¸ÄÏ¡£          
-               <P>ͬÑùÒ²Òª¿´¿´ÎÒÃǵĠftp Õ¾µã <A href="ftp://ftp.postgresql.org/pub">ftp://ftp.postgreSQL.org/pub</A>£¬¿´ÓÐûÓиüеĠ          
-                       PostgreSQL °æ±¾»ò²¹¶¡¡£          
-                       <H4><A name="1.14"></A>1.14) PostgreSQL ºÍÆäËû DBMS ±ÈÆðÀ´ÈçºÎ£¿</H4>          
-                       ÆÀ¼ÛÈí¼þÓкü¸ÖÖ·½·¨£ºÌØÐÔ£¬ÐÔÄÜ£¬¿É¿¿ÐÔ£¬Ö§³ÖºÍ¼Û¸ñ¡£
-                       <DL>
-                               <DT><B>ÌØÐÔ</B>
-                                       <DD>
-                                               PostgreSQL ÓµÓдóÐÍÉÌÓàDBMS           
-                                               Àï´ó¶àÊýÌØÐÔ£¬ÀýÈ磺ÊÂÎñ£¬×Ó²éѯ£¬´¥·¢Æ÷£¬ÊÓͼ£¬Íâ¼ü²Î¿¼ÍêÕûÐԺ͸´ÔÓµÄËøµÈ¡£ÎÒÃÇ»¹ÓÐһЩËüÃÇûÓеÄÌØÐÔ£¬ÈçÓû§¶¨ÒåÀàÐÍ£¬¼Ì³Ð£¬¹æÔòºÍ¶à°æ±¾²¢ÐпØÖÆÒÔ¼õÉÙËøµÄÕùÓõȡ£
-                                               <BR>
-                                               &nbsp; <DT><B>ÐÔÄÜ</B>
-                                                       <DD>
-                                                               PostgreSQL ºÍÆäËûÉÌÓúͿªÔ´µÄÊý¾Ý¿â¾ßÓÐÀàËƵÄÐÔÄÜ¡£¶ÔijЩ´¦ÀíËü±È½Ï¿ì£¬¶ÔÆäËûһЩ´¦ÀíËü±È½ÏÂý¡£Óë MySQL »ò¸üÇá±ãµÄÊý¾Ý¿âϵͳ±È½Ï£¬ÎÒÃÇÔÚ           
-                                                               insert/update Ê±Âý£¬ÒòΪÎÒÃÇÓÐÊÂÎñ´¦Àí¡£µ±È» MySQL ²»¾ßÓÐÎÒÃÇÔÚÉÏÃæµÄ<I>ÌØÐÔ </I>¶ÎÀï¸ø³öµÄÈκÎÌØÐÔ¡£ÎÒÃǵÄÖ÷Òª·½ÏòÊÇ¿É¿¿ÐÔºÍÌØÐÔ£¬¾¡¹ÜÎÒÃÇÔÚÿ´Î·¢²¼Ê±²»¶ÏµØ¸Ä½øÐÔÄÜ¡£ÓÐÒ»¸öºÜÓÐȤµÄÍøÒ³±È½ÏÁË           
-                                                               PostgreSQL ºÍ MySQL <A href="http://openacs.org/why-not-mysql.html">http://openacs.org/why-not-mysql.html</A>¡£<br>        
-                                                               <DT><B>¿É¿¿ÐÔ</B>
-                                                                       <DD>
-                                                                               ÎÒÃÇÖªµÀ DBMS ±ØÐëÊÇ¿É¿¿µÄ£¬·ñÔòËü¾ÍÒ»µãÓö¼Ã»ÓС£ÎÒÃÇŬÁ¦×öµ½·¢²¼¾­¹ýÈÏÕæ²âÊԵģ¬Îȶ¨µÄ³ô³æ×îÉٵĴúÂ롣ÿ¸ö°æ±¾ÖÁÉÙÓÐÒ»¸öÔµĠbeta           
-                                                                               ²âÊÔ£¬²¢ÇÒÎÒÃǵķ¢²¼ÀúÊ·ÏÔʾÎÒÃÇ¿ÉÒÔÌṩÎȶ¨µÄ£¬Àι̵ģ¬¿ÉÓÃÓÚÉú²úʹÓõİ汾¡£ÎÒÃÇÏàÐÅÔÚÕâ·½ÃæÎÒÃÇÓëÆäËûµÄÊý¾Ý¿âÈí¼þÊÇÏ൱µÄ¡£
-                                                                               <BR>
-                                                                               &nbsp; <DT><B>Ö§³Ö</B>
-                                                                                       <DD>
-                                                                                               ÎÒÃǵÄÓʼþÁбíÌṩһ¸ö·Ç³£´óµÄ¿ª·¢ÈËÔ±ºÍÓû§µÄ×éÒÔ°ïÖú½â¾öËùÅöµ½µÄÈκÎÎÊÌâ¡£ÎÒÃDz»Äܱ£Ö¤¿Ï¶¨Äܽâ¾öÎÊÌ⣬Ïà±È֮ϣ¬ÉÌÓàDBMS           
-                                                                                               Ò²²¢²»ÊÇ×ÜÄܹ»Ìṩ½â¾ö·½·¨¡£Ö±½ÓÓ뿪·¢ÈËÔ±£¬Óû§Èº£¬ÊÖ²áºÍÔ´³ÌÐò½Ó´¥Áî PostgreSQL µÄÖ§³Ö±ÈÆäËû DBMS           
-                                                                                               »¹ÒªºÃ¡£»¹ÓÐһЩÉÌÒµÐÔµÄÔ¤°ü×°µÄÖ§³Ö£¬¿ÉÒÔ¸øÌṩ¸øÄÇЩÐèÒªµÄÈË¡££¨²ÎÔÄÖ§³Ö FAQ Ìõ¿î 1.6 Ð¡½Ú¡££©          
-                                                                                               <BR>
-                                                                                               &nbsp; <DT><B>¼Û¸ñ</B>
-                                                                                                       <DD>
-                                                                                                               ÎÒÃǶÔÈκÎÓÃ;¶¼Ãâ·Ñ£¬°üÀ¨ÉÌÓúͷÇÉÌÓÃÄ¿µÄ¡£Äã¿ÉÒÔ²»¼ÓÏÞÖƵØÏòÄãµÄ²úÆ·Àï¼ÓÈëÎÒÃǵĴúÂ룬³ýÁËÄÇЩÎÒÃÇÔÚÉÏÃæµÄ°æȨÉùÃ÷ÀïÉùÃ÷µÄ BSD ·ç¸ñµÄ°æȨÍâ¡£        
-                       </DL>
-        <h4><a name="1.15"></a>1.15) ÎÒÓ¦¸ÃÔõÑùÔÞÖú PostgreSQL £¿</h4>        
-                                                                                                               <p>×Ô´Ó1996Ä꿪ʼ£¬PostgreSQL        
-                                                        ÒѾ­ÓÐÁËÒ»¸öÓÅÐãµÄ×éÖ¯¡£ÕâЩӦ¸Ã¹é¹¦ÓÚ Marc           
-                                                                                                                       Fournier£¬ÊÇËû´´½¨Á˲¢ÔÚÕâЩÄêÒ»Ö±¹ÜÀíÕâ¸ö×éÖ¯¡£</p>
-                                                                                                               <p>¶ÔÓÚÒ»¸ö¿ªÔ´ÏîÄ¿À´Ëµ£¬ÖÊÁ¿»ù´¡ÉèÊ©ÊǷdz£ÖØÒªµÄ¡£ËüÄÜ·ÀÖ¹³öÏÖÑÏÖØÑÓ³ÙÏîÄ¿Ç°½øµÄ»ìÂÒ¡£</p>
-                                                                                                               <p>ÏÔÈ»£¬Õâ¸ö×éÖ¯µÄÔËת³É±¾²»·Æ¡£Î¬³ÖÆäÇ°½øÓи÷ÖÖÔ¶ȵġ¢Ò»´ÎÐԵĿªÖ§¡£Èç¹ûÄã»òÕßÄãµÄ¹«Ë¾ÄܽøÐоèÔùÒÔÖ§³ÖÕâÏîÊÂÒµ£¬Çë·ÃÎÊ <a href="http://store.pgsql.com/shopping/">          
-                                                                                                                               http://store.pgsql.com/shopping/</a> ½øÐоèÔù¡£</p>          
-                                                                                                               <p>ËäÈ»¸ÃÍøÒ³Ìá¼°ÁË PostgreSQL ¹«Ë¾£¬ÕâЩ¾èÔù½«½öÓÃÓÚÖ§³Ö PostgreSQL           
-                                                                                                                       ÏîÄ¿£¬²¢²»»áÓÃÓÚ×ÊÖúû¸öÌض¨µÄ¹«Ë¾¡£Èç¹ûÄãÔ¸Ò⣬Ҳ¿ÉÒÔÓʼÄ֧Ʊµ½ÁªÏµµØÖ·¡£</p>
-                       <HR>
-                       <CENTER>
-                               <H2>Óû§¿Í»§¶ËÎÊÌâ</H2>
-                       </CENTER>
-                       <H4><A name="2.1"></A>2.1) ÓРPostgreSQL µÄ ODBC Çý¶¯Ã´£¿</H4>          
-               ÓÐÁ½¸ö ODBC Çý¶¯¿ÉÒÔ»ñµÃ£¬PsqlODBC ºÍ OpenLink ODBC.<P>¿ÉÒÔÔÚ<a href="http://gborg.postgresql.org/project/psqlodbc/projdisplay.php">http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</a>          
-               ÏÂÔØ PsqlODBC ¡£          
-               <P>OpenLink ODBC ¿ÉÒÔ´Ó <A href="http://www.openlinksw.com/">http://www.openlinksw.com/</A>          
-               »ñµÃ¡£ËüÓëËûÃǵıê×¼ ODBC ¿Í»§¶ËÈí¼þ¼æÈÝ£¬Òò¶øÄã¿ÉÒÔÔÚÈκÎËûÃÇÖ§³ÖµÄ¿Í»§¶Ëƽ̨£¨Win, Mac, Unix, VMS£©ÉÏʹÓàPostgreSQL           
-               ODBC¡£
-               <P>ËûÃÇ¿ÉÄܽ«Õâ¸ö²úÆ·ÏúÊÛ¸øÄÇЩÐèÒªÉÌÒµÖ§³ÖµÄÓû§£¬µ«ÊÇ×ÜÊÇÓÐÒ»¸ö freeware £¨×ÔÓÉÈí¼þ£©µÄ°æ±¾¿ÉÒԵõ½¡£ÇëѯÎÊ <A href="mailto:postgres95@openlink.co.uk">          
-                               postgres95@openlink.co.uk</A>¡£
-                       <H4><A name="2.2"></A>2.2) ÓÐʲô¹¤¾ß¿ÉÒÔ°Ñ PostgreSQL ÓÃÓÚ Web Ò³Ã棿</H4>          
-                       Ò»¸ö½éÉÜÒÔÊý¾Ý¿âΪºǫ́µÄͦ²»´íµÄ Õ¾µãÊÇ£º<a href="http://www.webreview.com">http://www.webreview.com</a>          
-               ¡£          
-               <P>¶ÔÓÚ Web ¼¯³É£¬PHP ÊÇÒ»¸ö¼«ºÃµÄ½Ó¿Ú¡£ËüÔÚ£º<A href="http://www.php.net/">http://www.php.net/</A>          
-               ¡£          
-               <P>¶ÔÓÚ¸´ÔÓµÄÈÎÎñ£¬ºÜ¶àÈ˲ÉÓàPerl ½Ó¿ÚºÍ CGI.pm »ò mod_perl ¡£          
-                       <H4><A name="2.3"></A>2.3) PostgreSQL ÓµÓÐͼÐÎÓû§½çÃæÂð£¿</H4>         
-                       Êǵġ£Óм¸¸öÊÊÓÃÓÚ PostgreSQL µÄͼÐνӿڡ£°üÀ¨PgAccess£¨<a href="http://www.pgaccess.com">http://www.pgaccess.com</a>)£¬PgAdmin           
-                       II £¨<a href="http://www.pgadmin.org">http://www.pgadmin.org</a>£¬½öÊÊÓÃÓÚWin32£©£¬           
-                       RHDB Admin (<a href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</a>£©           
-                       ÒÔ¼° Rekall £¨<a href="http://www.thekompany.com/products/rekall/">http://www.thekompany.com/products/rekall/</a>£¬           
-                       ×¨ÓеÄ/proprietary)¡£»¹ÓÐPHPPgAdmin £¨<a href="http://phppgadmin.sourceforge.net/">http://phppgadmin.sourceforge.net/£©</a>          
-               £¬Ò»¸ö»ùÓÚ web µÄ PostgreSQL ·ÃÎʽӿڡ£          
-               <p>ÎÒÃÇÓÐÒ»¸ö²»´íµÄͼÐÎÓû§½çÃ棬³ÆΪ PgAccess £¬ËüÒ²¿ÉÒÔÓÃ×÷±¨±íÉú³ÉÆ÷¡£ÍøÒ³ÊÇ <a href="http://www.pgaccess.org/">http://www.pgaccess.org/</a>¡£</p>          
-               <H4><A name="2.4"></A>2.4) ÎÒÃÇ¿ÉÒÔÓÃʲôÓïÑԺ͠PostgreSQL ´ò½»µÀ£¿</H4>          
-               <p>´ó¶àÊýÁ÷Ðеıà³ÌÓïÑÔ¶¼ÓзÃÎÊ PostgreSQL µÄ½Ó¿Ú¡£Çë¼ì²é±à³ÌÓïÑÔµÄÀ©Õ¹Ä£¿éÁÐ±í¡£</p>          
-               <p>PostgreSQL ·¢²¼°üÖаüº¬ÁËÒÔϽӿڣº</p>          
-               <ul>
-                       <li>
-                       C (libpq)          
-                       <li>
-                       Embedded C (ecpg)
-                       <li>
-                       Java (jdbc)
-                       <li>
-                       Python (PyGreSQL)
-                       <li>
-                               TCL (libpgtcl)</li>
-               </ul>
-               <p>ÆäËûµÄ½Ó¿ÚÔÚ <a href="http://gborg.postgresql.org">http://gborg.postgresql.org</a> ÉϵĠ<i>Drivers/Interfaces</i>          
-                       Ð¡½Ú¡£</p>          
-               <HR>
-               <CENTER>
-                       <H2>ϵͳ¹ÜÀíÎÊÌâ</H2>
-               </CENTER>
-               <H4><A name="3.1"></A>3.1) ÎÒÔõÑùÄÜ°Ñ PostgreSQL ×°ÔÚ /usr/local/pgsql ÒÔÍâµÄµØ·½£¿</H4>          
-               <p>ÔÚÔËÐРconfigure Ê±¼ÓÉÏ --prefix Ñ¡Ïî¡£</p>          
-               <H4><A name="3.2"></A>3.2) µ±ÎÒÔËÐРpostmaster Ê±£¬³öÏÖ<I> Bad System Call</I>£¨ÏµÍ³µ÷ÓÃ´í£©»ò Core           
-                       Dumped ´íÎó¡£ÎªÊ²Ã´£¿</H4>          
-               <p>Õâ¿ÉÄÜÊǺܶ෽ÃæµÄÎÊÌ⣬ÇëÏȼì²é²Ù×÷ϵͳºËÐÄÊÇ·ñÖ§³Ö System V À©Õ¹¡£PostgreSQL ÐèÒªÄÚºËÖ§³Ö¹²ÏíÄÚ´æºÍÐźŵơ£</p>          
-               <H4><A name="3.3"></A>3.3) µ±ÎÒÊÔͼÔËÐРpostmaster Ê±£¬³öÏÖ <I>IpcMemoryCreate</I> ´íÎó¡£ÎªÊ²Ã´£¿</H4>          
-               ÄãҪôÊÇûÓÐÔÚÄÚºËÀïÕýÈ·ÅäÖù²ÏíÄڴ棬ҪôÊÇÄãÐèÒªÀ©´óÄãµÄÄں˵ĿÉÓù²ÏíÄÚ´æ¡£ÐèÒªµÄ¹²ÏíÄÚ´æ¾ßÌåµÄÊýÁ¿È¡¾öÓÚÄãµÄÌåϵ½á¹¹ºÍÄãÅäÖÃÄãµÄ postmaster           
-               ÔËÐÐʱʹÓõĻº³åÇøºÍºó¶Ë½ø³ÌÊýÄ¿¡£¶Ô´ó¶àÊýϵͳ£¬Ê¹ÓÃȱʡ»º³åÇøºÍ½ø³ÌÊýĿʱ£¬Äã×îÉÙÐèÒª~1MB¡£Óйع²ÏíÄÚ´æºÍÐźŵƵÄÏêϸÐÅÏ¢Çë²Î¿¼ <a href="http://www.postgresql.org/idocs/index.php?kernel-resources.html">          
-                       PostgreSQL Administrator's Guide</a> ¡£          
-               <H4><A name="3.4"></A>3.4) µ±ÎÒÊÔͼÔËÐРpostmaster Ê±£¬³öÏÖ <I>IpcSemaphoreCreate</I> ´íÎó¡£ÎªÊ²Ã´£¿</H4>          
-               <p>Èç¹û´íÎóÐÅÏ¢ÊÇ <I>IpcSemaphoreCreate: semget failed (No space left on device)</I>£¬ÄÇôԭÒòÊÇÄãµÄÄÚºËûÓÐÅäÖÃ×ã¹»µÄÐźŵÆ×ÊÔ´¡£Postgres           
-                       µÄÿ¸öDZÔڵĺǫ́½ø³Ì¶¼ÐèÒªÒ»¸öÐźŵơ£Ò»¸öÁÙʱµÄ½â¾ö·½·¨ÊÇÒԱȽÏÉٵĺǫ́½ø³ÌÊý£¨²ÎÊý£©Æô¶¯ postmaster¡£Ê¹Óÿª¹Ø <I>-N</I> ´øÒ»¸öÉÙÓÚȱʡֵ           
-                       32 µÄ²ÎÊýÔËÐРpostmaster¡£¸ü³¤¾ÃµÄ½â¾ö·½·¨ÊǼӴóÄãµÄÄں˵Ġ<FONT size="-1">SEMMNS</FONT> ºÍ <FONT size="-1">          
-                               SEMMNI</FONT> ²ÎÊý¡£</p>          
-               <p>ÔÚÊý¾Ý¿â·ÃÎÊÁ¿ºÜ´óʱ£¬ÐźŵƲ»¿ÉÓÿÉÄܵ¼ÖÂϵͳ±ÀÀ£¡£</p>
-               <P>Èç¹û´íÎóÐÅÏ¢ÊÇÆäËûµÄʲô¶«Î÷£¬Äã¿ÉÄܾ͸ù±¾Ã»ÓÐÔÚÄÚºËÀïÃæÅäÖÃÐźŵÆÖ§³Ö¡£Óйع²ÏíÄÚ´æºÍÐźŵƵÄÏêϸÐÅÏ¢Çë²Î¿¼ <a href="http://www.postgresql.org/idocs/index.php?kernel-resources.html">          
-                               PostgreSQL Administrator's Guide</a> ¡£<H4><A name="3.5"></A>3.5)           
-                               ÎÒÈçºÎ¿ØÖÆÀ´×ÔÆäËûÖ÷»úµÄÁ¬½Ó£¿</H4>
-               <p>ȱʡʱ£¬PostgreSQL Ö»ÔÊÐíͨ¹ý unix ÓòÌ×½Ó×ÖÀ´×Ô±¾»úµÄÁ¬½Ó¡£³ý·ÇÄãʹÓà<I>-i</I> ¿ª¹ØÆô¶¯ <I>postmaster</I>£¬<B>²¢ÇÒ</B>ͨ¹ý¶ÔÓ¦µÄ±à¼­          
-                       <I>$PGDATA/pg_hba.conf</I> Îļþ´ò¿ªÁËÖ÷»úΪ»ù´¡£¨ host-based £©µÄÈÏÖ¤£¬·ñÔòÆäËû»úÆ÷ÊDz»ÄÜÓëÄãµÄ»úÆ÷Á¬½ÓµÄ¡£ÕâÑù½«ÔÊÐí           
-                       TCP/IP Á¬½Ó¡£</p>          
-               <H4><A name="3.6"></A>3.6) ÎÒÔõÑùµ÷ÕûÊý¾Ý¿âÒýÇæÒÔ»ñµÃ¸üºÃµÄÐÔÄÜ£¿</H4>          
-               <p>µ±È»£¬Ë÷Òý¿ÉÒÔ¼ÓËÙ²éѯ¡£<FONT size="-1">EXPLAIN</FONT> ÃüÁîÔÊÐíÄã¹Û²ì PostgreSQL           
-                       ÈçºÎ½âÊÍÄãµÄ²éѯ£¬ÒÔ¼°Ê¹ÓÃÁËÄÄЩË÷Òý¡£</p>
-               <P>Èç¹ûÄãÕý´¦ÀíÒ»¶Ñ <FONT size="-1">INSERT</FONT>£¬¿¼ÂÇʹÓà<FONT size="-1">COPY</FONT> ÃüÁîÒÔ´óÅúÁ¿µÄ·½Ê½½øÐС£ÕâÑù×ö±Èµ¥¶ÀµÄÒ»¸ö¸ö          
-                       <FONT size="-1">INSERT </FONT>¿ìµÃ¶à¡£Æä´Î£¬Ã»Óд¦ÓÚ <FONT size="-1">BEGIN WORK/COMMIT</FONT>          
-               ÊÂÎñ¿éÖ®¼äµÄÓï¾ä±»ÈÏΪÊôÓÚͬһ¸öÊÂÎñ¡£ÊÔ×ÅÔÚÒ»¸öÊÂÎñ¿éÀïÃæ´¦Àí¸ü¶àµÄÓï¾ä¡£ÕâÑù¿ÉÒÔ¼õÉÙÊÂÎñ´øÀ´µÄ¶îÍ⿪Ïú¡£Í¬Ñù£¬ÔÚ×ö´óÁ¿µÄÊý¾Ý¸Ä±äʱ¿¼ÂÇɾ³ýºÍÖؽ¨Ë÷Òý¡£          
-               <P>»¹Óм¸¸öµ÷½ÚµÄÑ¡Ïî¿ÉÒÔʹÓá£Äã¿ÉÒÔͨ¹ý´ø <I>-o -F</I> Ñ¡ÏîÆô¶¯ postmaster À´½ûÖ¹ fsync()¡£ÕâÑù½«±ÜÃâÿ´ÎÊÂÎñºóµ÷Óà<I>fsync()          
-                       </I>
-               °ÑÊý¾Ýˢе½´ÅÅÌÉÏ¡£
-               <P>
-               Ä㻹¿ÉÒÔʹÓàpostmaster -B Ñ¡ÏîÔö¼Óºó¶Ë½ø³ÌʹÓõĹ²ÏíÄڴ滺³åµÄÊýÄ¿¡£Èç¹ûÄã°ÑÕâ¸ö²ÎÊýÉèÖõÃÌ«´ó£¬postmaster           
-               ¿ÉÄÜÎÞ·¨Æô¶¯£¬ÒòΪÄãÒѾ­³¬¹ýÁËÄãµÄÄÚºËÔÚ¹²ÏíÄÚ´æ¿Õ¼äÉϵÄÏÞÖÆ¡£Ã¿¸ö»º³åÇøÊÇ 8K ²¢ÇÒȱʡ 64 ¸ö»º³åÇø¡£<P>          
-               Ä㻹¿ÉÒÔʹÓúǫ́½ø³ÌµÄ -S Ñ¡ÏîÀ´Ôö¼Óÿ¸öºǫ́½ø³ÌÓÃÓÚÁÙʱÅÅÐòÓõÄ×î´óÄÚ´æÊýÁ¿¡£-S ÖµÊÇÒÔK×ֽڼƵģ¬È±Ê¡ÊÇ 512 £¨Ò²¾ÍÊÇ˵£¬512K£©¡£<P>Ä㻹¿ÉÒÔʹÓà<FONT size="-1">          
-                               CLUSTER</FONT> ÃüÁîÀ´°Ñ±íÀïµÄÊý¾Ý°´ÕÕij¸öË÷Òý½øÐоۼ¯´æ·Å¡£²ÎÔÄ CLUSTER µÄÊÖ²áÒ³»ñÈ¡¸ü¶àϸ½Ú¡£          
-                       <H4><a name="3.7"></a>3.7) PostgreSQL Àï¿ÉÒÔ»ñµÃʲôÑùµÄµ÷ÊÔÌØÐÔ£¿</H4>          
-               <p>PostgreSQL Óм¸¸öÌØÐÔÓÃÓÚ±¨¸æ״̬ÐÅÏ¢£¬ÕâЩÐÅÏ¢¿ÉÄܶԵ÷ÊÔÓÃ;ºÜÓаïÖú¡£</p>          
-               <P>Ê×ÏÈ£¬Í¨¹ý¸½´ø --enable-cassert Ñ¡ÏîÔËÐРconfigure£¬Óкܶà <I>assert()</I>          
-               ¼à¿Øºǫ́½ø³ÌºÍÔÚ·¢ÉúijЩδÔøÔ¤ÁϵÄÏÖÏóʱֹͣ³ÌÐòÔËÐС£          
-               <P>postmaster ºÍ postgres ¶¼ÓÐһЩ¿ÉÓõÄÑ¡Ïî¡£Ê×ÏÈ£¬µ±ÄãÆô¶¯ postmaster           
-                       Ê±£¬È·±£Äã°Ñ±ê×¼Êä³öºÍ±ê×¼´íÎóÊä³ö¶¨Ïòµ½ÁËÒ»¸öÈÕÖ¾ÎļþÀïÈ¥ÁË£¬Ïó£º
-                       <PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /usr/local/pgsql
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./bin/postmaster &gt;server.log 2&gt;&amp;1 &amp;</PRE>
-               ÕâÑù½«ÔÚ PostgreSQL ¶¥¼¶Ä¿Â¼ÏÂÊä³öÒ»¸ö server.log Îļþ¡£Õâ¸öÎļþ°üº¬·þÎñÆ÷Åöµ½µÄÎÊÌâºÍ´íÎóµÄÓÐÓÃÐÅÏ¢¡£postmaster ÓÐÒ»¸ö           
-               -d Ñ¡Ï¸ÃÑ¡ÏîÔÊÐíÎÒÃÇ»ñµÃ¸ü¶àµÄϸ½Ú»ã±¨¡£-d Ñ¡Ïî½ÓÊÜÒ»¸öÊý×Ö±êÃ÷µ÷ÊÔ¼¶±ð¡£ÐèÒª¾¯¸æµÄÊǸߵĵ÷ÊÔ¼¶±ð¿ÉÄÜ»áÉú³É¾Þ´óµÄÈÕÖ¾Îļþ¡£<P>Èç¹û postmaster           
-                       Ã»ÓÐÔËÐУ¬Äã¿ÉÒÔÖ±½ÓÔÚÃüÁîÐÐÉÏÆô¶¯ postgres ºǫ́½ø³Ì£¬È»ºóÖ±½Ó¼üÈë SQL Óï¾ä¡£ÎÒÃÇ<B>Ö»</B>          
-               ÍƼöÔÚµ÷ÊÔµÄʱºòÕâô¸É¡£Çë×¢ÒâÕâʱÓû»ÐÐÜÞ¶ø²»ÊǷֺűíʾÓï¾ä½áβ¡£Èç¹ûÄã´ø×ŵ÷ÊÔ·ûºÅ±àÒ룬Äã¿ÉÒÔʹÓÃÒ»¸öµ÷ÊÔÆ÷¹Û¿´·¢ÉúÁËʲôÊÂÇé¡£ÒòΪºǫ́½ø³ÌûÓÐÓÉ           
-               postmaster Æô¶¯µÄ£¬Ëü²»ÊǺÍʵ¼ÊµÄÔËÐл·¾³Ò»Ö£¬¶øÇÒËø¶¨/ºǫ́½»»¥ÎÊÌâ¿ÉÄܲ»ÄÜÖØÏÖ¡£          
-               <P>Èç¹û postmaster ÒѾ­ÔËÐУ¬¿ÉÔÚÒ»¸ö´°¿ÚÖÐÆô¶¯ <I>psql</I>£¬È»ºóÕÒ³ö <I>psql</I> ¶ÔÓ¦µÄ <I>postgres</I> ½ø³ÌµÄ          
-                       <FONT size="-1">PID</FONT>¡£Ê¹ÓÃÒ»¸öµ÷ÊÔÆ÷¸½×ÅÔÚÕâ¸ö <I>postgres </I><FONT size="-1">PID</FONT>          
-                       ÉÏ¡£Äã¿ÉÒÔÔÚµ÷ÊÔÆ÷ÀïÉèÖöϵ㲢ÇÒ´Ó <I>psql</I> ÀïÖ´Ðвéѯ¡£Èç¹ûÄãÔÚµ÷ÊÔ <I>postgres</I> µÄÆô¶¯£¬Äã¿ÉÒÔÉèÖà          
-                       PGOPTIONS="-W n"£¬È»ºóÆô¶¯ <I>psql</I>¡£ÕâÑù½«µ¼ÖÂÆô¶¯ÑÓ³Ù <I>n</I>          
-               Ã룬ÕâÑùÄã¾Í¿ÉÒÔ¸½¼ÓÒ»¸öµ÷ÊÔÆ÷²¢ÇÒ¸ú×ÙÆô¶¯Ë³ÐòµÄ¹ý³Ì¡£          
-               <P>
-               postgres ³ÌÐòÓР-s£¬-A£¬ºÍ -t Ñ¡Ïî¿ÉÄÜÔÚµ÷ÊÔºÍÐÔÄܲâÁ¿µÄʱºò·Ç³£ÓÐÓᣠ         
-               <P>Ä㻹¿ÉÒÔ´ø profiling Ö§³Ö±àÒëºǫ́£¬ÒÔ±ã¹Û²ìÄÄЩº¯ÊýÕ¼ÓõÄÖ´ÐÐʱ¼ä½Ï¶à¡£profile Îļþ½«·ÅÔÚ pgsql/data/base/dbname           
-                       Ä¿Â¼Ï¡£¿Í»§¶Ë profile Îļþ½«·ÅÔÚ¿Í»§¶Ëµ±Ç°Ä¿Â¼Ï¡£ÔÚ Linux ÏÂÖ§³Ö profiling ÒªÔÚ±àÒëʱ¼ÓÉÏ<i>-DLINUX_PROFILE </i>          
-                       ¡£<H4><a name="3.8"></a>3.8)        
-        ÎªÊ²Ã´ÔÚÊÔͼÁ¬½ÓµÇ¼ʱÊÕµ½¡°Sorry, too many clients¡±ÏûÏ¢£¿</H4>         
-               <p>ÄãÐèÒªÔö´ó postmaster Æô¶¯Ê±Ö§³ÖµÄ²¢·¢ºǫ́½ø³ÌÊý¡£</p>          
-               <P>ȱʡÏÞÖÆÊÇ 32 ½ø³Ì¡£Äã¿ÉÒÔͨ¹ý´ø×ÅÊʵ±µÄ <I>-N</I> Öµ¿ª¹ØÆô¶¯ postmaster Ôö¼ÓÕâ¸öÊýÄ¿¡£»òÕßÐ޸Ġ<i>postgresql.conf</i>          
-               Îļþ¡£          
-               <P>ҪעÒâÈç¹ûÄã°Ñ <I>-N</I> ÉèÖÃΪ´óÓÚ 32£¬Äã±ØÐëͬÑùÔö´ó <I>-B</I>£¬³¬¹ýËüȱʡµÄ 64£»-B ±ØÐë×îÉÙÊÇ -N           
-                       µÄÁ½±¶£¬¶øÇÒΪÁ˸üºÃµÄÐÔÄÜ¿ÉÄÜÒª±ÈÄǸöÊý×ÖÒª´ó¡£¶ÔÓÚ´óÊýÄ¿µÄºó¶Ë½ø³Ì£¬Äã¿ÉÄÜ»¹»á·¢ÏÖÄ㻹ÐèÒªÔö¼ÓÐí¶à Unix           
-                       ÄÚºËÅäÖòÎÊýÖµ¡£Òª¼ì²éµÄ¶«Î÷°üÀ¨¹²ÏíÄÚ´æ¿éµÄ×î´ó³ß´ç£¬<FONT size="-1">SHMMAX</FONT>£¬ÐźŵƵÄ×î´óÊýÄ¿£¬<FONT size="-1">SEMMNS</FONT>
-                       ºÍ <FONT size="-1">SEMMNI</FONT>£¬×î´óµÄ½ø³ÌÊý£¬<FONT size="-1">NPROC</FONT>£¬µ¥Óû§×î´ó½ø³ÌÊý£¬<FONT size="-1">MAXUPRC</FONT>£¬ÒÔ¼°´ò¿ªÎļþµÄ×î´óÊýÄ¿£¬<FONT size="-1">NFILE</FONT>          
-                       ºÍ <FONT size="-1">NINODE</FONT>          
-               ¡£Postgres ¶ÔÔÊÐíµÄºǫ́½ø³ÌÊýÓÐÏÞÖƵÄÔ­ÒòÊÇΪÁËÈ·±£ÄãµÄϵͳ²»»áÓùâ×ÊÔ´¡£<P>ÔÚ Postgres ÔçÓÚ 6.5 µÄ°æ±¾£¬×î´óºǫ́½ø³ÌÊýȱʡÊÇ           
-                       64£¬²¢ÇÒ¶ÔËüµÄÐÞ¸ÄÊ×ÏÈÐèÒªÐ޸Ġ<I>include/storage/sinvaladt.h</I> ÀïµÄ MaxBackendId ³£Á¿£¬È»ºóÖØР          
-                       BUILD¡£
-                       <H4><a name="3.9"></a>3.9) pgsql_tmp Ä¿Â¼ÀﶼÓÐЩʲô£¿</H4>          
-               <p>¸ÃĿ¼Ï±£´æÁ˲éѯִÐÐÆ÷Éú³ÉµÄÁÙʱÎļþ¡£ÀýÈ磬Èç¹ûÐèҪΪÂú×ã <FONT size="-1">ORDER BY</FONT> Ìõ¼þ×öÅÅÐò£¬²¢ÇÒÅÅÐòÐèÒª±Èºǫ́µÄ           
-                       -S ²ÎÊý¸ø³öµÄ¸ü¶àµÄ¿Õ¼ä£¬ÄÇô¾Í»á´´½¨Ò»¸öÁÙʱÎļþ±£´æ¶à³öÀ´µÄÊý¾Ý¡£</p>          
-               <P>ÁÙʱÎļþÓ¦¸Ã×Ô¶¯É¾³ý£¬²»¹ýÈç¹ûÔÚÅÅÐò¹ý³ÌÖкǫ́±ÀÀ£Á˾ͿÉÄÜÁôÏÂÀ´¡£Í£Ö¹²¢ÖØÆð postmaster ½«»áɾ³ýÕâЩÎļþ¡£          
-                       <BR>
-                       <h4><a name="3.10"></a>3.10) ÎªÊ²Ã´ÒªÔÚÉý¼¶ PostgreSQL ·¢²¼°æ±¾Ê±×ö dump ºÍ restore £¿</h4>          
-               <p>
-                       PostgreSQL ¿ª·¢×é¶Ôÿ´ÎСµÄÉý¼¶½ö×öÁ˽ÏÉÙµÄÐÞ¸Ä,Òò´Ë´Ó 7.2 Éý¼¶µ½ 7.2.1 ²»ÐèÒª dump ºÍ restore¡£µ«ÊÇÖ÷ÒªµÄÉý¼¶£¨ÀýÈç´Ó           
-                       7.2 µ½ 7.3£©Í¨³£»áÐÞ¸Äϵͳ±íºÍÊý¾Ý±íµÄÄÚ²¿¸ñʽ¡£ÕâЩ±ä»¯Ò»°ã±È½Ï¸´ÔÓ£¬Òò´ËÎÒÃDz»Î¬Êý¾ÝÎļþµÄÏòºó¼æÈÝ¡£dump           
-                       ½«Êý¾Ý°´ÕÕͨÓõĸñʽÊä³ö£¬Ëæºó¿ÉÒÔ±»ÖØмÓÔز¢Ê¹ÓÃеÄÄÚ²¿¸ñʽ¡£</p>
-               <p>
-                       ´ÅÅÌÎļþ¸ñʽûÓб仯µÄÉý¼¶£¬¿ÉÒÔÓà<i>pg_upgrade</i> ½Å±¾£¬¶ø²»ÐèÒª×ö dump ºÍ restor¡£·¢²¼ËµÃ÷script »áÖ¸Ã÷ <i>pg_upgrade</i>          
-                       ¶Ô¸Ã´ÎÉý¼¶ÊÇ·ñ¿ÉÓá£</p>          
-                       <HR>
-                       <CENTER>
-                               <H2>²Ù×÷ÎÊÌâ</H2>
-                       </CENTER>
-                       <H4><A name="4.1"></A>4.1)        
-            ¶þ½øÖÆÓαêºÍÆÕͨÓαêÖ®¼äµÄÇø±ðÊÇʲô£¿</H4>  
-                       ²ÎÔÄ <FONT size="-1">DECLARE</FONT> ÊÖ²áÒ³»ñÈ¡ÐÅÏ¢¡£          
-                       <H4><a name="4.2"></a>4.2)ÈçºÎÖ» <FONT size="-1">SELECT</FONT> Ò»¸ö²éѯ½á¹ûµÄÍ·¼¸ÐУ¿</H4>          
-                       ²ÎÔÄ <FONT size="-1">FETCH</FONT>          
-               ÊÖ²áÒ³£¬»òÕßʹÓàSELECT ... LIMIT....          
-               <P>¼´Ê¹ÄãÖ»ÐèÒª¿ªÍ·µÄ¼¸ÐУ¬Ò²»áÉæ¼°µ½Õû¸ö²éѯ¡£ÊÔ×ÅʹÓôøÓР<FONT size="-1">ORDER BY</FONT> µÄ²éѯ¡£Èç¹ûÓÐÒ»¸öË÷ÒýÓë <FONT size="-1">          
-                               ORDER BY</FONT> Æ¥Å䣬PostgreSQL ¿ÉÄܾÍÖ»´¦ÀíÒªÇóµÄÍ·¼¸Ìõ¼Ç¼£¬·ñÔò½«¶ÔÕû¸ö²éѯ½øÐд¦ÀíÖ±µ½Éú³ÉÐèÒªµÄÐС£          
-                       <H4><a name="4.3"></a>4.3) ÎÒÈçºÎ»ñÈ¡Ò»¸ö±íµÄÁÐ±í£¬»òÕßÊÇÆäËûÎÒÄÜÔÚ <I>psql</I> Àï¿´µ½µÄ¶«Î÷£¿</H4>          
-                       Äã¿ÉÒÔÔĶÁ <I>psql</I> µÄÔ´´úÂëÎļþ<I>pgsql/src/bin/psql/describe.c</I> ¡£Ëü°üÀ¨ÎªÉú³É psql           
-                       µÄ·´Ð±¸ÜÃüÁîµÄÊä³öµÄ SQL ÃüÁî¡£Ä㻹¿ÉÒÔ´ø <I>-E</I> Ñ¡ÏîÆô¶¯ <I>psql</I>£¬ÕâÑùËü½«´òÓ¡³öÖ´ÐÐÄã¸ø³öµÄÃüÁîËùÓõIJéѯ¡£          
-                       <H4><a name="4.4"></a>4.4) ÔõÑù´Ó±íÀïÃæɾ³ýÒ»ÁУ¿</H4>          
-               <P>7.3 ÀïÔö¼ÓÁË <FONT size="-1">ALTER TABLE DROP COLUMN</FONT>£¬ÒÔÖ§³Ö´ËÏÄÜ¡£ÔÚÒÔÇ°µÄ°æ±¾ÖУ¬¿ÉÒÔÕâÑù×ö£º</P>          
-        <PRE>    BEGIN;
+<!-- saved from url=(0046)http://laser.zhengmai.com.cn/postgres-faq.html -->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content=
+"HTML Tidy for BSD/OS (vers 12 April 2005), see www.w3.org" />
+<title>PostgreSQL FAQ-ch</title>
+<meta http-equiv="Content-Type" content=
+"text/html; CHARSET=gb2312" />
+<meta content="Microsoft FrontPage 4.0" name="GENERATOR" />
+</head>
+<body alink="#0000FF" bgcolor="#FFFFFF" link="#FF0000" text=
+"#000000" vlink="#A00000">
+<h1>PostgreSQL ³£¼ûÎÊÌ⣨FAQ£©</h1>
+×î½ü¸üУº2003 Äê 01 Ô 06 ÈÕ ÐÇÆÚÒ» 22:27:35 CST
+<p>Ŀǰά»¤ÈËÔ±£ºBruce Momjian (<a href=
+"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)<br />
+ÖÐÎÄ°æά»¤ÈËÔ±£ººÎΰƽ £¨laser@pgsqldb.com £©</p>
+<p>±¾ÎĵµµÄ×îа汾¿ÉÒÔÔÚ<a href=
+"http://www.postgresql.org/files/documentation/faqs/FAQ.html">http://www.postgresql.org/files/documentation/faqs/FAQ.html</a>
+²é¿´¡£</p>
+<p>²Ù×÷ϵͳƽ̨Ïà¹ØµÄÎÊÌâÔÚ<a href=
+"http://www.postgresql.org/docs/faq/">http://www.postgresql.org/docs/faq/</a>Àï»Ø´ð¡£<br />
+</p>
+<hr />
+<center>
+<h2>³£¼ûÎÊÌâ</h2>
+</center>
+<a href="#1.1">1.1</a>) PostgreSQL ÊÇʲô£¿¸ÃÔõô·¢Òô£¿<br />
+<a href="#1.2">1.2</a>) PostgreSQL µÄ°æȨÊÇʲô?<br />
+<a href="#1.3">1.3</a>) PostgreSQL ÔËÐÐÔÚʲô Unix Æ½Ì¨ÉÏ£¿<br />
+<a href="#1.4">1.4</a>) ¿ÉÓõķǠUnix Æ½Ì¨ÓÐÄÇЩ£¿<br />
+<a href="#1.5">1.5</a>) ÎÒ´ÓÄÄÀïÄܵõ½ PostgreSQL£¿<br />
+<a href="#1.6">1.6</a>) ÎÒ´ÓÄÄÀïÄܵõ½¶Ô PostgreSQL µÄÖ§³Ö£¿<br />
+<a href="#1.7">1.7</a>) PostgreSQL ×îеİ汾ÊÇʲô£¿<br />
+<a href="#1.8">1.8</a>) ÓÐÄÄЩ¿ÉÓõĠPostgreSQL µÄÎĵµ£¿<br />
+<a href="#1.9">1.9</a>) ÎÒÈçºÎÁ˽âÒÑÖªµÄ BUG »òȱʧµÄÌØÐÔ£¿<br />
+<a href="#1.10">1.10</a>) ÎÒÓ¦¸ÃÔõÑùѧϰ SQL £¿<br />
+<a href="#1.11">1.11</a>) PostgreSQL ÊÇ Y2K ¼æÈݵÄÂð£¿<br />
+<a href="#1.12">1.12</a>) ÎÒÓ¦¸ÃÔõÑù¼ÓÈ뿪·¢¶ÓÎ飿<br />
+<a href="#1.13">1.13</a>) ÎÒÓ¦¸ÃÔõÑùÌá½»Ò»¸ö BUG ±¨¸æ£¿<br />
+<a href="#1.14">1.14</a>) PostgreSQL ºÍÆäËû DBMS ±ÈÆðÀ´ÈçºÎ£¿<br />
+<a href="#1.15">1.15</a>) ÎÒÓ¦¸ÃÔõÑùÔÞÖú PostgreSQL £¿
+<center>
+<h2>Óû§¿Í»§¶ËÎÊÌâ</h2>
+</center>
+<a href="#2.1">2.1</a>) ÓРPostgreSQL µÄ ODBC Çý¶¯³ÌÐòô£¿<br />
+<a href="#2.2">2.2</a>) ÓÐʲô¹¤¾ß¿ÉÒÔ°Ñ PostgreSQL ÓÃÓÚ Web
+Ò³Ã棿<br />
+<a href="#2.3">2.3</a>) PostgreSQL ÓµÓÐͼÐÎÓû§½çÃæÂð£¿<br />
+<a href="#2.4">2.4</a>) ÎÒÃÇ¿ÉÒÔÓÃʲôÓïÑԺ͠PostgreSQL ´ò½»µÀ£¿
+<center>
+<h2>ϵͳ¹ÜÀíÎÊÌâ</h2>
+</center>
+<a href="#3.1">3.1</a>) ÎÒÔõÑùÄÜ°Ñ PostgreSQL ×°ÔÚ /usr/local/pgsql
+ÒÔÍâµÄµØ·½£¿<br />
+<a href="#3.2">3.2</a>) µ±ÎÒÔËÐРpostmaster Ê±£¬³öÏÖ <i>Bad System
+Call</i>£¨ÏµÍ³µ÷ÓÃ´í£©»ò Core Dumped ´íÎó¡£ÎªÊ²Ã´£¿<br />
+<a href="#3.3">3.3</a>) µ±ÎÒÊÔͼÔËÐРpostmaster Ê±£¬³öÏÖ
+<i>IpcMemoryCreate</i> ´íÎó¡£ÎªÊ²Ã´£¿<br />
+<a href="#3.4">3.4</a>) µ±ÎÒÊÔͼÔËÐРpostmaster Ê±£¬³öÏÖ
+<i>IpcSemaphoreCreate</i> ´íÎó¡£ÎªÊ²Ã´£¿<br />
+<a href="#3.5">3.5</a>) ÎÒÈçºÎ¿ØÖÆÀ´×ÔÆäËûÖ÷»úµÄÁ¬½Ó£¿<br />
+<a href="#3.6">3.6</a>)
+ÎÒÔõÑùµ÷ÕûÊý¾Ý¿âÒýÇæÒÔ»ñµÃ¸üºÃµÄÐÔÄÜ£¿<br />
+<a href="#3.7">3.7</a>) PostgreSQL
+Àï¿ÉÒÔ»ñµÃʲôÑùµÄµ÷ÊÔÌØÐÔ£¿<br />
+<a href="#3.8">3.8</a>) ÎªÊ²Ã´ÔÚÊÔͼÁ¬½ÓµÇ¼ʱÊÕµ½¡°Sorry, too many
+clients¡± ÏûÏ¢£¿<br />
+<a href="#3.9">3.9</a>) pgsql_tmp Ä¿Â¼ÀﶼÓÐЩʲô£¿<br />
+<a href="#3.10">3.10</a>) ÎªÊ²Ã´ÒªÔÚÉý¼¶ PostgreSQL ·¢²¼°æ±¾Ê±×ö
+dump ºÍ restore £¿
+<center>
+<h2>²Ù×÷ÎÊÌâ</h2>
+</center>
+<a href="#4.1">4.1</a>)
+¶þ½øÖÆÓαêºÍÆÕͨÓαêÖ®¼äµÄÇø±ðÊÇʲô£¿<br />
+<a href="#4.2">4.2</a>) ÈçºÎֻѡÔñÒ»¸ö²éѯ½á¹ûµÄÍ·¼¸ÐУ¿<br />
+<a href="#4.3">4.3</a>)
+ÎÒÈçºÎ»ñÈ¡Ò»¸öÊý¾Ý¿âÖбíµÄÁÐ±í£¬»òÕßÊÇÆäËûÎÒÄÜÔÚ <i>psql</i>
+Àï¿´µ½µÄ¶«Î÷£¿<br />
+<a href="#4.4">4.4</a>) ÔõÑù´Ó±íÀïÃæɾ³ýÒ»ÁУ¿<br />
+<a href="#4.5">4.5</a>)
+Ò»ÐУ¬Ò»¸ö±í£¬Ò»¸ö¿âµÄ×î´ó³ß´çÊǶàÉÙ£¿<br />
+<a href="#4.6">4.6</a>)
+´æ´¢Ò»¸öµäÐ͵ÄÎı¾ÎļþÀïµÄÊý¾ÝÐèÒª¶àÉÙ´ÅÅ̿ռ䣿<br />
+<a href="#4.7">4.7</a>)
+ÈçºÎ²é¿´±í¡¢Ë÷Òý¡¢Êý¾Ý¿âÒÔ¼°Óû§µÄ¶¨Ò壿<br />
+<a href="#4.8">4.8</a>)
+ÎҵIJéѯºÜÂý»òÕßûÓÐÀûÓÃË÷Òý¡£ÎªÊ²Ã´£¿<br />
+<a href="#4.9">4.9</a>)
+ÎÒÈçºÎ²ÅÄÜ¿´µ½²éѯÓÅ»¯Æ÷ÊÇÔõÑù´¦ÀíÎҵIJéѯµÄ£¿<br />
+<a href="#4.10">4.10</a>) R-tree Ë÷ÒýÊÇʲô£¿<br />
+<a href="#4.11">4.11</a>) Ê²Ã´ÊÇ»ùÒò²éѯÓÅ»¯£¨Genetic Query
+Optimization£©£¿<br />
+<a href="#4.12">4.12</a>)
+ÎÒÔõÑù×öÕýÔò±í´ïʽËÑË÷ºÍ´óСдÎ޹صÄÕýÔò±í´ïʽ²éÕÒ£¿ÔõÑùÀûÓÃË÷Òý½øÐдóСдÎ޹زéÕÒ£¿<br />
+
+<a href="#4.13">4.13</a>) ÔÚÒ»¸ö²éѯÀÎÒÔõÑù¼ì²âÒ»¸ö×Ö¶ÎÊÇ·ñΪ
+NULL£¿<br />
+<a href="#4.14">4.14</a>) ¸÷ÖÖ×Ö·ûÀàÐÍÖ®¼äÓÐʲô²»Í¬£¿<br />
+<a href="#4.15.1">4.15.1</a>)
+ÎÒÔõÑù´´½¨Ò»¸öÐòÁкÅ/×Ô¶¯µÝÔöµÄ×ֶΣ¿<br />
+<a href="#4.15.2">4.15.2</a>)
+ÎÒÈçºÎ»ñµÃÒ»¸ö²åÈëµÄÐòÁкŵÄÖµ£¿<br />
+<a href="#4.15.3">4.15.3</a>) Ê¹Óàcurrval() ºÍ nextval()
+»áµ¼ÖºÍÆäËûÓû§µÄÎÉÂÒÇé¿ö£¨race condition£©Âð£¿<br />
+<a href="#4.15.4">4.15.4</a>)
+Ϊʲô²»ÔÚÊÂÎñÒì³£ÖÐÖ¹ºóÖØÓÃÐòÁкÅÄØ£¿ÎªÊ²Ã´ÔÚÐòÁкÅ×ֶεÄÈ¡ÖµÖдæÔÚ¼ä¶ÏÄØ£¿<br />
+
+<a href="#4.16">4.16</a>) Ê²Ã´ÊÇ OID£¿Ê²Ã´ÊÇ TID £¿<br />
+<a href="#4.17">4.17</a>) PostgreSQL
+ʹÓõÄһЩÊõÓïµÄº¬ÒåÊÇʲô£¿<br />
+<a href="#4.18">4.18</a>) ÎªÊ²Ã´ÎÒÊÕµ½´íÎó¡°<i>ERROR: Memory
+exhausted in AllocSetAlloc()</i>¡±£¿<br />
+<a href="#4.19">4.19</a>) ÎÒÈçºÎ²ÅÄÜÖªµÀËùÔËÐеĠPostgreSQL
+µÄ°æ±¾£¿<br />
+<a href="#4.20">4.20</a>) ÎªÊ²Ã´ÎҵĴó¶ÔÏó²Ù×÷µ¼Ö´íÎó¡°<i>invalid
+large obj descriptor¡±£¨·Ç·¨µÄ´ó¶ÔÏóÃèÊö·û£©</i>£¿<br />
+<a href="#4.21">4.21</a>)
+ÎÒÈçºÎ´´½¨Ò»¸öȱʡֵÊǵ±Ç°Ê±¼äµÄ×ֶΣ¿<br />
+<a href="#4.22">4.22</a>) ÎªÊ²Ã´Ê¹Óà<tt>IN</tt>
+µÄ×Ó²éѯÕâôÂý£¿<br />
+<a href="#4.23">4.23</a>) ÈçºÎ½øÐРouter join £¨ÍâÁ¬½Ó£©£¿<br />
+<a href="#4.24">4.24</a>) ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿<br />
+<a href="#4.25">4.25</a>) ÈçºÎÈú¯Êý·µ»Ø¶àÐлò¶àÁУ¿<br />
+<a href="#4.26">4.26</a>) ÎªÊ²Ã´ÔÚ PL/PgSQL
+º¯ÊýÖв»ÄÜ¿É¿¿µØ´´½¨»òɾ³ýÁÙʱ±í£¿<br />
+<a href="#4.27">4.27</a>) ÓÐÄÄЩÊý¾Ý¸´ÖÆÑ¡Ï<br />
+<a href="#4.28">4.28</a>) ÓÐÄÄЩÊý¾Ý¼ÓÃÜÑ¡Ï
+<center>
+<h2>À©Õ¹ PostgreSQL</h2>
+</center>
+<a href="#5.1">5.1</a>) ÎÒдÁËÒ»¸öÓû§¶¨Ò庯Êý¡£µ±ÎÒÔÚ <i>psql</i>
+ÀïÔËÐÐʱ£¬ÎªÊ²Ã´»áµ¼Ö core dump£¿<br />
+<a href="#5.2">5.2</a>) ÎÒÈçºÎÄܸø PostgreSQL
+¹±Ï×һЩͦ²»´íµÄÐÂÀàÐͺͺ¯Êý£¿<br />
+<a href="#5.3">5.3</a>) ÎÒÔõÑùдһ¸ö·µ»ØÒ»Ìõ¼Ç¼µÄ C º¯Êý£¿<br />
+<a href="#5.4">5.4</a>)
+ÎÒÐÞ¸ÄÁËÒ»¸öÔ´Îļþ£¬ÎªÊ²Ã´ÖØбàÒëºóûÓп´µ½¸Ä±ä£¿<br />
+<hr />
+<center>
+<h2>³£¼ûÎÊÌâ</h2>
+</center>
+<h4><a name="1.1"></a>1.1) PostgreSQL ÊÇʲô£¿¸ÃÔõô·¢Òô£¿</h4>
+PostgreSQL ¶Á×÷ <i>Post-Gres-Q-L</i> <i>¡£</i>
+<p>PostgreSQL ÊÇÏÂÒ»´ú DBMS µÄÑо¿Ô­ÐÍ POSTGRES
+Êý¾Ý¿â¹ÜÀíϵͳµÄÔöÇ¿°æ¡£PostgreSQL ÔÚ±£³Ö POSTGRES
+µÄÇ¿´óµÄÊý¾ÝÄ£ÐͺͷḻµÄÊý¾ÝÀàÐ͵Ļù´¡ÉÏ£¬ÓÃÒ»¸öÀ©Õ¹Á˵ĠSQL
+×Ó¼¯È¡´úÁËÔ­ÏȵĠPostQuel ²éѯÓïÑÔ¡£PostgreSQL
+ÊÇ×ÔÓɵIJ¢ÇÒËùÓÐÔ´´úÂ붼¿ÉÒÔ»ñµÃ¡£</p>
+<p>PostgreSQL µÄ¿ª·¢ÓɲμӠPostgreSQL
+¿ª·¢ÓʼþÁбíµÄÒ»¸ö¿ª·¢ÈËԱС×é½øÐС£Ä¿Ç°µÄЭµ÷ÈËÊÇ Marc G. Fournier
+£¨<a href=
+"mailto:scrappy@postgreSQL.org">scrappy@postgreSQL.org</a>
+£©¡££¨¹ØÓÚÈçºÎ¼ÓÈë²Î¼û1.6½Ú£©¡£Õâ¸ö¶ÓÎéÏÖÔÚ¸ºÔð PostgreSQL
+µÄËùÓпª·¢¡£</p>
+<p>PostgreSQL 1.01 µÄ×÷ÕßÊÇ Andrew Yu ºÍ Jolly
+Chen¡£»¹ÓÐÐí¶àÆäËûÈËΪÒÆÖ²£¬²âÊÔ£¬µ÷ÊÔºÍÔöÇ¿´úÂë×öÁË´óÁ¿¹±Ïס£PostgreSQL
+µÄ×î³õÆðÔ´ Postgres£¬ÊÇÔÚ¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄ Michael Stonebraker
+½ÌÊÚµÄÖ¸µ¼Ï£¬ÓÉÐí¶àÑо¿Éú£¬±¾¿ÆÉúºÍ±à³ÌÖ°Ô±Íê³ÉµÄ¡£</p>
+<p>Õâ¸öÈí¼þ×î³õÔÚ²®¿ËÀûµÄÃû×ÖÊÇ Postgres¡£ÔÚ 1995 Ä꣬µ±Ôö¼ÓÁË SQL
+¹¦Äܺó£¬ËüµÄÃû×ָijɠPostgres95¡£ÔÚ 1996ÄêÄ©£¬²Å¸ÄÃûΪ
+PostgreSQL¡£</p>
+<h4><a name="1.2"></a>1.2) PostgreSQL µÄ°æȨÊÇʲô?</h4>
+PostgreSQL ÊÜÏÂÃæµÄ°æȨԼÊø¡£
+<p>PostgreSQL Êý¾Ý¿â¹ÜÀíϵͳ</p>
+<p>£¨PostgreSQL Data Base Management System£©</p>
+<p>²¿·Ö°æȨ£¨c£©1996-2002£¬PostgreSQL È«Çò¿ª·¢Ð¡×é<br />
+²¿·Ö°æȨ£¨c£©1994-6 ¼ÓÖÝ´óѧ¶­ÊÂ</p>
+<p>£¨Portions copyright (c) 1996-2002, PostgreSQL Global
+Development Group<br />
+ Portions Copyright (c) 1994-6 Regents of the University of
+California£©</p>
+<p>
+ÔÊÐíΪÈκÎÄ¿µÄʹÓ㬿½±´£¬Ð޸ĺͷַ¢Õâ¸öÈí¼þºÍËüµÄÎĵµ¶ø²»ÊÕÈ¡ÈκηÑÓ㬲¢ÇÒÎÞÐëÇ©ÊðÒò´Ë¶ø²úÉúµÄÖ¤Ã÷£¬Ç°ÌáÊÇÉÏÃæµÄ°æȨÉùÃ÷ºÍ±¾¶ÎÒÔ¼°ÏÂÃæÁ½¶ÎÎÄ×Ö³öÏÖÔÚËùÓп½±´ÖС£</p>
+<p>£¨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.£©</p>
+<p>
+ÔÚÈκÎÇé¿öÏ£¬¼ÓÖÝ´óѧ¶¼²»³Ðµ£ÒòʹÓôËÈí¼þ¼°ÆäÎĵµ¶øµ¼ÖµĶÔÈκε±ÊÂÈ˵ÄÖ±½ÓµÄ£¬¼ä½ÓµÄ£¬ÌØÊâµÄ£¬¸½¼ÓµÄ»òÕßÏà°é¶øÉúµÄË𻵣¬°üÀ¨ÀûÒæËðʧµÄÔðÈΣ¬¼´Ê¹¼ÓÖÝ´óѧÒѾ­½¨ÒéÁËÕâЩËðʧµÄ¿ÉÄÜÐÔʱҲÊÇÈç´Ë¡£</p>
+<p>£¨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.£©</p>
+<p>
+¼ÓÖÝ´óѧÃ÷È··ÅÆúÈκα£Ö¤£¬°üÀ¨µ«²»¾ÖÏÞÓÚijһÌض¨ÓÃ;µÄÉÌÒµºÍÀûÒæµÄÒþº¬±£Ö¤¡£ÕâÀïÌṩµÄÕâ·ÝÈí¼þÊÇ»ùÓÚ¡°µ±×÷ÊÇ¡±µÄ»ù´¡µÄ£¬Òò¶ø¼ÓÖÝ´óѧûÓÐÔðÈÎÌṩά»¤£¬Ö§³Ö£¬¸üУ¬ÔöÇ¿»òÕßÐ޸ĵķþÎñ¡£</p>
+<p>£¨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.£©<br />
+<br />
+ÉÏÃæ¾ÍÊÇ BSD
+°æȨÉùÃ÷£¬Ò»¸ö¾­µäµÄ¿ªÔ´°æȨÉùÃ÷¡£Ëü¶ÔÔ´´úÂëµÄʹÓÃδ×÷ÈκÎÏÞÖÆ¡£ÎÒÃÇϲ»¶Ëü²¢ÇÒ²»´òËã¸Ä±äËü¡£</p>
+<h4><a name="1.3"></a>1.3) PostgreSQL ÔËÐÐÔÚʲô Unix Æ½Ì¨ÉÏ£¿</h4>
+<p>Ò»°ã˵À´£¬Ò»¸öÏÖ´úµÄ UNIX ¼æÈݵÄƽ̨¶¼ÄÜÔËÐРPostgreSQL
+¡£ÔÚ°²×°Ö¸ÄÏÀïÁгöÁË·¢²¼Ê±¾­¹ýÃ÷È·²âÊÔµÄƽ̨¡£</p>
+<h4><a name="1.4"></a>1.4) ¿ÉÓõķǠUnix Æ½Ì¨ÓÐÄÄЩ£¿</h4>
+¿Í»§¶Ë
+<p>°Ñ libpq C ¿â£¬psql£¬ÆäËû½Ó¿ÚºÍ¿Í»§¶ËÓ¦ÓóÌÐò±àÒë³É¿ÉÒÔÔÚ MS
+Windows Æ½Ì¨ÉÏÔËÐÐÊÇ¿ÉÄܵġ£ÕâÖÖÇé¿öÏ£¬¿Í»§¶ËÔÚ MS Windows
+ÉÏÔËÐУ¬²¢ÇÒͨ¹ý TCP/IP ÓëÒ»¸öÔËÐÐÔÚÎÒÃÇÖ§³ÖµÄ Unix
+ƽ̨ÉϵķþÎñÆ÷½øÐÐͨѶ¡£·¢²¼°æ±¾Öаüº¬Ò»¸öÎļþ win32.mak ÓÃÓÚÉú³É
+Win32 libpq ¿âºÍ psql ¡£PostgreSQL Ò²¿ÉÒԺ͠ODBC ¿Í»§¶ËͨѶ¡£</p>
+<p>·þÎñÆ÷</p>
+<p>Êý¾Ý¿â·þÎñÆ÷ÏÖÔÚ¿ÉÒÔͨ¹ý Cygwin £¬Cygnus µÄ Unix/NT ÒÆÖ²¿âÔÚ
+Windows NT ºÍ Win2k ÉÏÔËÐС£²ÎÔÄ·¢²¼°æ±¾ÀïµÄ See
+<i>pgsql/doc/FAQ_MSWIN</i> Îļþ»ò <a href=
+"http://www.PostgreSQL.org/docs/faq-mswin.html">http://www.PostgreSQL.org/docs/faq-mswin.html</a>
+¡£</p>
+<p>ÒÆÖ²µ½ MS Win NT/2000/XP µÄ±¾»ú°æµÄ¹¤×÷ÕýÔÚ½øÐС£</p>
+<h4><a name="1.5"></a>1.5) ÎÒ´ÓÄÄÀïÄܵõ½ PostgreSQL£¿</h4>
+<p>PostgreSQL µÄÖ÷ÄäÃûFTPÕ¾µãÊÇ <a href=
+"ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</a>£¬¾µÏñÕ¾µã¿ÉÒԲο¼ÎÒÃÇÍøÕ¾µÄÖ÷Ò³¡£</p>
+<h4><a name="1.6"></a>1.6) ÎÒ´ÓÄÄÀïÄܵõ½¶Ô PostgreSQL
+µÄÖ§³Ö£¿</h4>
+<p>Ö÷ÒªµÄÓʼþÁбíÊÇ£º<a href=
+"mailto:pgsql-general@postgreSQL.org">pgsql-general@postgreSQL.org</a>¡£¿ÉÒÔÔÚÄÇÀïÌÖÂÛÓйØ
+PostgreSQL µÄÎÊÌâ¡£Òª¼ÓÈëÁÐ±í£¬·¢Ò»·âÓʼþÄÚÈÝ£¨²»ÊÇÖ÷ÌâÐУ©Îª</p>
+<pre>
+        subscribe
+        end
+</pre>
+µÄÓʼþµ½ <a href=
+"mailto:pgsql-general-request@postgreSQL.org">pgsql-general-request@postgreSQL.org</a>
+¡£
+<p>»¹¿ÉÒÔ»ñÈ¡ÕªÒªÁÐ±í¡£Òª¼ÓÈëÕâ¸öÁÐ±í£¬·¢Óʼþµ½£º<a href=
+"mailto:pgsql-general-digest-request@postgreSQL.org">pgsql-general-digest-request@postgreSQL.org</a>£¬ÆäÄÚÈÝΪ£º</p>
+<pre>
+        subscribe
+        end
+</pre>
+ÿµ±Ö÷Áбí´ïµ½´óÔ¼ 30k µÄÏûÏ¢ÄÚÈÝʱ£¬ÕªÒª¾Í·¢Ë͸øÕâ¸öÁбíµÄ³ÉÔ±¡£
+<p>»¹¿ÉÒԲμӳô³æÓʼþÁÐ±í¡£Òª¼ÓÈëÕâ¸öÁÐ±í£¬·¢ËÍÒ»¸öÓʼþµ½ <a href=
+"mailto:bugs-request@postgreSQL.org">bugs-request@postgreSQL.org</a>£¬ÄÚÈÝΪ£º</p>
+<pre>
+        subscribe
+        end
+</pre>
+»¹¿ÉÒԲμӿª·¢ÈËÔ±ÓʼþÁÐ±í¡£Òª¼ÓÈëÕâ¸öÁÐ±í£¬·¢ËÍÒ»¸öÓʼþµ½ <a href=
+"mailto:hackers-request@postgreSQL.org">hackers-request@postgreSQL.org</a>£¬ÄÚÈÝΪ£º
+<pre>
+        subscribe
+        end
+</pre>
+ÆäËûµÄ¹ØÓÚ PostgreSQL ÓʼþÁбíºÍÆäËûÐÅÏ¢¿ÉÒÔÔÚ PostgreSQL µÄ WWW
+Ö÷Ò³ÕÒµ½£º
+<blockquote><a href=
+"http://postgresql.org/">http://postgresql.org/</a></blockquote>
+ÔÚ EFNet ÀﻹÓÐÒ»¸ö IRC ÆµµÀ£¬ÆµµÀ #PostgreSQL¡£ÎÒÓàunix
+ÃüÁî<tt>irc -c '#PostgreSQL' "$USER" irc.phoenix.net</tt>
+<p>ÉÌÒµÖ§³Ö¹«Ë¾µÄÁбíÔÚ <a href=
+"http://www.PostgreSQL.org/users-lounge/commercial-support.html">http://www.PostgreSQL.org/users-lounge/commercial-support.html</a>
+¡£</p>
+<h4><a name="1.7"></a>1.7) PostgreSQL ×îеİ汾ÊÇʲô£¿</h4>
+PostgreSQL ×îеİ汾ÊÇ°æ±¾ 7.2.3¡££¨Òë×¢£ºÏÖÔÚÓ¦¸ÃÊÇ 7.3.1 ÁË¡££©
+<p>ÎÒÃǼƻ®Ã¿ËĸöÔ·¢²¼Ò»¸öÖ÷Òª°æ±¾¡£</p>
+<h4><a name="1.8"></a>1.8) ÓÐÄÄЩ¿ÉÓõĠPostgreSQL µÄÎĵµ£¿</h4>
+ÔÚ·¢²¼°üÀïÓÐһЩÊֲᣬÊÖ²áÒ³ºÍһЩСµÄ²âÊÔÀý×Ó¡£²Î¼û /doc
+Ŀ¼¡££¨Òë×¢£ºÓ¦Îª $PGHOME/doc£©¡£Ä㻹¿ÉÒÔÔÚÏßä¯ÀÀ PostgreSQL
+µÄÊֲᣬÔÚ <a href=
+"http://www.PostgreSQL.org/users-lounge/docs/">http://www.PostgreSQL.org/users-lounge/docs/</a>
+¡£
+<p>ÓÐÁ½±¾¹ØÓÚ PostgreSQL µÄÊéÔÚÏßÌṩ£¬ÔÚ <a href=
+"http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</a>
+ºÍ <a href=
+"http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a>
+¡£ÔÚ <a href=
+"http://www.ca.PostgreSQL.org/books/">http://www.ca.PostgreSQL.org/books/</a>
+ÉÏÓйØÓÚ PostgreSQL µÄ¿É¹ºÊé¼®µÄÁÐ±í¡£ÔÚ <a href=
+"http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</a>
+ÉÏÊÕ¼¯ÁËÓйؠPostgreSQL µÄ¼¼ÊõÎÄÕ¡£</p>
+<p><i>psql</i> ÓÐһЩ²»´íµÄ \d
+ÃüÁÏÔʾ¹ØÓÚÀàÐÍ£¬²Ù×÷·û£¬º¯Êý£¬¾Û¼¯µÈµÄÐÅÏ¢¡£</p>
+<p>ÎÒÃǵĠweb Õ¾µã°üº¬¸ü¶àµÄÎĵµ£®</p>
+<h4><a name="1.9"></a>1.9) ÎÒÈçºÎÁ˽âÒÑÖªµÄ BUG ºÍȱʧµÄÌØÐÔ£¿</h4>
+PostgreSQL Ö§³ÖÒ»¸öÀ©Õ¹Á˵ĠSQL-92 µÄ×Ó¼¯¡£²ÎÔÄÎÒÃǵĠ<a href=
+"http://www.postgresql.org/docs/todo.html">TODO</a> <a href=
+"http://www.postgresql.org/docs/todo.html"></a>ÁÐ±í£¬»ñÈ¡Ò»¸öÒÑÖª³ô³æ£¬È±Ê§ÌØÐÔºÍδÀ´¼Æ»®¡£
+<h4><a name="1.10"></a>1.10) ÎÒÓ¦¸ÃÔõÑùѧϰ SQL£¿</h4>
+ÔÚ <a href=
+"http://www.postgresql.org/docs/awbook.html">http://www.postgresql.org/docs/awbook.html</a>
+µÄ¹ØÓÚ PostgreSQL µÄÊé½ÌÊÚ SQL¡££¨Òë×¢£ºÎÒÏÂÔص½±¾µØÁË¡££©ÔÚ
+<a href=
+"http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook</a>
+ÓÐÁíÍâÒ»±¾¹ØÓÚ PostgreSQL µÄÊé¡£ÔÚ<a href=
+"http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm</a>£¬<a href="http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM">http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM
+</a> ºÍ <a href="http://sqlcourse.com/">http://sqlcourse.com</a>
+ÓÐÒ»¸ö²»´íµÄÈëÃŽ̡̳£
+<p>ÁíÒ»¸öÊÇ "Teach Yourself SQL in 21 Days, Second
+Edition"£¨21Ììѧ»áSQL£¬µÚ¶þ°æ£©£¬ÔÚ <a href=
+"http://members.tripod.com/er4ebus/sql/index.htm">http://members.tripod.com/er4ebus/sql/index.htm</a></p>
+<p>ÎÒÃǵÄÐí¶àÓû§Ï²»¶ <i>The Practical SQL Handbook, Bowman, Judith
+S., et al., Addison-Wesley ¡£</i> ÆäËûµÄÓР<i>The Complete
+Reference SQL, Groff et al., McGraw-Hill ¡£</i></p>
+<h4><a name="1.11"></a>1.11) PostgreSQL ÊÇ Y2K ¼æÈݵÄÂð£¿</h4>
+ÊÇ£¬ÎÒÃǺÜÈÝÒ׿ØÖÆ 2000 AD Ö®ºóºÍ 2000 BC Ö®Ç°µÄÈÕÆÚ¡£
+<h4><a name="1.12"></a>1.12) ÎÒÓ¦¸ÃÔõÑù¼ÓÈ뿪·¢¶ÓÎ飿</h4>
+Ê×ÏÈ£¬ÏÂÔØ×îеÄÔ´´úÂë²¢ÔĶÁÎÒÃÇ web Õ¾µã»ò·¢²¼°üÖеĠPostgreSQL
+¿ª·¢ÕßÎĵµ¡£Æä´Î£¬¼ÓÈë pgsql-hackers ºÍ pgsql-patches
+ÓʼþÁÐ±í¡£µÚÈý£¬Ïò pgsql-patches Ìá½»¸ßÖÊÁ¿µÄ²¹¶¡³ÌÐò¡£
+<p>ÏÖÔÚ´ó¸ÅÓÐÊ®¼¸¸öÈËÓРPostgreSQL CVS ¹éµµ <font size=
+"-1">COMMIT</font>
+µÄȨÏÞ¡£ËûÃǶ¼ÒѾ­Ìá½»Á˷dz£¶à¸ßÖÊÁ¿µÄ²¹¶¡ÁË£¬ÒÔÖÁÓÚÏÖÓеÄÌá½»È˺ÜÄѸúÉϽÚ×࣬²¢ÇÒÎÒÃÇÏàÐÅËûÃÇÌá½»µÄ²¹¶¡¶¼ÊǸßÖÊÁ¿µÄ¡£</p>
+<h4><a name="1.13"></a>1.13) ÎÒÓ¦¸ÃÔõÑùÌá½»Ò»¸öBUG±¨¸æ£¿</h4>
+Çë·ÃÎÊ <a href=
+"http://www.PostgreSQL.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</a>
+µÄ PostgreSQL BugTool Ò³Ãæ, ÄÇÀï¸ø³öÁËÈçºÎÌá½»Ò»¸öBUG±¨¸æµÄÖ¸ÄÏ¡£
+<p>ͬÑùÒ²Òª¿´¿´ÎÒÃǵĠftp Õ¾µã <a href=
+"ftp://ftp.postgresql.org/pub">ftp://ftp.postgreSQL.org/pub</a>£¬¿´ÓÐûÓиüеÄ
+PostgreSQL °æ±¾»ò²¹¶¡¡£</p>
+<h4><a name="1.14"></a>1.14) PostgreSQL ºÍÆäËû DBMS
+±ÈÆðÀ´ÈçºÎ£¿</h4>
+ÆÀ¼ÛÈí¼þÓкü¸ÖÖ·½·¨£ºÌØÐÔ£¬ÐÔÄÜ£¬¿É¿¿ÐÔ£¬Ö§³ÖºÍ¼Û¸ñ¡£
+<dl>
+<dt><b>ÌØÐÔ</b></dt>
+<dd>PostgreSQL ÓµÓдóÐÍÉÌÓàDBMS
+Àï´ó¶àÊýÌØÐÔ£¬ÀýÈ磺ÊÂÎñ£¬×Ó²éѯ£¬´¥·¢Æ÷£¬ÊÓͼ£¬Íâ¼ü²Î¿¼ÍêÕûÐԺ͸´ÔÓµÄËøµÈ¡£ÎÒÃÇ»¹ÓÐһЩËüÃÇûÓеÄÌØÐÔ£¬ÈçÓû§¶¨ÒåÀàÐÍ£¬¼Ì³Ð£¬¹æÔòºÍ¶à°æ±¾²¢ÐпØÖÆÒÔ¼õÉÙËøµÄÕùÓõȡ£<br />
+
+ </dd>
+<dt><b>ÐÔÄÜ</b></dt>
+<dd>PostgreSQL
+ºÍÆäËûÉÌÓúͿªÔ´µÄÊý¾Ý¿â¾ßÓÐÀàËƵÄÐÔÄÜ¡£¶ÔijЩ´¦ÀíËü±È½Ï¿ì£¬¶ÔÆäËûһЩ´¦ÀíËü±È½ÏÂý¡£Óë
+MySQL »ò¸üÇá±ãµÄÊý¾Ý¿âϵͳ±È½Ï£¬ÎÒÃÇÔÚ insert/update
+ʱÂý£¬ÒòΪÎÒÃÇÓÐÊÂÎñ´¦Àí¡£µ±È» MySQL ²»¾ßÓÐÎÒÃÇÔÚÉÏÃæµÄ<i>ÌØÐÔ</i>
+¶ÎÀï¸ø³öµÄÈκÎÌØÐÔ¡£ÎÒÃǵÄÖ÷Òª·½ÏòÊÇ¿É¿¿ÐÔºÍÌØÐÔ£¬¾¡¹ÜÎÒÃÇÔÚÿ´Î·¢²¼Ê±²»¶ÏµØ¸Ä½øÐÔÄÜ¡£ÓÐÒ»¸öºÜÓÐȤµÄÍøÒ³±È½ÏÁË
+PostgreSQL ºÍ MySQL <a href=
+"http://openacs.org/why-not-mysql.html">http://openacs.org/why-not-mysql.html</a>¡£<br />
+</dd>
+<dt><b>¿É¿¿ÐÔ</b></dt>
+<dd>ÎÒÃÇÖªµÀ DBMS
+±ØÐëÊÇ¿É¿¿µÄ£¬·ñÔòËü¾ÍÒ»µãÓö¼Ã»ÓС£ÎÒÃÇŬÁ¦×öµ½·¢²¼¾­¹ýÈÏÕæ²âÊԵģ¬Îȶ¨µÄ³ô³æ×îÉٵĴúÂ롣ÿ¸ö°æ±¾ÖÁÉÙÓÐÒ»¸öÔµÄ
+beta
+²âÊÔ£¬²¢ÇÒÎÒÃǵķ¢²¼ÀúÊ·ÏÔʾÎÒÃÇ¿ÉÒÔÌṩÎȶ¨µÄ£¬Àι̵ģ¬¿ÉÓÃÓÚÉú²úʹÓõİ汾¡£ÎÒÃÇÏàÐÅÔÚÕâ·½ÃæÎÒÃÇÓëÆäËûµÄÊý¾Ý¿âÈí¼þÊÇÏ൱µÄ¡£<br />
+
+ </dd>
+<dt><b>Ö§³Ö</b></dt>
+<dd>
+ÎÒÃǵÄÓʼþÁбíÌṩһ¸ö·Ç³£´óµÄ¿ª·¢ÈËÔ±ºÍÓû§µÄ×éÒÔ°ïÖú½â¾öËùÅöµ½µÄÈκÎÎÊÌâ¡£ÎÒÃDz»Äܱ£Ö¤¿Ï¶¨Äܽâ¾öÎÊÌ⣬Ïà±È֮ϣ¬ÉÌÓÃ
+DBMS
+Ò²²¢²»ÊÇ×ÜÄܹ»Ìṩ½â¾ö·½·¨¡£Ö±½ÓÓ뿪·¢ÈËÔ±£¬Óû§Èº£¬ÊÖ²áºÍÔ´³ÌÐò½Ó´¥Áî
+PostgreSQL µÄÖ§³Ö±ÈÆäËû DBMS
+»¹ÒªºÃ¡£»¹ÓÐһЩÉÌÒµÐÔµÄÔ¤°ü×°µÄÖ§³Ö£¬¿ÉÒÔ¸øÌṩ¸øÄÇЩÐèÒªµÄÈË¡££¨²ÎÔÄÖ§³Ö
+FAQ Ìõ¿î 1.6 Ð¡½Ú¡££©<br />
+ </dd>
+<dt><b>¼Û¸ñ</b></dt>
+<dd>
+ÎÒÃǶÔÈκÎÓÃ;¶¼Ãâ·Ñ£¬°üÀ¨ÉÌÓúͷÇÉÌÓÃÄ¿µÄ¡£Äã¿ÉÒÔ²»¼ÓÏÞÖƵØÏòÄãµÄ²úÆ·Àï¼ÓÈëÎÒÃǵĴúÂ룬³ýÁËÄÇЩÎÒÃÇÔÚÉÏÃæµÄ°æȨÉùÃ÷ÀïÉùÃ÷µÄ
+BSD ·ç¸ñµÄ°æȨÍâ¡£</dd>
+</dl>
+<h4><a name="1.15"></a>1.15) ÎÒÓ¦¸ÃÔõÑùÔÞÖú PostgreSQL £¿</h4>
+<p>×Ô´Ó1996Ä꿪ʼ£¬PostgreSQL
+ÒѾ­ÓÐÁËÒ»¸öÓÅÐãµÄ×éÖ¯¡£ÕâЩӦ¸Ã¹é¹¦ÓÚ Marc
+Fournier£¬ÊÇËû´´½¨Á˲¢ÔÚÕâЩÄêÒ»Ö±¹ÜÀíÕâ¸ö×éÖ¯¡£</p>
+<p>
+¶ÔÓÚÒ»¸ö¿ªÔ´ÏîÄ¿À´Ëµ£¬ÖÊÁ¿»ù´¡ÉèÊ©ÊǷdz£ÖØÒªµÄ¡£ËüÄÜ·ÀÖ¹³öÏÖÑÏÖØÑÓ³ÙÏîÄ¿Ç°½øµÄ»ìÂÒ¡£</p>
+<p>
+ÏÔÈ»£¬Õâ¸ö×éÖ¯µÄÔËת³É±¾²»·Æ¡£Î¬³ÖÆäÇ°½øÓи÷ÖÖÔ¶ȵġ¢Ò»´ÎÐԵĿªÖ§¡£Èç¹ûÄã»òÕßÄãµÄ¹«Ë¾ÄܽøÐоèÔùÒÔÖ§³ÖÕâÏîÊÂÒµ£¬Çë·ÃÎÊ
+<a href=
+"http://store.pgsql.com/shopping/">http://store.pgsql.com/shopping/</a>
+½øÐоèÔù¡£</p>
+<p>ËäÈ»¸ÃÍøÒ³Ìá¼°ÁË PostgreSQL ¹«Ë¾£¬ÕâЩ¾èÔù½«½öÓÃÓÚÖ§³Ö
+PostgreSQL
+ÏîÄ¿£¬²¢²»»áÓÃÓÚ×ÊÖúû¸öÌض¨µÄ¹«Ë¾¡£Èç¹ûÄãÔ¸Ò⣬Ҳ¿ÉÒÔÓʼÄ֧Ʊµ½ÁªÏµµØÖ·¡£</p>
+<hr />
+<center>
+<h2>Óû§¿Í»§¶ËÎÊÌâ</h2>
+</center>
+<h4><a name="2.1"></a>2.1) ÓРPostgreSQL µÄ ODBC Çý¶¯Ã´£¿</h4>
+ÓÐÁ½¸ö ODBC Çý¶¯¿ÉÒÔ»ñµÃ£¬PsqlODBC ºÍ OpenLink ODBC.
+<p>¿ÉÒÔÔÚ<a href=
+"http://gborg.postgresql.org/project/psqlodbc/projdisplay.php">http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</a>
+ÏÂÔØ PsqlODBC ¡£</p>
+<p>OpenLink ODBC ¿ÉÒÔ´Ó <a href=
+"http://www.openlinksw.com/">http://www.openlinksw.com/</a>
+»ñµÃ¡£ËüÓëËûÃǵıê×¼ ODBC
+¿Í»§¶ËÈí¼þ¼æÈÝ£¬Òò¶øÄã¿ÉÒÔÔÚÈκÎËûÃÇÖ§³ÖµÄ¿Í»§¶Ëƽ̨£¨Win, Mac,
+Unix, VMS£©ÉÏʹÓàPostgreSQL ODBC¡£</p>
+<p>ËûÃÇ¿ÉÄܽ«Õâ¸ö²úÆ·ÏúÊÛ¸øÄÇЩÐèÒªÉÌÒµÖ§³ÖµÄÓû§£¬µ«ÊÇ×ÜÊÇÓÐÒ»¸ö
+freeware £¨×ÔÓÉÈí¼þ£©µÄ°æ±¾¿ÉÒԵõ½¡£ÇëѯÎÊ <a href=
+"mailto:postgres95@openlink.co.uk">postgres95@openlink.co.uk</a>¡£</p>
+<h4><a name="2.2"></a>2.2) ÓÐʲô¹¤¾ß¿ÉÒÔ°Ñ PostgreSQL ÓÃÓÚ Web
+Ò³Ã棿</h4>
+Ò»¸ö½éÉÜÒÔÊý¾Ý¿âΪºǫ́µÄͦ²»´íµÄ Õ¾µãÊÇ£º<a href=
+"http://www.webreview.com">http://www.webreview.com</a> ¡£
+<p>¶ÔÓÚ Web ¼¯³É£¬PHP ÊÇÒ»¸ö¼«ºÃµÄ½Ó¿Ú¡£ËüÔÚ£º<a href=
+"http://www.php.net/">http://www.php.net/</a> ¡£</p>
+<p>¶ÔÓÚ¸´ÔÓµÄÈÎÎñ£¬ºÜ¶àÈ˲ÉÓàPerl ½Ó¿ÚºÍ CGI.pm »ò mod_perl ¡£</p>
+<h4><a name="2.3"></a>2.3) PostgreSQL ÓµÓÐͼÐÎÓû§½çÃæÂð£¿</h4>
+Êǵġ£Óм¸¸öÊÊÓÃÓÚ PostgreSQL µÄͼÐνӿڡ£°üÀ¨PgAccess£¨<a href=
+"http://www.pgaccess.com">http://www.pgaccess.com</a>)£¬PgAdmin II
+£¨<a href=
+"http://www.pgadmin.org">http://www.pgadmin.org</a>£¬½öÊÊÓÃÓÚWin32£©£¬
+RHDB Admin (<a href=
+"http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</a>£©
+ÒÔ¼° Rekall £¨<a href=
+"http://www.thekompany.com/products/rekall/">http://www.thekompany.com/products/rekall/</a>£¬
+רÓеÄ/proprietary)¡£»¹ÓÐPHPPgAdmin £¨<a href=
+"http://phppgadmin.sourceforge.net/">http://phppgadmin.sourceforge.net/£©</a>
+£¬Ò»¸ö»ùÓÚ web µÄ PostgreSQL ·ÃÎʽӿڡ£
+<p>ÎÒÃÇÓÐÒ»¸ö²»´íµÄͼÐÎÓû§½çÃ棬³ÆΪ PgAccess
+£¬ËüÒ²¿ÉÒÔÓÃ×÷±¨±íÉú³ÉÆ÷¡£ÍøÒ³ÊÇ <a href=
+"http://www.pgaccess.org/">http://www.pgaccess.org/</a>¡£</p>
+<h4><a name="2.4"></a>2.4) ÎÒÃÇ¿ÉÒÔÓÃʲôÓïÑԺ͠PostgreSQL
+´ò½»µÀ£¿</h4>
+<p>´ó¶àÊýÁ÷Ðеıà³ÌÓïÑÔ¶¼ÓзÃÎÊ PostgreSQL
+µÄ½Ó¿Ú¡£Çë¼ì²é±à³ÌÓïÑÔµÄÀ©Õ¹Ä£¿éÁÐ±í¡£</p>
+<p>PostgreSQL ·¢²¼°üÖаüº¬ÁËÒÔϽӿڣº</p>
+<ul>
+<li>C (libpq)</li>
+<li>Embedded C (ecpg)</li>
+<li>Java (jdbc)</li>
+<li>Python (PyGreSQL)</li>
+<li>TCL (libpgtcl)</li>
+</ul>
+<p>ÆäËûµÄ½Ó¿ÚÔÚ <a href=
+"http://gborg.postgresql.org">http://gborg.postgresql.org</a>ʃ쵀
+<i>Drivers/Interfaces</i> Ð¡½Ú¡£</p>
+<hr />
+<center>
+<h2>ϵͳ¹ÜÀíÎÊÌâ</h2>
+</center>
+<h4><a name="3.1"></a>3.1) ÎÒÔõÑùÄÜ°Ñ PostgreSQL ×°ÔÚ
+/usr/local/pgsql ÒÔÍâµÄµØ·½£¿</h4>
+<p>ÔÚÔËÐРconfigure Ê±¼ÓÉÏ --prefix Ñ¡Ïî¡£</p>
+<h4><a name="3.2"></a>3.2) µ±ÎÒÔËÐРpostmaster Ê±£¬³öÏÖ <i>Bad
+System Call</i>£¨ÏµÍ³µ÷ÓÃ´í£©»ò Core Dumped ´íÎó¡£ÎªÊ²Ã´£¿</h4>
+<p>Õâ¿ÉÄÜÊǺܶ෽ÃæµÄÎÊÌ⣬ÇëÏȼì²é²Ù×÷ϵͳºËÐÄÊÇ·ñÖ§³Ö System V
+À©Õ¹¡£PostgreSQL ÐèÒªÄÚºËÖ§³Ö¹²ÏíÄÚ´æºÍÐźŵơ£</p>
+<h4><a name="3.3"></a>3.3) µ±ÎÒÊÔͼÔËÐРpostmaster Ê±£¬³öÏÖ
+<i>IpcMemoryCreate</i> ´íÎó¡£ÎªÊ²Ã´£¿</h4>
+ÄãҪôÊÇûÓÐÔÚÄÚºËÀïÕýÈ·ÅäÖù²ÏíÄڴ棬ҪôÊÇÄãÐèÒªÀ©´óÄãµÄÄں˵ĿÉÓù²ÏíÄÚ´æ¡£ÐèÒªµÄ¹²ÏíÄÚ´æ¾ßÌåµÄÊýÁ¿È¡¾öÓÚÄãµÄÌåϵ½á¹¹ºÍÄãÅäÖÃÄãµÄ
+postmaster
+ÔËÐÐʱʹÓõĻº³åÇøºÍºó¶Ë½ø³ÌÊýÄ¿¡£¶Ô´ó¶àÊýϵͳ£¬Ê¹ÓÃȱʡ»º³åÇøºÍ½ø³ÌÊýĿʱ£¬Äã×îÉÙÐèÒª~1MB¡£Óйع²ÏíÄÚ´æºÍÐźŵƵÄÏêϸÐÅÏ¢Çë²Î¿¼
+<a href=
+"http://www.postgresql.org/idocs/index.php?kernel-resources.html">PostgreSQL
+Administrator's Guide</a> ¡£
+<h4><a name="3.4"></a>3.4) µ±ÎÒÊÔͼÔËÐРpostmaster Ê±£¬³öÏÖ
+<i>IpcSemaphoreCreate</i> ´íÎó¡£ÎªÊ²Ã´£¿</h4>
+<p>Èç¹û´íÎóÐÅÏ¢ÊÇ <i>IpcSemaphoreCreate: semget failed (No space
+left on
+device)</i>£¬ÄÇôԭÒòÊÇÄãµÄÄÚºËûÓÐÅäÖÃ×ã¹»µÄÐźŵÆ×ÊÔ´¡£Postgres
+µÄÿ¸öDZÔڵĺǫ́½ø³Ì¶¼ÐèÒªÒ»¸öÐźŵơ£Ò»¸öÁÙʱµÄ½â¾ö·½·¨ÊÇÒԱȽÏÉٵĺǫ́½ø³ÌÊý£¨²ÎÊý£©Æô¶¯
+postmaster¡£Ê¹Óÿª¹Ø <i>-N</i> ´øÒ»¸öÉÙÓÚȱʡֵ 32 µÄ²ÎÊýÔËÐÐ
+postmaster¡£¸ü³¤¾ÃµÄ½â¾ö·½·¨ÊǼӴóÄãµÄÄں˵Ġ<font size=
+"-1">SEMMNS</font> ºÍ <font size="-1">SEMMNI</font> ²ÎÊý¡£</p>
+<p>ÔÚÊý¾Ý¿â·ÃÎÊÁ¿ºÜ´óʱ£¬ÐźŵƲ»¿ÉÓÿÉÄܵ¼ÖÂϵͳ±ÀÀ£¡£</p>
+<p>
+Èç¹û´íÎóÐÅÏ¢ÊÇÆäËûµÄʲô¶«Î÷£¬Äã¿ÉÄܾ͸ù±¾Ã»ÓÐÔÚÄÚºËÀïÃæÅäÖÃÐźŵÆÖ§³Ö¡£Óйع²ÏíÄÚ´æºÍÐźŵƵÄÏêϸÐÅÏ¢Çë²Î¿¼
+<a href=
+"http://www.postgresql.org/idocs/index.php?kernel-resources.html">PostgreSQL
+Administrator's Guide</a> ¡£</p>
+<h4><a name="3.5"></a>3.5) ÎÒÈçºÎ¿ØÖÆÀ´×ÔÆäËûÖ÷»úµÄÁ¬½Ó£¿</h4>
+<p>ȱʡʱ£¬PostgreSQL Ö»ÔÊÐíͨ¹ý unix
+ÓòÌ×½Ó×ÖÀ´×Ô±¾»úµÄÁ¬½Ó¡£³ý·ÇÄãʹÓà<i>-i</i> ¿ª¹ØÆô¶¯
+<i>postmaster</i>£¬<b>²¢ÇÒ</b>ͨ¹ý¶ÔÓ¦µÄ±à¼­
+<i>$PGDATA/pg_hba.conf</i> Îļþ´ò¿ªÁËÖ÷»úΪ»ù´¡£¨ host-based
+£©µÄÈÏÖ¤£¬·ñÔòÆäËû»úÆ÷ÊDz»ÄÜÓëÄãµÄ»úÆ÷Á¬½ÓµÄ¡£ÕâÑù½«ÔÊÐí TCP/IP
+Á¬½Ó¡£</p>
+<h4><a name="3.6"></a>3.6)
+ÎÒÔõÑùµ÷ÕûÊý¾Ý¿âÒýÇæÒÔ»ñµÃ¸üºÃµÄÐÔÄÜ£¿</h4>
+<p>µ±È»£¬Ë÷Òý¿ÉÒÔ¼ÓËÙ²éѯ¡£<font size="-1">EXPLAIN</font>
+ÃüÁîÔÊÐíÄã¹Û²ì PostgreSQL
+ÈçºÎ½âÊÍÄãµÄ²éѯ£¬ÒÔ¼°Ê¹ÓÃÁËÄÄЩË÷Òý¡£</p>
+<p>Èç¹ûÄãÕý´¦ÀíÒ»¶Ñ <font size="-1">INSERT</font>£¬¿¼ÂÇʹÓÃ
+<font size="-1">COPY</font>
+ÃüÁîÒÔ´óÅúÁ¿µÄ·½Ê½½øÐС£ÕâÑù×ö±Èµ¥¶ÀµÄÒ»¸ö¸ö <font size=
+"-1">INSERT</font> ¿ìµÃ¶à¡£Æä´Î£¬Ã»Óд¦ÓÚ <font size="-1">BEGIN
+WORK/COMMIT</font>
+ÊÂÎñ¿éÖ®¼äµÄÓï¾ä±»ÈÏΪÊôÓÚͬһ¸öÊÂÎñ¡£ÊÔ×ÅÔÚÒ»¸öÊÂÎñ¿éÀïÃæ´¦Àí¸ü¶àµÄÓï¾ä¡£ÕâÑù¿ÉÒÔ¼õÉÙÊÂÎñ´øÀ´µÄ¶îÍ⿪Ïú¡£Í¬Ñù£¬ÔÚ×ö´óÁ¿µÄÊý¾Ý¸Ä±äʱ¿¼ÂÇɾ³ýºÍÖؽ¨Ë÷Òý¡£</p>
+<p>»¹Óм¸¸öµ÷½ÚµÄÑ¡Ïî¿ÉÒÔʹÓá£Äã¿ÉÒÔͨ¹ý´ø <i>-o -F</i> Ñ¡ÏîÆô¶¯
+postmaster À´½ûÖ¹ fsync()¡£ÕâÑù½«±ÜÃâÿ´ÎÊÂÎñºóµ÷Óà<i>fsync()</i>
+°ÑÊý¾Ýˢе½´ÅÅÌÉÏ¡£</p>
+<p>Ä㻹¿ÉÒÔʹÓàpostmaster -B
+Ñ¡ÏîÔö¼Óºó¶Ë½ø³ÌʹÓõĹ²ÏíÄڴ滺³åµÄÊýÄ¿¡£Èç¹ûÄã°ÑÕâ¸ö²ÎÊýÉèÖõÃÌ«´ó£¬postmaster
+¿ÉÄÜÎÞ·¨Æô¶¯£¬ÒòΪÄãÒѾ­³¬¹ýÁËÄãµÄÄÚºËÔÚ¹²ÏíÄÚ´æ¿Õ¼äÉϵÄÏÞÖÆ¡£Ã¿¸ö»º³åÇøÊÇ
+8K ²¢ÇÒȱʡ 64 ¸ö»º³åÇø¡£</p>
+<p>Ä㻹¿ÉÒÔʹÓúǫ́½ø³ÌµÄ -S
+Ñ¡ÏîÀ´Ôö¼Óÿ¸öºǫ́½ø³ÌÓÃÓÚÁÙʱÅÅÐòÓõÄ×î´óÄÚ´æÊýÁ¿¡£-S
+ÖµÊÇÒÔK×ֽڼƵģ¬È±Ê¡ÊÇ 512 £¨Ò²¾ÍÊÇ˵£¬512K£©¡£</p>
+<p>Ä㻹¿ÉÒÔʹÓà<font size="-1">CLUSTER</font>
+ÃüÁîÀ´°Ñ±íÀïµÄÊý¾Ý°´ÕÕij¸öË÷Òý½øÐоۼ¯´æ·Å¡£²ÎÔÄ CLUSTER
+µÄÊÖ²áÒ³»ñÈ¡¸ü¶àϸ½Ú¡£</p>
+<h4><a name="3.7"></a>3.7) PostgreSQL
+Àï¿ÉÒÔ»ñµÃʲôÑùµÄµ÷ÊÔÌØÐÔ£¿</h4>
+<p>PostgreSQL
+Óм¸¸öÌØÐÔÓÃÓÚ±¨¸æ״̬ÐÅÏ¢£¬ÕâЩÐÅÏ¢¿ÉÄܶԵ÷ÊÔÓÃ;ºÜÓаïÖú¡£</p>
+<p>Ê×ÏÈ£¬Í¨¹ý¸½´ø --enable-cassert Ñ¡ÏîÔËÐРconfigure£¬Óкܶà
+<i>assert()</i>
+¼à¿Øºǫ́½ø³ÌºÍÔÚ·¢ÉúijЩδÔøÔ¤ÁϵÄÏÖÏóʱֹͣ³ÌÐòÔËÐС£</p>
+<p>postmaster ºÍ postgres ¶¼ÓÐһЩ¿ÉÓõÄÑ¡Ïî¡£Ê×ÏÈ£¬µ±ÄãÆô¶¯
+postmaster
+ʱ£¬È·±£Äã°Ñ±ê×¼Êä³öºÍ±ê×¼´íÎóÊä³ö¶¨Ïòµ½ÁËÒ»¸öÈÕÖ¾ÎļþÀïÈ¥ÁË£¬Ïó£º</p>
+<pre>
+        cd /usr/local/pgsql
+        ./bin/postmaster &gt;server.log 2&gt;&amp;1 &amp;
+</pre>
+ÕâÑù½«ÔÚ PostgreSQL ¶¥¼¶Ä¿Â¼ÏÂÊä³öÒ»¸ö server.log
+Îļþ¡£Õâ¸öÎļþ°üº¬·þÎñÆ÷Åöµ½µÄÎÊÌâºÍ´íÎóµÄÓÐÓÃÐÅÏ¢¡£postmaster
+ÓÐÒ»¸ö -d Ñ¡Ï¸ÃÑ¡ÏîÔÊÐíÎÒÃÇ»ñµÃ¸ü¶àµÄϸ½Ú»ã±¨¡£-d
+Ñ¡Ïî½ÓÊÜÒ»¸öÊý×Ö±êÃ÷µ÷ÊÔ¼¶±ð¡£ÐèÒª¾¯¸æµÄÊǸߵĵ÷ÊÔ¼¶±ð¿ÉÄÜ»áÉú³É¾Þ´óµÄÈÕÖ¾Îļþ¡£
+<p>Èç¹û postmaster Ã»ÓÐÔËÐУ¬Äã¿ÉÒÔÖ±½ÓÔÚÃüÁîÐÐÉÏÆô¶¯ postgres
+ºǫ́½ø³Ì£¬È»ºóÖ±½Ó¼üÈë SQL Óï¾ä¡£ÎÒÃÇ<b>Ö»</b>
+ÍƼöÔÚµ÷ÊÔµÄʱºòÕâô¸É¡£Çë×¢ÒâÕâʱÓû»ÐÐÜÞ¶ø²»ÊǷֺűíʾÓï¾ä½áβ¡£Èç¹ûÄã´ø×ŵ÷ÊÔ·ûºÅ±àÒ룬Äã¿ÉÒÔʹÓÃÒ»¸öµ÷ÊÔÆ÷¹Û¿´·¢ÉúÁËʲôÊÂÇé¡£ÒòΪºǫ́½ø³ÌûÓÐÓÉ
+postmaster
+Æô¶¯µÄ£¬Ëü²»ÊǺÍʵ¼ÊµÄÔËÐл·¾³Ò»Ö£¬¶øÇÒËø¶¨/ºǫ́½»»¥ÎÊÌâ¿ÉÄܲ»ÄÜÖØÏÖ¡£</p>
+<p>Èç¹û postmaster ÒѾ­ÔËÐУ¬¿ÉÔÚÒ»¸ö´°¿ÚÖÐÆô¶¯
+<i>psql</i>£¬È»ºóÕÒ³ö <i>psql</i> ¶ÔÓ¦µÄ <i>postgres</i> ½ø³ÌµÄ
+<font size="-1">PID</font>¡£Ê¹ÓÃÒ»¸öµ÷ÊÔÆ÷¸½×ÅÔÚÕâ¸ö
+<i>postgres</i> <font size="-1">PID</font>
+ÉÏ¡£Äã¿ÉÒÔÔÚµ÷ÊÔÆ÷ÀïÉèÖöϵ㲢ÇÒ´Ó <i>psql</i>
+ÀïÖ´Ðвéѯ¡£Èç¹ûÄãÔÚµ÷ÊÔ <i>postgres</i> µÄÆô¶¯£¬Äã¿ÉÒÔÉèÖÃ
+PGOPTIONS="-W n"£¬È»ºóÆô¶¯ <i>psql</i>¡£ÕâÑù½«µ¼ÖÂÆô¶¯ÑÓ³Ù <i>n</i>
+Ã룬ÕâÑùÄã¾Í¿ÉÒÔ¸½¼ÓÒ»¸öµ÷ÊÔÆ÷²¢ÇÒ¸ú×ÙÆô¶¯Ë³ÐòµÄ¹ý³Ì¡£</p>
+<p>postgres ³ÌÐòÓР-s£¬-A£¬ºÍ -t
+Ñ¡Ïî¿ÉÄÜÔÚµ÷ÊÔºÍÐÔÄܲâÁ¿µÄʱºò·Ç³£ÓÐÓá£</p>
+<p>Ä㻹¿ÉÒÔ´ø profiling
+Ö§³Ö±àÒëºǫ́£¬ÒÔ±ã¹Û²ìÄÄЩº¯ÊýÕ¼ÓõÄÖ´ÐÐʱ¼ä½Ï¶à¡£profile
+Îļþ½«·ÅÔÚ pgsql/data/base/dbname Ä¿Â¼Ï¡£¿Í»§¶Ë profile
+Îļþ½«·ÅÔÚ¿Í»§¶Ëµ±Ç°Ä¿Â¼Ï¡£ÔÚ Linux ÏÂÖ§³Ö profiling
+ÒªÔÚ±àÒëʱ¼ÓÉÏ<i>-DLINUX_PROFILE</i> ¡£</p>
+<h4><a name="3.8"></a>3.8) ÎªÊ²Ã´ÔÚÊÔͼÁ¬½ÓµÇ¼ʱÊÕµ½¡°Sorry, too
+many clients¡±ÏûÏ¢£¿</h4>
+<p>ÄãÐèÒªÔö´ó postmaster Æô¶¯Ê±Ö§³ÖµÄ²¢·¢ºǫ́½ø³ÌÊý¡£</p>
+<p>ȱʡÏÞÖÆÊÇ 32 ½ø³Ì¡£Äã¿ÉÒÔͨ¹ý´ø×ÅÊʵ±µÄ <i>-N</i> Öµ¿ª¹ØÆô¶¯
+postmaster Ôö¼ÓÕâ¸öÊýÄ¿¡£»òÕßÐ޸Ġ<i>postgresql.conf</i> Îļþ¡£</p>
+<p>ҪעÒâÈç¹ûÄã°Ñ <i>-N</i> ÉèÖÃΪ´óÓÚ 32£¬Äã±ØÐëͬÑùÔö´ó
+<i>-B</i>£¬³¬¹ýËüȱʡµÄ 64£»-B ±ØÐë×îÉÙÊÇ -N
+µÄÁ½±¶£¬¶øÇÒΪÁ˸üºÃµÄÐÔÄÜ¿ÉÄÜÒª±ÈÄǸöÊý×ÖÒª´ó¡£¶ÔÓÚ´óÊýÄ¿µÄºó¶Ë½ø³Ì£¬Äã¿ÉÄÜ»¹»á·¢ÏÖÄ㻹ÐèÒªÔö¼ÓÐí¶à
+Unix
+ÄÚºËÅäÖòÎÊýÖµ¡£Òª¼ì²éµÄ¶«Î÷°üÀ¨¹²ÏíÄÚ´æ¿éµÄ×î´ó³ß´ç£¬<font size=
+"-1">SHMMAX</font>£¬ÐźŵƵÄ×î´óÊýÄ¿£¬<font size="-1">SEMMNS</font>
+ºÍ <font size="-1">SEMMNI</font>£¬×î´óµÄ½ø³ÌÊý£¬<font size=
+"-1">NPROC</font>£¬µ¥Óû§×î´ó½ø³ÌÊý£¬<font size=
+"-1">MAXUPRC</font>£¬ÒÔ¼°´ò¿ªÎļþµÄ×î´óÊýÄ¿£¬<font size=
+"-1">NFILE</font> ºÍ <font size="-1">NINODE</font> ¡£Postgres
+¶ÔÔÊÐíµÄºǫ́½ø³ÌÊýÓÐÏÞÖƵÄÔ­ÒòÊÇΪÁËÈ·±£ÄãµÄϵͳ²»»áÓùâ×ÊÔ´¡£</p>
+<p>ÔÚ Postgres ÔçÓÚ 6.5 µÄ°æ±¾£¬×î´óºǫ́½ø³ÌÊýȱʡÊÇ
+64£¬²¢ÇÒ¶ÔËüµÄÐÞ¸ÄÊ×ÏÈÐèÒªÐ޸Ġ<i>include/storage/sinvaladt.h</i>
+ÀïµÄ MaxBackendId ³£Á¿£¬È»ºóÖØРBUILD¡£</p>
+<h4><a name="3.9"></a>3.9) pgsql_tmp Ä¿Â¼ÀﶼÓÐЩʲô£¿</h4>
+<p>¸ÃĿ¼Ï±£´æÁ˲éѯִÐÐÆ÷Éú³ÉµÄÁÙʱÎļþ¡£ÀýÈ磬Èç¹ûÐèҪΪÂú×ã
+<font size="-1">ORDER BY</font> Ìõ¼þ×öÅÅÐò£¬²¢ÇÒÅÅÐòÐèÒª±Èºǫ́µÄ -S
+²ÎÊý¸ø³öµÄ¸ü¶àµÄ¿Õ¼ä£¬ÄÇô¾Í»á´´½¨Ò»¸öÁÙʱÎļþ±£´æ¶à³öÀ´µÄÊý¾Ý¡£</p>
+<p>
+ÁÙʱÎļþÓ¦¸Ã×Ô¶¯É¾³ý£¬²»¹ýÈç¹ûÔÚÅÅÐò¹ý³ÌÖкǫ́±ÀÀ£Á˾ͿÉÄÜÁôÏÂÀ´¡£Í£Ö¹²¢ÖØÆð
+postmaster ½«»áɾ³ýÕâЩÎļþ¡£<br /></p>
+<h4><a name="3.10"></a>3.10) ÎªÊ²Ã´ÒªÔÚÉý¼¶ PostgreSQL ·¢²¼°æ±¾Ê±×ö
+dump ºÍ restore £¿</h4>
+<p>PostgreSQL ¿ª·¢×é¶Ôÿ´ÎСµÄÉý¼¶½ö×öÁ˽ÏÉÙµÄÐÞ¸Ä,Òò´Ë´Ó 7.2
+Éý¼¶µ½ 7.2.1 ²»ÐèÒª dump ºÍ restore¡£µ«ÊÇÖ÷ÒªµÄÉý¼¶£¨ÀýÈç´Ó 7.2 µ½
+7.3£©Í¨³£»áÐÞ¸Äϵͳ±íºÍÊý¾Ý±íµÄÄÚ²¿¸ñʽ¡£ÕâЩ±ä»¯Ò»°ã±È½Ï¸´ÔÓ£¬Òò´ËÎÒÃDz»Î¬Êý¾ÝÎļþµÄÏòºó¼æÈÝ¡£dump
+½«Êý¾Ý°´ÕÕͨÓõĸñʽÊä³ö£¬Ëæºó¿ÉÒÔ±»ÖØмÓÔز¢Ê¹ÓÃеÄÄÚ²¿¸ñʽ¡£</p>
+<p>´ÅÅÌÎļþ¸ñʽûÓб仯µÄÉý¼¶£¬¿ÉÒÔÓà<i>pg_upgrade</i>
+½Å±¾£¬¶ø²»ÐèÒª×ö dump ºÍ restor¡£·¢²¼ËµÃ÷script »áÖ¸Ã÷
+<i>pg_upgrade</i> ¶Ô¸Ã´ÎÉý¼¶ÊÇ·ñ¿ÉÓá£</p>
+<hr />
+<center>
+<h2>²Ù×÷ÎÊÌâ</h2>
+</center>
+<h4><a name="4.1"></a>4.1)
+¶þ½øÖÆÓαêºÍÆÕͨÓαêÖ®¼äµÄÇø±ðÊÇʲô£¿</h4>
+²ÎÔÄ <font size="-1">DECLARE</font> ÊÖ²áÒ³»ñÈ¡ÐÅÏ¢¡£
+<h4><a name="4.2"></a>4.2)ÈçºÎÖ» <font size="-1">SELECT</font>
+Ò»¸ö²éѯ½á¹ûµÄÍ·¼¸ÐУ¿</h4>
+²ÎÔÄ <font size="-1">FETCH</font> ÊÖ²áÒ³£¬»òÕßʹÓàSELECT ...
+LIMIT....
+<p>¼´Ê¹ÄãÖ»ÐèÒª¿ªÍ·µÄ¼¸ÐУ¬Ò²»áÉæ¼°µ½Õû¸ö²éѯ¡£ÊÔ×ÅʹÓôøÓÐ
+<font size="-1">ORDER BY</font> µÄ²éѯ¡£Èç¹ûÓÐÒ»¸öË÷ÒýÓë
+<font size="-1">ORDER BY</font> Æ¥Å䣬PostgreSQL
+¿ÉÄܾÍÖ»´¦ÀíÒªÇóµÄÍ·¼¸Ìõ¼Ç¼£¬·ñÔò½«¶ÔÕû¸ö²éѯ½øÐд¦ÀíÖ±µ½Éú³ÉÐèÒªµÄÐС£</p>
+<h4><a name="4.3"></a>4.3) ÎÒÈçºÎ»ñÈ¡Ò»¸ö±íµÄÁÐ±í£¬»òÕßÊÇÆäËûÎÒÄÜÔÚ
+<i>psql</i> Àï¿´µ½µÄ¶«Î÷£¿</h4>
+Äã¿ÉÒÔÔĶÁ <i>psql</i>
+µÄÔ´´úÂëÎļþ<i>pgsql/src/bin/psql/describe.c</i> ¡£Ëü°üÀ¨ÎªÉú³É
+psql µÄ·´Ð±¸ÜÃüÁîµÄÊä³öµÄ SQL ÃüÁî¡£Ä㻹¿ÉÒÔ´ø <i>-E</i> Ñ¡ÏîÆô¶¯
+<i>psql</i>£¬ÕâÑùËü½«´òÓ¡³öÖ´ÐÐÄã¸ø³öµÄÃüÁîËùÓõIJéѯ¡£
+<h4><a name="4.4"></a>4.4) ÔõÑù´Ó±íÀïÃæɾ³ýÒ»ÁУ¿</h4>
+<p>7.3 ÀïÔö¼ÓÁË <font size="-1">ALTER TABLE DROP
+COLUMN</font>£¬ÒÔÖ§³Ö´ËÏÄÜ¡£ÔÚÒÔÇ°µÄ°æ±¾ÖУ¬¿ÉÒÔÕâÑù×ö£º</p>
+<pre>
+    BEGIN;
     LOCK TABLE old_table;
     SELECT ...  -- select all columns but the one you want to remove
     INTO TABLE new_table
     DROP TABLE old_table;
     ALTER TABLE new_table RENAME TO old_table;
     COMMIT;
-</PRE>
-               <H4><a name="4.5"></a>4.5) Ò»ÐУ¬Ò»¸ö±í£¬Ò»¸ö¿âµÄ×î´ó³ß´çÊǶàÉÙ£¿</H4>          
-               ÏÂÃæÊÇһЩÏÞÖÆ£º<PRE>    Ò»¸öÊý¾Ý¿â×î´ó³ß´ç£¿&nbsp;&nbsp;&nbsp;ÎÞÏÞÖÆ£¨´æÔÚ 1TB µÄÊý¾Ý¿â£©
-    Ò»¸ö±íµÄ×î´ó³ß´ç£¿&nbsp;&nbsp;&nbsp; 16TB
-    Ò»ÐеÄ×î´ó³ß´ç£¿&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.6TB
+</pre>
+<h4><a name="4.5"></a>4.5)
+Ò»ÐУ¬Ò»¸ö±í£¬Ò»¸ö¿âµÄ×î´ó³ß´çÊǶàÉÙ£¿</h4>
+ÏÂÃæÊÇһЩÏÞÖÆ£º
+<pre>
+    Ò»¸öÊý¾Ý¿â×î´ó³ß´ç£¿   ÎÞÏÞÖÆ£¨´æÔÚ 1TB µÄÊý¾Ý¿â£©
+    Ò»¸ö±íµÄ×î´ó³ß´ç£¿    16TB
+    Ò»ÐеÄ×î´ó³ß´ç£¿      1.6TB
      Ò»¸ö×ֶεÄ×î´ó³ß´ç?   1GB
-    Ò»¸ö±íÀï×î´óÐÐÊý£¿&nbsp;&nbsp;&nbsp;&nbsp; ÎÞÏÞÖÆ
-    Ò»¸ö±íÀï×î´óÁÐÊý£¿&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;¸úÁÐÀàÐÍÓйØ,250-1600
-    Ò»¸ö±íÀïµÄ×î´óË÷ÒýÊýÁ¿£¿ÎÞÏÞÖÆ</PRE>
-               µ±È»£¬Êµ¼ÊÉÏûÓÐÕæÕýµÄÎÞÏÞÖÆ£¬»¹ÊÇÒªÊÜ¿ÉÓôÅÅ̿ռ䡢¿ÉÓÃÄÚ´æ/½»»»ÇøµÄÖÆÔ¼¡£
-               <P>
-               ±íµÄ×î´ó³ß´ç 16 TB ²»ÐèÒª²Ù×÷ϵͳ¶Ô´óÎļþµÄÖ§³Ö¡£´ó±íÓöà¸ö 1        
-        GB µÄÎļþ´æ´¢£¬Òò´ËÎļþϵͳ³ß´çµÄÏÞÖÆÊDz»ÖØÒªµÄ¡£          
-               <P>Èç¹ûȱʡµÄ¿é´óСÔö³¤µ½ 32K £¬×î´óµÄ±í³ß´çºÍ×î´óÁÐÊý¿ÉÒÔÔö¼Ó¡£</P>          
-               <H4><a name="4.6"></a>4.6)´æ´¢Ò»¸öµäÐ͵ÄƽÃæÎļþÀïµÄÊý¾ÝÐèÒª¶àÉÙ´ÅÅ̿ռ䣿</H4>
-               Ò»¸ö Postgres Êý¾Ý¿â×î¶à¿ÉÄÜÐèÒªÏ൱ÓÚÔÚÒ»¸öƽÃæÎļþÀï´æ´¢ÏàͬÊý¾ÝµÄ5±¶µÄ´ÅÅ̿ռ䡣          
-               <P>ÀýÈ磬¼ÙÉèÓÐÒ»¸ö 100,000 ÐеÄÎļþ£¬Ã¿ÐÐÓÐÒ»¸öÕûÊýºÍÒ»¸öÎı¾ÃèÊö¡£¼ÙÉèÎı¾´®µÄƽ¾ù³¤¶Èλ20×Ö½Ú¡£Æ½ÃæÎļþÕ¼ÓÃ&nbsp;2.8 MB¡£´æ·ÅÕâЩÊý¾ÝµÄ           
-                       PostgreSQL Êý¾Ý¿âÎļþ´óÔ¼ÊÇ 6.4 MB:<PRE>     36 ×Ö½Ú: Ã¿ÐеÄÍ·£¨¹À¼ÆÖµ£©
+    Ò»¸ö±íÀï×î´óÐÐÊý£¿     ÎÞÏÞÖÆ
+    Ò»¸ö±íÀï×î´óÁÐÊý£¿     ¸úÁÐÀàÐÍÓйØ,250-1600
+    Ò»¸ö±íÀïµÄ×î´óË÷ÒýÊýÁ¿£¿ÎÞÏÞÖÆ
+</pre>
+µ±È»£¬Êµ¼ÊÉÏûÓÐÕæÕýµÄÎÞÏÞÖÆ£¬»¹ÊÇÒªÊÜ¿ÉÓôÅÅ̿ռ䡢¿ÉÓÃÄÚ´æ/½»»»ÇøµÄÖÆÔ¼¡£
+<p>±íµÄ×î´ó³ß´ç 16 TB ²»ÐèÒª²Ù×÷ϵͳ¶Ô´óÎļþµÄÖ§³Ö¡£´ó±íÓöà¸ö 1 GB
+µÄÎļþ´æ´¢£¬Òò´ËÎļþϵͳ³ß´çµÄÏÞÖÆÊDz»ÖØÒªµÄ¡£</p>
+<p>Èç¹ûȱʡµÄ¿é´óСÔö³¤µ½ 32K
+£¬×î´óµÄ±í³ß´çºÍ×î´óÁÐÊý¿ÉÒÔÔö¼Ó¡£</p>
+<h4><a name=
+"4.6"></a>4.6)´æ´¢Ò»¸öµäÐ͵ÄƽÃæÎļþÀïµÄÊý¾ÝÐèÒª¶àÉÙ´ÅÅ̿ռ䣿</h4>
+Ò»¸ö Postgres
+Êý¾Ý¿â×î¶à¿ÉÄÜÐèÒªÏ൱ÓÚÔÚÒ»¸öƽÃæÎļþÀï´æ´¢ÏàͬÊý¾ÝµÄ5±¶µÄ´ÅÅ̿ռ䡣
+<p>ÀýÈ磬¼ÙÉèÓÐÒ»¸ö 100,000
+ÐеÄÎļþ£¬Ã¿ÐÐÓÐÒ»¸öÕûÊýºÍÒ»¸öÎı¾ÃèÊö¡£¼ÙÉèÎı¾´®µÄƽ¾ù³¤¶Èλ20×Ö½Ú¡£Æ½ÃæÎļþÕ¼ÓÃ
+2.8 MB¡£´æ·ÅÕâЩÊý¾ÝµÄ PostgreSQL Êý¾Ý¿âÎļþ´óÔ¼ÊÇ 6.4 MB:</p>
+<pre>
+     36 ×Ö½Ú: Ã¿ÐеÄÍ·£¨¹À¼ÆÖµ£©
      24 ×Ö½Ú: Ò»¸öint×ֶκÍÒ»¸öÎı¾ÐÍ×Ö¶Î
    +  4 ×Ö½Ú: Ò³ÃæÄÚÖ¸ÏòÔª×éµÄÖ¸Õë
    ----------------------------------------
       128 ÐÐÿҳ
 
    782 Êý¾ÝÒ³ * 8192 ×Ö½Ú/Ò³  =  6,406,144 ×Ö½Ú£¨6.4 MB£©
-</PRE>          
-               <P>Ë÷Òý²»ÐèÒªÕâô¶àµÄ¶îÍâÏûºÄ£¬µ«Ò²È·Êµ°üÀ¨±»Ë÷ÒýµÄÊý¾Ý£¬Òò´ËËüÃÇÒ²¿ÉÄܴܺó¡£</P>
-               <P>¿ÕÖµ´æ·ÅÔÚλͼÖУ¬Òò´ËÕ¼ÓúÜÉٵĿռ䡣</P>
-               <H4><a name="4.7"></a>4.7)        
-        ÈçºÎ²é¿´±í¡¢Ë÷Òý¡¢Êý¾Ý¿âÒÔ¼°Óû§µÄ¶¨Ò壿</H4>  
-               <I>&nbsp;psql</I> ÓÐÐí¶à·´Ð±¸ÜÃüÁîÓÃÓÚÏÔʾÕâЩÐÅÏ¢¡£Óà\? ¿´¿´¶¼ÓÐÄÄЩ¡£ÒÔ pg_ ´òÍ·µÄϵͳ±íÒ²ÃèÊöÁËÕâЩÐÅÏ¢¡£ psql -l           
-               ¿ÉÒÔÁгöËùÓеÄÊý¾Ý¿â¡£
-               <P>Ò²¿ÉÒÔÊÔÊÔÎļþ <I>pgsql/src/tutorial/syscat.source</I>¡£ËüÑÝʾÁËÐí¶à´ÓÊý¾Ý¿âϵͳ±íÀï»ñÈ¡ÐÅÏ¢ÐèÒªµÄ <FONT size="-1">          
-                               SELECT</FONT>¡£
-                       <H4><a name="4.8"></a>4.8) ÎҵIJéѯºÜÂý»òÕßûÓÐÀûÓÃË÷Òý¡£ÎªÊ²Ã´£¿</H4>          
-               <P>
-               ²¢·Çÿ¸ö²éѯ¶¼»á×Ô¶¯Ê¹ÓÃË÷Òý¡£Ö»ÓÐÔÚ±íµÄ´óС³¬¹ýÒ»¸ö×îСֵ£¬²¢ÇÒ²éѯֻѡÔñ±íÖнÏС±ÈÀýµÄÐÐʱ²ÉÓÃʹÓÃË÷Òý¡£ÕâÊÇÒòΪË÷ÒýɨÃèÒýÆðµÄËæ¼´´ÅÅÌ´æÈ¡¿ÉÄܱÈÖ±½ÓµØ¶ÁÈ¡±í£¨Ë³ÐòɨÃ裩¸üÂý¡£ÎªÁËÅжÏÊÇ·ñʹÓÃË÷Òý£¬PostgreSQL           
-               ±ØÐë»ñµÃÓйرíµÄͳ¼ÆÖµ¡£ÕâЩͳ¼ÆÖµ¿ÉÒÔʹÓàVACUUM ANALYZE£¬»ò ANALYZE           
-               »ñµÃ¡£Ê¹ÓÃͳ¼ÆÖµ£¬ÓÅ»¯Æ÷ÖªµÀ±íÖÐÓжàÉÙÐУ¬¾ÍÄܹ»¸üºÃµØÅжÏÊÇ·ñÀûÓÃË÷Òý¡£Í³¼ÆÖµ¶ÔÈ·¶¨ÓÅ»¯µÄÁ¬½Ó˳ÐòºÍÁ¬½Ó·½·¨Ò²ºÜÓÐÓá£ÔÚ±íµÄÄÚÈÝ·¢Éú±ä»¯Ê±£¬Ó¦¶¨ÆÚ½øÐÐͳ¼ÆÖµµÄ»ñÈ¡¡£
-               <P>
-               Ë÷Òýͨ³£²»ÓÃÓÚ ORDER BY »òÖ´ÐÐÁ¬½Ó¡£¶ÔÒ»¸ö´ó±íµÄÒ»´Î˳ÐòɨÃ裬ÔÙ×öÒ»¸öÏÔʽµÄÅÅÐòͨ³£±ÈË÷ÒýɨÃèÒª¿ì¡£          
-               <P>µ«ÊÇ£¬ÔÚ LIMIT ºÍ ORDER BY ½áºÏʹÓÃʱ¾­³£»áʹÓÃË÷Òý£¬ÒòΪֻ»á·µ»Ø±íµÄһС²¿·Ö¡£Êµ¼ÊÉÏ£¬ËäÈ» MAX() ºÍ MIN() ²¢²»Ê¹ÓÃË÷Òý£¬Í¨¹ý¶Ô           
-                       ORDER BY ºÍ LLIMIT Ê¹ÓÃË÷ÒýÈ¡µÃ×î´óÖµºÍ×îСֵҲÊÇ¿ÉÒԵģº<BR>          
-                       <BR>
-        &nbsp;&nbsp;&nbsp; SELECT col<BR>          
-        &nbsp;&nbsp;&nbsp; FROM tab<BR>          
-        &nbsp;&nbsp;&nbsp; ORDER BY col [ DESC ]<BR>          
-        &nbsp;&nbsp;&nbsp; LIMIT 1;          
-               <P>µ±Ê¹ÓÃͨÅä·û²Ù×÷£¬ÀýÈç LIKE »ò ~ Ê±£¬Ë÷ÒýÖ»ÄÜÔÚÌض¨µÄÇé¿öÏÂʹÓãº&nbsp;&nbsp;<ul><li> ×Ö·û´®µÄ¿ªÊ¼²¿·Ö±ØÐëÊÇÆÕͨ×Ö·û´®£¬Ò²¾ÍÊÇ˵£º</li>   
-          <li>LIKE Ä£Ê½²»ÄÜÒÔ % ´òÍ·¡£</li><li>~ £¨ÕýÔò±í´ïʽ£©Ä£Ê½±ØÐëÒÔ ^ ´òÍ·¡£</li>
-          <li>×Ö·û´®²»ÄÜÒÔÆ¥Åä¶à¸ö×Ö·ûµÄģʽÀà´òÍ·£¬ÀýÈç [a-e]¡£</li><li>´óСдÎ޹صIJéÕÒ£¬Èç ILIKE ºÍ ~* µÈ²»Ê¹ÓÃË÷Òý¡£µ«¿ÉÒÔÓà4.12 ½ÚÃèÊöµÄº¯ÊýË÷Òý¡£</li><li>ÔÚ×ö initdb Ê±±ØÐë²ÉÓÃȱʡµÄ±¾µØÉèÖàC locale¡£</li></ul>          
-                       <H4><a name="4.9"></a>4.9)        
-            ÎÒÈçºÎ²ÅÄÜ¿´µ½²éѯÓÅ»¯Æ÷ÊÇÔõÑù´¦ÀíÎҵIJéѯµÄ£¿</H4>  
-                       ²Î¿¼ <FONT size="-1">EXPLAIN</FONT> ÊÖ²áÒ³¡£          
-                       <H4><a name="4.10"></a>4.10) R-tree Ë÷ÒýÊÇʲô£¿</H4>          
-               <P>R-tree Ë÷ÒýÓÃÓÚË÷Òý¿Õ¼äÊý¾Ý¡£Ò»¸ö¹þÏ£Ë÷ÒýÎÞ·¨´¦Àí·¶Î§ËÑË÷¡£¶ø B-tree Ë÷ÒýÖ»ÄÜ´¦ÀíһάµÄ·¶Î§ËÑË÷¡£R-tree           
-                       Ë÷Òý¿ÉÒÔ´¦Àí¶àάÊý¾Ý¡£ÀýÈ磬Èç¹û¿ÉÒÔÔÚÒ»¸öÀàÐÍΪ point µÄ×Ö¶ÎÉϽ¨Á¢Ò»¸ö R-tree Ë÷Òý£¬ÄÇôϵͳÄܸü¸ßЧµØ»Ø´ðÀàËÆ           
-                       ¡°Ñ¡ÔñÔÚÒ»¸ö³¤·½Ðη¶Î§ÄÚµÄËùÓе㡱¡£<BR>
-                       <BR>
-                       ÃèÊö×î³õµÄ R-Tree Éè¼ÆµÄÕýʽÂÛÎÄÊÇ£º<BR>          
-                       <BR>
-                       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.          
-                       <BR>
-                       <BR>
-                       Ä㻹¿ÉÒÔÔÚ Stonebraker µÄ¡°Readings in Database Systems¡±ÀïÕÒµ½ÕâƪÎÄÕ¡£<BR>          
-                       <BR>
-                       ÏµÍ³ÄÚÖõĠR-Tree ¿ÉÒÔ´¦Àí¶à±ßÐκͷ½ÐΡ£ÀíÂÛÉÏ˵£¬R-tree ¿ÉÒÔÀ©Õ¹Îª´¦Àí¸ü¶àάÊý¡£²»¹ýÔÚʵ¼ùÉÏ£¬À©Õ¹ R-trees           
-                       ÐèÒªÒ»¶¨µÄ¹¤×÷Á¿£¬¶øÎÒÃÇĿǰûÓÐÈçºÎ×öµÄÎĵµ¡£<H4><a name="4.11"></a>4.11)        
-        Ê²Ã´ÊÇ»ùÒò²éѯÓÅ»¯£¨Genetic Query Optimization£©£¿</H4>         
-               <P>GEQO Ä£¿é²ÉÓûùÒòËã·¨£¨Genetic Algorithm£¬GA£©¼Ó¿ì¶à±íÁ¬½ÓµÄ²éѯÓÅ»¯¡£ËüÔÊÐíͨ¹ý·ÇÇî¾ÙËÑË÷´¦Àí´óµÄÁ¬½Ó²éѯ¡£          
-                       <H4><a name="4.12"></a>4.12)        
-            ÎÒÔõÑù×öÕýÔò±í´ïʽËÑË÷ºÍ´óСдÎ޹صÄÕýÔò±í´ïʽËÑË÷£¿ÔõÑùÀûÓÃË÷Òý½øÐдóСдÎÞ¹ØËÑË÷£¿</H4> 
-        <p>²Ù×÷·û ~ ´¦ÀíÕýÔò±í´ïʽƥÅ䣬¶ø ~* ´¦Àí´óСдÎ޹صÄÕýÔò±í´ïʽƥÅä¡£´óдЩÎ޹صĠLIKE ±äÖÖ³ÉΪ ILIKE¡£<br>          
-        <br>
-        ´óСдÎ޹صĵÈʽ±È½Ïͨ³£Ð´×ö£º<br>
-        <br>
-        &nbsp;&nbsp;&nbsp; SELECT *<br>          
-        &nbsp;&nbsp;&nbsp; FROM tab<br>          
-        &nbsp;&nbsp;&nbsp; WHERE lower(col) = 'abc';<br>          
-        <br>
-        ÕâÑù½«²»»áʹÓñê×¼µÄË÷Òý¡£µ«ÊÇ¿ÉÒÔ´´½¨Ò»¸ö¿É±»ÀûÓõĺ¯ÊýË÷Òý:<br>
-        <br>
-        &nbsp;&nbsp;&nbsp; CREATE INDEX tabindex ON tab (lower(col));</p>         
-        <h4><a name="4.13"></a>4.13) ÔÚÒ»¸ö²éѯÀÎÒÔõÑù¼ì²âÒ»¸ö×Ö¶ÎÊÇ·ñΪ NULL£¿</h4>          
-        <p>ÓàIS NULL ºÍ IS NOT NULL ²âÊÔÕâ¸ö×ֶΡ£&nbsp;<br>         
-        </p>
-        <h4><a name="4.14"></a>4.14) ¸÷ÖÖ×Ö·ûÀàÐÍÖ®¼äÓÐʲô²»Í¬£¿</h4>          
-        <p>&nbsp; ÀàÐÍ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        
-        ÄÚ²¿Ãû³Æ&nbsp;&nbsp;&nbsp;          
-        ËµÃ÷<br>
-        &nbsp; --------------------------------------------------<br>        
-        &nbsp; "char"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        
-        1¸ö×Ö·û character<br>          
-        &nbsp; CHAR(#)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bpchar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        
-        ¶¨³¤×Ö·û´®£¬Êµ¼ÊÊý¾Ý²»×㶨Ò峤¶Èʱ£¬ÒÔ¿Õ¸ñ²¹Æë<br>
-        &nbsp; VARCHAR(#)&nbsp; varchar&nbsp;&nbsp;&nbsp;&nbsp; Ö¸¶¨ÁË×î´ó³¤¶È£¬±ä³¤×Ö·û´®£¬²»×㶨Ò峤¶ÈµÄ²¿·Ö²»²¹Æë<br>         
-        &nbsp; TEXT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        
-        ´®³¤¶È½öÊÜÐеÄ×î´ó³¤¶ÈÏÞÖÆ<br>
-        &nbsp; BYTEA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bytea&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;          
-        ±ä³¤×Ö½ÚÐòÁУ¨±ä³¤µÄ¶þ½øÖÆÊý¾Ý£©<br>
-        <br>
-        ÔÚϵͳ±íºÍÔÚһЩ´íÎóÐÅÏ¢ÀïÄ㽫¿´µ½ÄÚ²¿Ãû³Æ¡£&nbsp;<br>
-        <br>
-        ÉÏÃæ×îºóËÄÖÖÀàÐÍÊÇ"varlena"£¨±ä³¤£©ÀàÐÍ£¨Ò²¾ÍÊÇ˵£¬¿ªÍ·µÄËĸö×Ö½ÚÊdz¤¶È£¬ºóÃæ²ÅÊÇÊý¾Ý£©¡£ÓÚÊÇʵ¼ÊÕ¼ÓõĿռä±ÈÉùÃ÷µÄ´óСҪ¶àһЩ¡£È»¶øÕâЩÀàÐͶ¼¿ÉÒÔ±»Ñ¹Ëõ´æ´¢£¬Ò²¿ÉÒÔÓàTOAST ÍÑ»ú´æ´¢£¬Òò´Ë´ÅÅÌ¿Õ¼äÒ²¿ÉÄܱÈÔ¤ÏëµÄÒªÉÙ¡£<br>          
-        <br>
-        CHAR(n) ×îÊʺÏÓÚ´æ´¢³¤¶È»ù±¾²î²»¶àµÄ×Ö·û´®¡£VARCHAR(n) ÔÚ´æ´¢ÏÞÖÆÁË×î´ó³¤¶ÈµÄ±ä³¤×Ö·û´®ÊÇ×îºÃµÄ¡£TEXT ÊÊÓÃÓÚ´æ´¢²»ÏÞÖƳ¤¶ÈµÄ×Ö·û´®£¬×î´ó¿É´ï 1G¡£BYTEA ÓÃÓÚ´æ´¢¶þ½øÖÆÊý¾Ý£¬ÓÈÆäÊÇ°üº¬ NULL ×Ö½Ú£¨¶þ½øÖƵÄ0£©µÄÖµ¡£ÕâЩÀàÐ;ßÓÐÀàÐ͵ÄÐÔÄÜ¡£</p>          
-        <h4><a name="4.15.1"></a>4.15.1) ÎÒÔõÑù´´½¨Ò»¸öÐòÁкÅ/×Ô¶¯µÝÔöµÄ×ֶΣ¿</h4>          
-        <p>PostgreSQL Ö§³Ö SERIAL Êý¾ÝÀàÐÍ¡£ËüÔÚ×Ö¶ÎÉÏ×Ô¶¯´´½¨Ò»¸öÐòÁкÍË÷Òý¡£ÀýÈ磬<br>          
-        &nbsp;&nbsp;&nbsp; CREATE TABLE person (&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id   SERIAL,&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name TEXT&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>        
-        <br>
-   »á×Ô¶¯×ª»»Îª£º&nbsp;<br>
-        &nbsp;&nbsp;&nbsp;&nbsp;<br>
-        &nbsp;&nbsp;&nbsp; CREATE SEQUENCE person_id_seq;<br>          
-        &nbsp;&nbsp;&nbsp; CREATE TABLE person (&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id   INT4 NOT NULL DEFAULT nextval('person_id_seq'),<br>          
-        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name TEXT&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>        
-        &nbsp;&nbsp;&nbsp; CREATE UNIQUE INDEX person_id_key ON person ( id );<br>          
-        <br>
-        ²Î¿¼ create_sequence ÊÖ²áÒ³»ñÈ¡¹ØÓÚÐòÁеĸü¶àÐÅÏ¢¡£Ä㻹¿ÉÒÔÓÃÿÐеĠoid ×Ö¶Î×÷Ϊһ¸öΨһֵ¡£²»¹ý£¬Èç¹ûÄãÐèÒªÇãµ¹ºÍÖØÔØÊý¾Ý¿â£¬ÄãÐèҪʹÓàpg_dump µÄ -o Ñ¡Ïî»òÕß COPY WITH OIDS Ñ¡ÏîÒÔ±£Áô OID¡£&nbsp;</p>         
-        <h4><a name="4.15.2"></a>4.15.2)           
-                       ÎÒÈçºÎ»ñµÃÒ»¸ö²åÈëµÄÐòÁкŵÄÖµ£¿</h4>
-        <p>Ò»ÖÖ·½·¨ÊÇÔÚ²åÈë֮ǰÏÈÓú¯Êý nextval() ´ÓÐòÁжÔÏóÀï¼ìË÷³öÏÂÒ»¸ö SERIAL Öµ£¬È»ºóÔÙÏÔʽ²åÈ롣ʹÓà
-        <a href="#4.15.1"> 4.15.1</a> ÀïµÄÀý±í£¬¿ÉÓÃαÂëÕâÑùÃèÊö£º&nbsp;<br>         
-        <br>
-        &nbsp;&nbsp;&nbsp; new_id = execute("SELECT nextval('person_id_seq')");<br>          
-        &nbsp;&nbsp;&nbsp; execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");<br>          
-        <br>
-        ÕâÑù»¹ÄÜÔÚÆäËû²éѯÖÐʹÓôæ·ÅÔÚ new_id ÀïµÄÐÂÖµ£¨ÀýÈ磬×÷Ϊ person ±íµÄÍâ¼ü£©¡£×¢Òâ×Ô¶¯´´½¨µÄ SEQUENCE ¶ÔÏóµÄÃû³Æ½«»áÊÇ &lt;table>_&lt;serialcolumn>_seq£¬ÕâÀï table ºÍ serialcolumn ·Ö±ðÊÇÄãµÄ±íµÄÃû³ÆºÍÄãµÄ SERIAL ×ֶεÄÃû³Æ¡£&nbsp;<br>         
-        <br>
-        ÀàËƵģ¬ÔÚ SERIAL ¶ÔÏóȱʡ²åÈëºóÄã¿ÉÒÔÓú¯Êý currval() ¼ìË÷¸Õ¸³ÖµµÄ SERIAL Öµ£¬ÀýÈ磬&nbsp;<br>         
-        <br>
-        &nbsp;&nbsp;&nbsp; execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");<br>          
-        &nbsp;&nbsp;&nbsp; new_id = execute("SELECT currval('person_id_seq')");<br>          
-        <br>
-        ×îºó£¬Äã¿ÉÒÔʹÓôӠINSERT Óï¾ä·µ»ØµÄ <a href="4.16">OID</a> 
-        ²éÕÒȱʡֵ£¬¾¡¹ÜÕâ¿ÉÄÜÊÇ×îȱ·¦ÒÆÖ²ÐԵķ½·¨¡£ÔÚ Perl ÀʹÓôøÓРEdmund Mergl µÄ DBD::Pg Ä£¿éµÄ DBI£¬oid Öµ¿ÉÒÔͨ¹ý $sth->execute() ºóµÄ $sth->{pg_oid_status} »ñµÃ¡£&nbsp;</p>         
-        <h4><a name="4.15.3"></a>4.15.3) Ê¹Óàcurrval() ºÍ nextval() »áµ¼ÖÂÒ»¸öÓëÆäËûÓû§Ö®¼äµÄÎÉÂÒÇé¿öÂð£¿</h4>          
-        <p>²»»á¡£currval() ·µ»Øºǫ́½ø³Ì¶ø²»ÊÇËùÓÐÓû§¸³ÓèµÄµ±Ç°Öµ¡£<br>          
-        </p>
-        <h4><a name="4.15.4"></a>4.15.4)           
-                       ÎªÊ²Ã´²»ÔÚÊÂÎñÒì³£ÖÐÖ¹ºóÖØÓÃÐòÁкÅÄØ£¿ÎªÊ²Ã´ÔÚÐòÁкÅ×ֶεÄÈ¡ÖµÖдæÔÚ¼ä¶ÏÄØ£¿</h4>
-        <p>ΪÁËÌá¸ß²¢·¢ÐÔ£¬ÐòÁкÅÔÚÐèÒªµÄʱºò¸³ÓèÕýÔÚÔËÐеÄÊÂÎñ£¬²¢ÇÒÖ»ÔÚÊÂÎñ½áÊø֮ǰ²»·âËø¡£Õâ¾Í»áµ¼ÖÂزÕÛÊÂÎñºóµÄÐòÁкųöÏÖ¼ä¸ô¡£</p>
-        <h4><br>
-        <a name="4.16"></a>4.16) Ê²Ã´ÊÇ OID£¿Ê²Ã´ÊÇ TID£¿</h4>          
-        <p>OID ÊÇ PostgreSQL ÖÐÐеÄΨһ±êʶ¡£PostgreSQL Àï´´½¨µÄÿһÐж¼»ñµÃÒ»¸öΨһµÄ OID¡£ËùÓÐÔÚ initdb ¹ý³ÌÖд´½¨µÄ OID ¶¼Ð¡ÓÚ 16384 £¨²Î¼û include/access/transam.h£©¡£ËùÓÐÓû§´´½¨µÄ OID ¶¼´óÓÚ»òµÈÓÚÕâ¸öÖµ¡£È±Ê¡Ê±£¬ËùÓÐÕâЩ OID ²»½öÔÚÒ»¸ö±í»òÒ»¸öÊý¾Ý¿âÀïÃæΨһ£¬¶øÇÒÔÚÕû¸ö PostgreSQL °²×°ÀïÒ²ÊÇΨһµÄ¡£&nbsp;<br>         
-        <br>
-        PostgreSQL ÔÚËüµÄÄÚ²¿ÏµÍ³±íÀïʹÓàOID ÔÚ±íÖ®¼ä½¨Á¢ÁªÏµ¡£ÕâЩ OID ¿ÉÒÔÓÃÓÚ±êʶÌض¨µÄÓû§ÐÐÒÔ¼°ÓÃÔÚÁ¬½ÓÀï¡£½¨ÒéʹÓÃ×Ö¶ÎÀàÐÍ OID ´æ´¢ OID Öµ¡£¿ÉÒÔÔÚ OID ×Ö¶ÎÉÏ´´½¨Ò»¸öË÷ÒýÒÔ¿ìËÙ·ÃÎÊ¡£&nbsp;<br>         
-        <br>
-        OID ´ÓÒ»¸ö±»ËùÓÐÊý¾Ý¿âʹÓõÄÖÐÐÄÇøÓòÀ︳ֵ¸øËùÓÐÐÂÐС£Èç¹ûÄãÏë°Ñ OID ¸Ä³É±ðµÄÖµ£¬»òÕßÏë×öÒ»·Ý±íµÄ´øԭʼ OID µÄ¿½±´£¬Äã¿ÉÒÔ×öµ½£º&nbsp;<br>         
-        <br>
-        &nbsp;&nbsp;&nbsp; CREATE TABLE new(old_oid oid, mycol int);<br>          
-        &nbsp;&nbsp;&nbsp; SELECT old_oid, mycol INTO new FROM old;<br>          
-        &nbsp;&nbsp;&nbsp; COPY new TO '/tmp/pgtable';<br>          
-        &nbsp;&nbsp;&nbsp; DELETE FROM new;<br>          
-        &nbsp;&nbsp;&nbsp; COPY new WITH OIDS FROM '/tmp/pgtable';<br>          
-        <br>
-        OID ÓÃ4×Ö½ÚµÄÕûÊý±£´æ£¬ÔÚ³¬¹ý40ÒÚʱ½«Òç³ö¡£Ã»ÓÐÈ˱¨¸æ³öÏÖ¹ýÒç³ö£¬¶øÎÒÃÇ´òËãÔÚÓÐÈ˱¨¸æ֮ǰÏû³ýÕâ¸öÏÞÖÆ¡£<br>          
-        <br>
-        TID ÓÃÓÚ±êʶ´ø×ÅÊý¾Ý¿é£¨µØÖ·£©ºÍ£¨¿éÄÚ£©Æ«ÒƵÄÌض¨µÄÎïÀíÐС£TID ÔÚÐб»¸ü¸Ä»òÖØÔغó·¢Éú¸Ä±ä¡£Ë÷ÒýÈë¿ÚʹÓÃËüÃÇÖ¸ÏòÎïÀíÐС£</p>          
-        <h4><a name="4.17"></a>4.17) PostgreSQL Ê¹ÓõÄһЩÊõÓïµÄº¬ÒåÊÇʲô£¿</h4>          
-        <p>һЩԴ´úÂëºÍһЩ¾ÉÒ»µãµÄÎĵµÊ¹ÓÃһЩÓиü³£ÓÃÓ÷¨µÄÊõÓï¡£ÏÂÃæÊÇÆäÖÐÒ»²¿·Ö£º&nbsp;<br>
-        &nbsp;&nbsp;&nbsp; table, relation, class&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp; row, record, tuple&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp; column, field, attribute&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp; retrieve, select&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp; replace, update&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp; append, insert&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp; OID, serial value&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp; portal, cursor&nbsp;<br>         
-        &nbsp;&nbsp;&nbsp; range variable, table name, table alias&nbsp;<br>         
-        <br>
-        ÓÐÒ»¸öͨÓÃÊý¾Ý¿âÊõÓïµÄÁÐ±í£º<a href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html">http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html</a> 
-        ¡£&nbsp;&nbsp;</p>
-        <h4><a name="4.18"></a>4.18)           
-                       ÎªÊ²Ã´ÎÒÊÕµ½´íÎó¡°<i>ERROR: Memory exhausted in AllocSetAlloc()</i>¡±£¿</h4>
-        <p>ÕâºÜ¿ÉÄÜÊÇϵͳµÄÐéÄâÄÚ´æÓùâÁË£¬»òÕßÄں˶ÔijЩ×ÊÔ´Óнϵ͵ÄÏÞÖÆÖµ¡£ÔÚÆô¶¯ postmaster Ö®Ç°ÊÔÊÔÏÂÃæµÄÃüÁ&nbsp;<br>         
-        <br>
-        &nbsp;&nbsp;&nbsp; ulimit -d 262144<br>          
-        &nbsp;&nbsp;&nbsp; limit datasize 256m<br>          
-        <br>
-        È¡¾öÓÚÄãÓõĠshell£¬ÉÏÃæÃüÁîÖ»ÓÐÒ»ÌõÄܳɹ¦£¬µ«ÊÇËü½«°ÑÄãµÄ½ø³ÌÊý¾Ý¶ÎÏÞÖÆÉèµÃ±È½Ï¸ß£¬Òò¶øÒ²ÐíÄÜÈòéѯÍê³É¡£ÕâÌõÃüÁîÓ¦ÓÃÓÚµ±Ç°½ø³Ì£¬ÒÔ¼°ËùÓÐÔÚÕâÌõÃüÁîÔËÐк󴴽¨µÄ×Ó½ø³Ì¡£Èç¹ûÄãÊÇÔÚÔËÐÐSQL¿Í»§¶ËʱÒòΪºǫ́·µ»ØÁËÌ«¶àµÄÊý¾Ý¶ø³öÏÖÎÊÌ⣬ÇëÔÚÔËÐпͻ§¶Ë֮ǰִÐÐÉÏÊöÃüÁî¡£</p>          
-        <h4><a name="4.19"></a>4.19)           
-                       ÎÒÈçºÎ²ÅÄÜÖªµÀËùÔËÐеĠPostgreSQL µÄ°æ±¾£¿</h4>          
-        <p>´Ó psql À¼üÈë SELECT version()£»<br>          
-        </p>
-        <h4><a name="4.20"></a>4.20)           
-                       ÎªÊ²Ã´ÎҵĴó¶ÔÏó²Ù×÷µ¼Ö´íÎó¡°<I>invalid large obj descriptor¡±£¨·Ç·¨µÄ´ó¶ÔÏóÃèÊö·û£©</I>£¿</h4>          
-        <p>ÄãÐèÒªÔÚʹÓÃÈκδó¶ÔÏó¾ä±úµÄÇ°ºó·ÅÉÏ BEGIN WORK ºÍ COMMIT£¬Ò²¾ÍÊÇ˵£¬°üΧ lo_open ... lo_close¡£&nbsp;<br>         
-        <br>
-        Ä¿Ç° PostgreSQL Ç¿ÖÆʵʩÕâÌõ¹æÔò£ºÔÚÊÂÎñÌύʱ¹Ø±Õ´ó¶ÔÏó¾ä±ú£¬ÕâÑù£¬£¨Ã»ÓвÉÓÃÊÂÎñʱ£©£¬Ê״ζԴó¶ÔÏó¾ä±ú×öÈκÎÊÂÇéµÄÆóͼ¶¼»áµ¼ÖÂÒ»¸ö invalid large obj descriptor¡£ËùÒÔ£¬Èç¹ûÄãûÓÐʹÓÃÒ»¸öÊÂÎñ£¬ÒÔÇ°Äܹ¤×÷µÄ´úÂ루ÖÁÉÙÊÇ´ó¶àÊýʱ¼ä£©½«»áÉú³ÉÕâôһ¸ö´íÎóÐÅÏ¢¡£&nbsp;<br>         
-        <br>
-        Èç¹ûÄãʹÓÿͻ§¶Ë½Ó¿Ú£¬Èç ODBC£¬Äã¿ÉÄÜÐèÒª set auto-commit off¡£</p>          
-        <h4><a name="4.21"></a>4.21) ÎÒÈçºÎ´´½¨Ò»¸öȱʡֵÊǵ±Ç°Ê±¼äµÄ×ֶΣ¿</h4>          
-        <p>ʹÓàCURRENT_TIMESTAMP£º<br>          
-        <br>
-        &nbsp;&nbsp;&nbsp; CREATE TABLE test(x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP);</p>          
-        <h4><a name="4.22"></a>4.22) ÎªÊ²Ã´Ê¹ÓàIN µÄ×Ó²éѯÕâôÂý£¿</h4>          
-        <p>Ä¿Ç°£¬ÎÒÃÇͨ¹ýΪÍâ²éѯµÄÿһÐÐ˳ÐòɨÃè×Ó²éѯµÄ½á¹ûÀ´Á¬½Ó×Ó²éѯºÍÍâ²éѯ¡£Èç¹û×Ó²éѯ·µ»ØÉÙÊý¼¸ÐУ¬¶øÍâ²éѯ·µ»ØºÜ¶àÐУ¬IN Ö´Ðеúܿ졣ΪÁ˼ӿìÆäËû IN ²éѯµÄÖ´ÐУ¬¿ÉÒÔÓàEXISTS Ìæ»» IN£º&nbsp;<br>         
-        <br>
-        &nbsp;&nbsp;&nbsp; SELECT *<br>          
-        &nbsp;&nbsp;&nbsp; FROM tab<br>          
-        &nbsp;&nbsp;&nbsp; WHERE col IN (SELECT subcol FROM subtab);<br>          
-        <br>
-        ¸ÄΪ£º&nbsp;<br>
-        <br>
-        &nbsp;&nbsp;&nbsp; SELECT *<br>          
-        &nbsp;&nbsp;&nbsp; FROM tab<br>          
-        &nbsp;&nbsp;&nbsp; WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);<br>          
-        <br>
-        ºóÕßÒªÏëÖ´Ðеøü¿ì£¬subcol Ó¦¸ÃÊÇÒ»¸öË÷ÒýÁС£ÎÒÃÇÏ£ÍûÔÚδÀ´µÄ·¢²¼°æ±¾ÖÐÐÞ²¹Õâ¸öÏÞÖÆ¡£</p>          
-        <h4><a name="4.23"></a>4.23) ÎÒÔõÑù½øÐРouter join £¨ÍâÁ¬½Ó£©£¿</h4>          
-        <p>PostgreSQL ²ÉÓñê×¼µÄ SQL Óï·¨Ö§³ÖÍâÁ¬½Ó¡£ÕâÀïÊÇÁ½¸öÀý×Ó£º<br>          
-        <br>
-        &nbsp;&nbsp;&nbsp; SELECT *<br>          
-        &nbsp;&nbsp;&nbsp; FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);<br>          
-        <br>
-        »ò&nbsp;<br>
-        &nbsp;&nbsp;&nbsp; SELECT *<br>          
-        &nbsp;&nbsp;&nbsp; FROM t1 LEFT OUTER JOIN t2 USING (col);<br>          
-        <br>
-        ÕâÁ½¸öµÈ¼ÛµÄ²éѯÔÚ t1.col ºÍ t2.col ÉÏ×öÁ¬½Ó£¬²¢ÇÒ·µâ»?t1 ÖÐËùÓÐδÁ¬½ÓµÄÐУ¨ÄÇЩÔÚ t2 ÖÐûÓÐÆ¥ÅäµÄÐУ©¡£ÓÒ[Íâ]Á¬½Ó(RIGHT OUTER JOIN)½«·µ»Ø t2 ÖÐδÁ¬½ÓµÄÐС£ÍêÈ«ÍâÁ¬½Ó£¨FULL OUTER JOIN£©½«·µ»Ø t1 ºÍ t2 ÖÐδÁ¬½ÓµÄÐС£¹Ø¼ü×Ö OUTER ÔÚ×ó[Íâ]Á¬½Ó¡¢ÓÒ[Íâ]Á¬½ÓºÍÍêÈ«[Íâ]Á¬½ÓÖÐÊÇ¿ÉÑ¡µÄ£¬ÆÕͨÁ¬½Ó±»³ÉΪÄÚÁ¬½Ó£¨INNER JOIN£©¡£<br>          
-        <br>
-        ÔÚ´ËÇ°µÄ°æ±¾ÖУ¬ÍâÁ¬½Ó¿ÉÒÔÓàUNION ºÍ NOT IN À´Ä£Äâ¡£ÀýÈ磬ÏÂÃæµÄÀý×ÓÔÚ±í tab1 ºÍ tab2 Ö®¼ä×öÍâÁ¬½Ó£º<br>          
-        <br>
-        &nbsp;&nbsp;&nbsp; SELECT tab1.col1, tab2.col2<br>          
-        &nbsp;&nbsp;&nbsp; FROM tab1, tab2<br>          
-        &nbsp;&nbsp;&nbsp; WHERE tab1.col1 = tab2.col1<br>          
-        <br>
-        &nbsp;&nbsp;&nbsp; UNION ALL<br>          
-        <br>
-        &nbsp;&nbsp;&nbsp; SELECT tab1.col1, NULL<br>          
-        &nbsp;&nbsp;&nbsp; FROM tab1<br>          
-        &nbsp;&nbsp;&nbsp; WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)<br>          
-        &nbsp;&nbsp;&nbsp; ORDER BY col1</p>          
-        <h4><a name="4.24"></a>4.24)           
-                       ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿</h4>
-        <p>ûÓа취²éѯµ±Ç°Êý¾Ý¿âÖ®ÍâµÄÊý¾Ý¿â¡£ÒòΪ PostgreSQL ¼ÓÔØÊý¾Ý¿âÏà¹ØµÄϵͳĿ¼£¨ÏµÍ³±í£©£¬¿çÊý¾Ý¿âµÄ²éѯÈçºÎÖ´ÐÐҲδÃ÷È·¡£<br>          
-        <br>
-        contrib/dblink ÔÊÐí²ÉÓú¯Êýµ÷ÓÃʵÏÖ¿ç¿â²éѯ¡£µ±È»¿ÉÒÔͬʱÁ¬½Óµ½²»Í¬µÄÊý¾Ý¿â²¢ÔÚ¿Í»§¶ËºÏ²¢½á¹û¡£</p>          
-        <h4><a name="4.25"></a>4.25)           
-                       ÈçºÎÈú¯Êý·µ»Ø¶àÐлò¶àÁУ¿</h4>
-        <p>¿ÉÒÔÔÚ PL/pgSQL º¯ÊýÖÐʹÓàrefcursors ·µ»Ø½á¹û¼¯¡£²Î¿´          
-        <a href="http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html"> http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html</a>, 23.7.3.3½Ú¡£<br>          
-        </p>
-        <h4><a name="4.26"></a>4.26) ÎªÊ²Ã´ÔÚ           
-                       PL/PgSQL º¯ÊýÖв»ÄÜ¿É¿¿µØ´´½¨»òɾ³ýÁÙʱ±í£¿</h4>          
-        <p>PL/PgSQL          
-        »º´æº¯ÊýµÄÄÚÈÝ£¬ÓÉ´Ë´øÀ´µÄÒ»¸ö²»ºÃµÄ¸±×÷ÓÃÊÇÈôÒ»¸ö PL/PgSQL          
-        º¯Êý·ÃÎÊÁËÒ»¸öÁÙʱ±í£¬È»ºó¸Ã±í±»É¾³ý²¢Öؽ¨ÁË£¬ÔòÔٴε÷Óøú¯Êý½«Ê§°Ü£¬ÒòΪ»º´æµÄº¯ÊýÄÚÈÝÈÔȻָÏò¾ÉµÄÁÙʱ±í¡£½â¾öµÄ·½·¨ÊÇÔÚ          
-        PL/PgSQL ÖÐÓàEXECUTE          
-        ¶ÔÁÙʱ±í½øÐзÃÎÊ¡£ÕâÑù»á±£Ö¤²éѯÔÚÖ´ÐÐÇ°×ÜÊÇÖØзÖÎö¡£</p>
-        <h4><a name="4.27"></a>4.27)           
-                       ÓÐÄÄЩÊý¾Ý¸´ÖÆÑ¡Ï</h4>
-        <p>Óм¸ÖÖÖ÷/´Ó·½Ê½µÄ¸´ÖÆÑ¡Ïî¡£ÕâЩѡÏîÖ»ÔÊÐíÖ÷Êý¾Ý¿â½øÐиüУ¬´ÓÊý¾Ý¿âÖ»ÄܽøÐжÁ¡£ÍøÒ³          
-        <a href="http://gborg.PostgreSQL.org/genpage?replication_research">http://gborg.PostgreSQL.org/genpage?replication_research</a>&nbsp;          
-        µÄ×îºóÁгöÁËÕâЩѡÏî¡£ÔÚ <a href="http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php"> http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</a>          
-        ÕýÔÚ½øÐÐÒ»¸ö¶àÖ÷±¾¸´ÖƵĽâ¾ö·½°¸¡£</p>         
-        <h4><a name="4.28"></a>4.28)           
-                       ÓÐÄÄЩÊý¾Ý¼ÓÃÜÑ¡Ï
-        </h4>
-        <p>contrib/pgcrypto °üº¬Á˺ܶàÔÚ SQL          
-        ²éѯÖÐʹÓõļÓÃܺ¯Êý¡£¼ÓÃÜ¿Í»§¶Ëµ½·þÎñÆ÷¶Ë´«ÊäÊý¾ÝµÄΨһ·½·¨ÊÇÔÚ pg_hba.conf          
-        ÖвÉÓàhostss ¡£&nbsp;<br>         
-        <br>
-        7.3          
-        °æ±¾ÖÐ×Ô¶¯¶ÔÊý¾Ý¿âÓû§ÃÜÂë½øÐмÓÃÜ¡£ÔÚÒÔÇ°µÄ°æ±¾ÖУ¬±ØÐëÔÚ          
-        postgresql.conf Öдò¿ª PASSWORD_ENCRYPTION          
-        Ñ¡Ïî¡£·þÎñÆ÷¿ÉÒÔÔËÐÐÔÚ¼ÓÃܵÄÎļþϵͳÉÏ£¨ÒÔ´ïµ½¼ÓÃܵÄÄ¿µÄ£©¡£<br>
-        <br>
-        --------------------------------------------------------------------------------</p>
-        <h2 align="center">À©Õ¹ PostgreSQL</h2>          
-        <h4><a name="5.1"></a>5.1)           
-                       ÎÒдÁËÒ»¸öÓû§¶¨Ò庯Êý¡£µ±ÎÒÔÚ psql ÀïÔËÐÐʱ£¬ÎªÊ²Ã´»áµ¼Ö core dump£¿</h4>          
-        <p>²úÉúÕâ¸öÎÊÌâµÄÔ­ÒòºÜ¶à¡£ÇëÏÈÔÚÒ»¸öµ¥¶ÀµÄ²âÊÔ³ÌÐòÖвâÊÔÄãµÄ×Ô¶¨Ò庯Êý¡£</p>
-        <h4><a name="5.2"></a>5.2) ÎÒÈçºÎÄܸø           
-                       PostgreSQL ¹±Ï×һЩͦ²»´íµÄÐÂÀàÐͺͺ¯Êý£¿</h4>          
-        <p>½«ÄãµÄÀ©Õ¹·¢Ë͵½ pgsql-hackers          
-        ÓʼþÁÐ±í£¬ËüÃÇ×îÖջᱻ·Åµ½ contrib/ ×ÓĿ¼¡£<br>         
-        </p>
-        <h4><a name="5.3"></a>5.3) ÎÒÔõÑùдһ¸ö·µ»ØÒ»ÌõÔª×éµÄ C º¯Êý£¿</h4>          
-        <p>ÔÚ PostgreSQL 7.3 ÒÔºóµÄ°æ±¾ÖУ¬C, PL/PgSQL ºÍ SQL          
-        ÍêÈ«Ö§³Ö·µ»ØֵΪ±íµÄº¯Êý¡£¸ü¶àÐÅÏ¢Çë²Î¿¼          
-        ³ÌÐòÔ±Ö¸ÄÏ£¨the Programmer's Guide£©¡£ÔÚ contrib/tablefunc          
-        ÖÐÓÐÒ»¸öÀý×ÓÊÇÓàC Ð´µÄ·µ»ØֵΪ±íµÄº¯Êý¡£</p>         
-        <h4><a name="5.4"></a>5.4)           
-                       ÎÒÐÞ¸ÄÁËÒ»¸öÔ´Îļþ£¬ÎªÊ²Ã´ÖØбàÒëºóûÓп´µ½¸Ä±ä£¿</h4>
-        <p> Makefiles ÖÐûÓаüº¬Í·ÎļþµÄÕýÈ·ÒÀÀµ¡£Äú±ØÐëÏÈ×ömake 
-        clean£¬ ÔÙ×öÒ»´Î make ¡£Èç¹ûÄúʹÓõÄÊÇ GCC 
-        £¬Ôò¿ÉÒÔ²ÉÓÃÑ¡Ïî --enable-depend 
-        ÈñàÒëÆ÷×Ô¶¯Éú³ÉÍ·ÎļþµÄÒÀÀµ¹Øϵ¡£</p>
-       </BODY>
-</HTML>
+</pre>
+<p>
+Ë÷Òý²»ÐèÒªÕâô¶àµÄ¶îÍâÏûºÄ£¬µ«Ò²È·Êµ°üÀ¨±»Ë÷ÒýµÄÊý¾Ý£¬Òò´ËËüÃÇÒ²¿ÉÄܴܺó¡£</p>
+<p>¿ÕÖµ´æ·ÅÔÚλͼÖУ¬Òò´ËÕ¼ÓúÜÉٵĿռ䡣</p>
+<h4><a name="4.7"></a>4.7)
+ÈçºÎ²é¿´±í¡¢Ë÷Òý¡¢Êý¾Ý¿âÒÔ¼°Óû§µÄ¶¨Ò壿</h4>
+<i> psql</i> ÓÐÐí¶à·´Ð±¸ÜÃüÁîÓÃÓÚÏÔʾÕâЩÐÅÏ¢¡£Óà\?
+¿´¿´¶¼ÓÐÄÄЩ¡£ÒÔ pg_ ´òÍ·µÄϵͳ±íÒ²ÃèÊöÁËÕâЩÐÅÏ¢¡£ psql -l
+¿ÉÒÔÁгöËùÓеÄÊý¾Ý¿â¡£
+<p>Ò²¿ÉÒÔÊÔÊÔÎļþ
+<i>pgsql/src/tutorial/syscat.source</i>¡£ËüÑÝʾÁËÐí¶à´ÓÊý¾Ý¿âϵͳ±íÀï»ñÈ¡ÐÅÏ¢ÐèÒªµÄ
+<font size="-1">SELECT</font>¡£</p>
+<h4><a name="4.8"></a>4.8)
+ÎҵIJéѯºÜÂý»òÕßûÓÐÀûÓÃË÷Òý¡£ÎªÊ²Ã´£¿</h4>
+<p>
+²¢·Çÿ¸ö²éѯ¶¼»á×Ô¶¯Ê¹ÓÃË÷Òý¡£Ö»ÓÐÔÚ±íµÄ´óС³¬¹ýÒ»¸ö×îСֵ£¬²¢ÇÒ²éѯֻѡÔñ±íÖнÏС±ÈÀýµÄÐÐʱ²ÉÓÃʹÓÃË÷Òý¡£ÕâÊÇÒòΪË÷ÒýɨÃèÒýÆðµÄËæ¼´´ÅÅÌ´æÈ¡¿ÉÄܱÈÖ±½ÓµØ¶ÁÈ¡±í£¨Ë³ÐòɨÃ裩¸üÂý¡£ÎªÁËÅжÏÊÇ·ñʹÓÃË÷Òý£¬PostgreSQL
+±ØÐë»ñµÃÓйرíµÄͳ¼ÆÖµ¡£ÕâЩͳ¼ÆÖµ¿ÉÒÔʹÓàVACUUM ANALYZE£¬»ò
+ANALYZE
+»ñµÃ¡£Ê¹ÓÃͳ¼ÆÖµ£¬ÓÅ»¯Æ÷ÖªµÀ±íÖÐÓжàÉÙÐУ¬¾ÍÄܹ»¸üºÃµØÅжÏÊÇ·ñÀûÓÃË÷Òý¡£Í³¼ÆÖµ¶ÔÈ·¶¨ÓÅ»¯µÄÁ¬½Ó˳ÐòºÍÁ¬½Ó·½·¨Ò²ºÜÓÐÓá£ÔÚ±íµÄÄÚÈÝ·¢Éú±ä»¯Ê±£¬Ó¦¶¨ÆÚ½øÐÐͳ¼ÆÖµµÄ»ñÈ¡¡£</p>
+<p>Ë÷Òýͨ³£²»ÓÃÓÚ ORDER BY
+»òÖ´ÐÐÁ¬½Ó¡£¶ÔÒ»¸ö´ó±íµÄÒ»´Î˳ÐòɨÃ裬ÔÙ×öÒ»¸öÏÔʽµÄÅÅÐòͨ³£±ÈË÷ÒýɨÃèÒª¿ì¡£</p>
+<p>µ«ÊÇ£¬ÔÚ LIMIT ºÍ ORDER BY
+½áºÏʹÓÃʱ¾­³£»áʹÓÃË÷Òý£¬ÒòΪֻ»á·µ»Ø±íµÄһС²¿·Ö¡£Êµ¼ÊÉÏ£¬ËäÈ»
+MAX() ºÍ MIN() ²¢²»Ê¹ÓÃË÷Òý£¬Í¨¹ý¶Ô ORDER BY ºÍ LLIMIT
+ʹÓÃË÷ÒýÈ¡µÃ×î´óÖµºÍ×îСֵҲÊÇ¿ÉÒԵģº<br />
+<br />
+    SELECT col<br />
+    FROM tab<br />
+    ORDER BY col [ DESC ]<br />
+    LIMIT 1;</p>
+<p>µ±Ê¹ÓÃͨÅä·û²Ù×÷£¬ÀýÈç LIKE »ò ~
+ʱ£¬Ë÷ÒýÖ»ÄÜÔÚÌض¨µÄÇé¿öÏÂʹÓ㺠 </p>
+<ul>
+<li>×Ö·û´®µÄ¿ªÊ¼²¿·Ö±ØÐëÊÇÆÕͨ×Ö·û´®£¬Ò²¾ÍÊÇ˵£º</li>
+<li>LIKE Ä£Ê½²»ÄÜÒÔ % ´òÍ·¡£</li>
+<li>~ £¨ÕýÔò±í´ïʽ£©Ä£Ê½±ØÐëÒÔ ^ ´òÍ·¡£</li>
+<li>×Ö·û´®²»ÄÜÒÔÆ¥Åä¶à¸ö×Ö·ûµÄģʽÀà´òÍ·£¬ÀýÈç [a-e]¡£</li>
+<li>´óСдÎ޹صIJéÕÒ£¬Èç ILIKE ºÍ ~* µÈ²»Ê¹ÓÃË÷Òý¡£µ«¿ÉÒÔÓà4.12
+½ÚÃèÊöµÄº¯ÊýË÷Òý¡£</li>
+<li>ÔÚ×ö initdb Ê±±ØÐë²ÉÓÃȱʡµÄ±¾µØÉèÖàC locale¡£</li>
+</ul>
+<h4><a name="4.9"></a>4.9)
+ÎÒÈçºÎ²ÅÄÜ¿´µ½²éѯÓÅ»¯Æ÷ÊÇÔõÑù´¦ÀíÎҵIJéѯµÄ£¿</h4>
+²Î¿¼ <font size="-1">EXPLAIN</font> ÊÖ²áÒ³¡£
+<h4><a name="4.10"></a>4.10) R-tree Ë÷ÒýÊÇʲô£¿</h4>
+<p>R-tree Ë÷ÒýÓÃÓÚË÷Òý¿Õ¼äÊý¾Ý¡£Ò»¸ö¹þÏ£Ë÷ÒýÎÞ·¨´¦Àí·¶Î§ËÑË÷¡£¶ø
+B-tree Ë÷ÒýÖ»ÄÜ´¦ÀíһάµÄ·¶Î§ËÑË÷¡£R-tree
+Ë÷Òý¿ÉÒÔ´¦Àí¶àάÊý¾Ý¡£ÀýÈ磬Èç¹û¿ÉÒÔÔÚÒ»¸öÀàÐÍΪ point
+µÄ×Ö¶ÎÉϽ¨Á¢Ò»¸ö R-tree Ë÷Òý£¬ÄÇôϵͳÄܸü¸ßЧµØ»Ø´ðÀàËÆ
+¡°Ñ¡ÔñÔÚÒ»¸ö³¤·½Ðη¶Î§ÄÚµÄËùÓе㡱¡£<br />
+<br />
+ÃèÊö×î³õµÄ R-Tree Éè¼ÆµÄÕýʽÂÛÎÄÊÇ£º<br />
+<br />
+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.<br />
+<br />
+Ä㻹¿ÉÒÔÔÚ Stonebraker µÄ¡°Readings in Database
+Systems¡±ÀïÕÒµ½ÕâƪÎÄÕ¡£<br />
+<br />
+ϵͳÄÚÖõĠR-Tree ¿ÉÒÔ´¦Àí¶à±ßÐκͷ½ÐΡ£ÀíÂÛÉÏ˵£¬R-tree
+¿ÉÒÔÀ©Õ¹Îª´¦Àí¸ü¶àάÊý¡£²»¹ýÔÚʵ¼ùÉÏ£¬À©Õ¹ R-trees
+ÐèÒªÒ»¶¨µÄ¹¤×÷Á¿£¬¶øÎÒÃÇĿǰûÓÐÈçºÎ×öµÄÎĵµ¡£</p>
+<h4><a name="4.11"></a>4.11) Ê²Ã´ÊÇ»ùÒò²éѯÓÅ»¯£¨Genetic Query
+Optimization£©£¿</h4>
+<p>GEQO Ä£¿é²ÉÓûùÒòËã·¨£¨Genetic
+Algorithm£¬GA£©¼Ó¿ì¶à±íÁ¬½ÓµÄ²éѯÓÅ»¯¡£ËüÔÊÐíͨ¹ý·ÇÇî¾ÙËÑË÷´¦Àí´óµÄÁ¬½Ó²éѯ¡£</p>
+<h4><a name="4.12"></a>4.12)
+ÎÒÔõÑù×öÕýÔò±í´ïʽËÑË÷ºÍ´óСдÎ޹صÄÕýÔò±í´ïʽËÑË÷£¿ÔõÑùÀûÓÃË÷Òý½øÐдóСдÎÞ¹ØËÑË÷£¿</h4>
+<p>²Ù×÷·û ~ ´¦ÀíÕýÔò±í´ïʽƥÅ䣬¶ø ~*
+´¦Àí´óСдÎ޹صÄÕýÔò±í´ïʽƥÅä¡£´óдЩÎ޹صĠLIKE ±äÖÖ³ÉΪ
+ILIKE¡£<br />
+<br />
+´óСдÎ޹صĵÈʽ±È½Ïͨ³£Ð´×ö£º<br />
+<br />
+    SELECT *<br />
+    FROM tab<br />
+    WHERE lower(col) = 'abc';<br />
+<br />
+ÕâÑù½«²»»áʹÓñê×¼µÄË÷Òý¡£µ«ÊÇ¿ÉÒÔ´´½¨Ò»¸ö¿É±»ÀûÓõĺ¯ÊýË÷Òý:<br />
+<br />
+    CREATE INDEX tabindex ON tab (lower(col));</p>
+<h4><a name="4.13"></a>4.13) ÔÚÒ»¸ö²éѯÀÎÒÔõÑù¼ì²âÒ»¸ö×Ö¶ÎÊÇ·ñΪ
+NULL£¿</h4>
+<p>ÓàIS NULL ºÍ IS NOT NULL ²âÊÔÕâ¸ö×ֶΡ£ <br /></p>
+<h4><a name="4.14"></a>4.14) ¸÷ÖÖ×Ö·ûÀàÐÍÖ®¼äÓÐʲô²»Í¬£¿</h4>
+<p>  ÀàÐÍ            ÄÚ²¿Ãû³Æ    ËµÃ÷<br />
+  --------------------------------------------------<br />
+  "char"        char         1¸ö×Ö·û character<br />
+  CHAR(#)      bpchar      
+¶¨³¤×Ö·û´®£¬Êµ¼ÊÊý¾Ý²»×㶨Ò峤¶Èʱ£¬ÒÔ¿Õ¸ñ²¹Æë<br />
+  VARCHAR(#)  varchar    
+Ö¸¶¨ÁË×î´ó³¤¶È£¬±ä³¤×Ö·û´®£¬²»×㶨Ò峤¶ÈµÄ²¿·Ö²»²¹Æë<br />
+  TEXT           text         ´®³¤¶È½öÊÜÐеÄ×î´ó³¤¶ÈÏÞÖÆ<br />
+  BYTEA          bytea       ±ä³¤×Ö½ÚÐòÁУ¨±ä³¤µÄ¶þ½øÖÆÊý¾Ý£©<br />
+<br />
+ÔÚϵͳ±íºÍÔÚһЩ´íÎóÐÅÏ¢ÀïÄ㽫¿´µ½ÄÚ²¿Ãû³Æ¡£ <br />
+<br />
+ÉÏÃæ×îºóËÄÖÖÀàÐÍÊÇ"varlena"£¨±ä³¤£©ÀàÐÍ£¨Ò²¾ÍÊÇ˵£¬¿ªÍ·µÄËĸö×Ö½ÚÊdz¤¶È£¬ºóÃæ²ÅÊÇÊý¾Ý£©¡£ÓÚÊÇʵ¼ÊÕ¼ÓõĿռä±ÈÉùÃ÷µÄ´óСҪ¶àһЩ¡£È»¶øÕâЩÀàÐͶ¼¿ÉÒÔ±»Ñ¹Ëõ´æ´¢£¬Ò²¿ÉÒÔÓÃ
+TOAST ÍÑ»ú´æ´¢£¬Òò´Ë´ÅÅÌ¿Õ¼äÒ²¿ÉÄܱÈÔ¤ÏëµÄÒªÉÙ¡£<br />
+<br />
+CHAR(n) ×îÊʺÏÓÚ´æ´¢³¤¶È»ù±¾²î²»¶àµÄ×Ö·û´®¡£VARCHAR(n)
+ÔÚ´æ´¢ÏÞÖÆÁË×î´ó³¤¶ÈµÄ±ä³¤×Ö·û´®ÊÇ×îºÃµÄ¡£TEXT
+ÊÊÓÃÓÚ´æ´¢²»ÏÞÖƳ¤¶ÈµÄ×Ö·û´®£¬×î´ó¿É´ï 1G¡£BYTEA
+ÓÃÓÚ´æ´¢¶þ½øÖÆÊý¾Ý£¬ÓÈÆäÊÇ°üº¬ NULL
+×Ö½Ú£¨¶þ½øÖƵÄ0£©µÄÖµ¡£ÕâЩÀàÐ;ßÓÐÀàÐ͵ÄÐÔÄÜ¡£</p>
+<h4><a name="4.15.1"></a>4.15.1)
+ÎÒÔõÑù´´½¨Ò»¸öÐòÁкÅ/×Ô¶¯µÝÔöµÄ×ֶΣ¿</h4>
+<p>PostgreSQL Ö§³Ö SERIAL
+Êý¾ÝÀàÐÍ¡£ËüÔÚ×Ö¶ÎÉÏ×Ô¶¯´´½¨Ò»¸öÐòÁкÍË÷Òý¡£ÀýÈ磬<br />
+    CREATE TABLE person ( <br />
+        id SERIAL, <br />
+        name TEXT <br />
+        );<br />
+<br />
+»á×Ô¶¯×ª»»Îª£º <br />
+    <br />
+    CREATE SEQUENCE person_id_seq;<br />
+    CREATE TABLE person ( <br />
+        id INT4 NOT NULL DEFAULT nextval('person_id_seq'),<br />
+        name TEXT <br />
+        );<br />
+    CREATE UNIQUE INDEX person_id_key ON person ( id );<br />
+<br />
+²Î¿¼ create_sequence ÊÖ²áÒ³»ñÈ¡¹ØÓÚÐòÁеĸü¶àÐÅÏ¢¡£Ä㻹¿ÉÒÔÓÃÿÐеÄ
+oid
+×Ö¶Î×÷Ϊһ¸öΨһֵ¡£²»¹ý£¬Èç¹ûÄãÐèÒªÇãµ¹ºÍÖØÔØÊý¾Ý¿â£¬ÄãÐèҪʹÓÃ
+pg_dump µÄ -o Ñ¡Ïî»òÕß COPY WITH OIDS Ñ¡ÏîÒÔ±£Áô OID¡£ </p>
+<h4><a name="4.15.2"></a>4.15.2)
+ÎÒÈçºÎ»ñµÃÒ»¸ö²åÈëµÄÐòÁкŵÄÖµ£¿</h4>
+<p>Ò»ÖÖ·½·¨ÊÇÔÚ²åÈë֮ǰÏÈÓú¯Êý nextval() ´ÓÐòÁжÔÏóÀï¼ìË÷³öÏÂÒ»¸ö
+SERIAL Öµ£¬È»ºóÔÙÏÔʽ²åÈ롣ʹÓà<a href="#4.15.1">4.15.1</a>
+ÀïµÄÀý±í£¬¿ÉÓÃαÂëÕâÑùÃèÊö£º <br />
+<br />
+    new_id = execute("SELECT nextval('person_id_seq')");<br />
+    execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise
+Pascal')");<br />
+<br />
+ÕâÑù»¹ÄÜÔÚÆäËû²éѯÖÐʹÓôæ·ÅÔÚ new_id ÀïµÄÐÂÖµ£¨ÀýÈ磬×÷Ϊ person
+±íµÄÍâ¼ü£©¡£×¢Òâ×Ô¶¯´´½¨µÄ SEQUENCE ¶ÔÏóµÄÃû³Æ½«»áÊÇ
+&lt;table&gt;_&lt;serialcolumn&gt;_seq£¬ÕâÀï table ºÍ serialcolumn
+·Ö±ðÊÇÄãµÄ±íµÄÃû³ÆºÍÄãµÄ SERIAL ×ֶεÄÃû³Æ¡£ <br />
+<br />
+ÀàËƵģ¬ÔÚ SERIAL ¶ÔÏóȱʡ²åÈëºóÄã¿ÉÒÔÓú¯Êý currval() ¼ìË÷¸Õ¸³ÖµµÄ
+SERIAL Öµ£¬ÀýÈ磬 <br />
+<br />
+    execute("INSERT INTO person (name) VALUES ('Blaise
+Pascal')");<br />
+    new_id = execute("SELECT currval('person_id_seq')");<br />
+<br />
+×îºó£¬Äã¿ÉÒÔʹÓôӠINSERT Óï¾ä·µ»ØµÄ <a href="4.16">OID</a>
+²éÕÒȱʡֵ£¬¾¡¹ÜÕâ¿ÉÄÜÊÇ×îȱ·¦ÒÆÖ²ÐԵķ½·¨¡£ÔÚ Perl ÀʹÓôøÓÐ
+Edmund Mergl µÄ DBD::Pg Ä£¿éµÄ DBI£¬oid Öµ¿ÉÒÔͨ¹ý
+$sth-&gt;execute() ºóµÄ $sth-&gt;{pg_oid_status} »ñµÃ¡£ </p>
+<h4><a name="4.15.3"></a>4.15.3) Ê¹Óàcurrval() ºÍ nextval()
+»áµ¼ÖÂÒ»¸öÓëÆäËûÓû§Ö®¼äµÄÎÉÂÒÇé¿öÂð£¿</h4>
+<p>²»»á¡£currval()
+·µ»Øºǫ́½ø³Ì¶ø²»ÊÇËùÓÐÓû§¸³ÓèµÄµ±Ç°Öµ¡£<br /></p>
+<h4><a name="4.15.4"></a>4.15.4)
+Ϊʲô²»ÔÚÊÂÎñÒì³£ÖÐÖ¹ºóÖØÓÃÐòÁкÅÄØ£¿ÎªÊ²Ã´ÔÚÐòÁкÅ×ֶεÄÈ¡ÖµÖдæÔÚ¼ä¶ÏÄØ£¿</h4>
+<p>
+ΪÁËÌá¸ß²¢·¢ÐÔ£¬ÐòÁкÅÔÚÐèÒªµÄʱºò¸³ÓèÕýÔÚÔËÐеÄÊÂÎñ£¬²¢ÇÒÖ»ÔÚÊÂÎñ½áÊø֮ǰ²»·âËø¡£Õâ¾Í»áµ¼ÖÂزÕÛÊÂÎñºóµÄÐòÁкųöÏÖ¼ä¸ô¡£</p>
+<h4><br />
+<a name="4.16"></a>4.16) Ê²Ã´ÊÇ OID£¿Ê²Ã´ÊÇ TID£¿</h4>
+<p>OID ÊÇ PostgreSQL ÖÐÐеÄΨһ±êʶ¡£PostgreSQL
+Àï´´½¨µÄÿһÐж¼»ñµÃÒ»¸öΨһµÄ OID¡£ËùÓÐÔÚ initdb ¹ý³ÌÖд´½¨µÄ OID
+¶¼Ð¡ÓÚ 16384 £¨²Î¼û include/access/transam.h£©¡£ËùÓÐÓû§´´½¨µÄ OID
+¶¼´óÓÚ»òµÈÓÚÕâ¸öÖµ¡£È±Ê¡Ê±£¬ËùÓÐÕâЩ OID
+²»½öÔÚÒ»¸ö±í»òÒ»¸öÊý¾Ý¿âÀïÃæΨһ£¬¶øÇÒÔÚÕû¸ö PostgreSQL
+°²×°ÀïÒ²ÊÇΨһµÄ¡£ <br />
+<br />
+PostgreSQL ÔÚËüµÄÄÚ²¿ÏµÍ³±íÀïʹÓàOID ÔÚ±íÖ®¼ä½¨Á¢ÁªÏµ¡£ÕâЩ OID
+¿ÉÒÔÓÃÓÚ±êʶÌض¨µÄÓû§ÐÐÒÔ¼°ÓÃÔÚÁ¬½ÓÀï¡£½¨ÒéʹÓÃ×Ö¶ÎÀàÐÍ OID ´æ´¢
+OID Öµ¡£¿ÉÒÔÔÚ OID ×Ö¶ÎÉÏ´´½¨Ò»¸öË÷ÒýÒÔ¿ìËÙ·ÃÎÊ¡£ <br />
+<br />
+OID ´ÓÒ»¸ö±»ËùÓÐÊý¾Ý¿âʹÓõÄÖÐÐÄÇøÓòÀ︳ֵ¸øËùÓÐÐÂÐС£Èç¹ûÄãÏë°Ñ
+OID ¸Ä³É±ðµÄÖµ£¬»òÕßÏë×öÒ»·Ý±íµÄ´øԭʼ OID µÄ¿½±´£¬Äã¿ÉÒÔ×öµ½£º
+<br />
+<br />
+    CREATE TABLE new(old_oid oid, mycol int);<br />
+    SELECT old_oid, mycol INTO new FROM old;<br />
+    COPY new TO '/tmp/pgtable';<br />
+    DELETE FROM new;<br />
+    COPY new WITH OIDS FROM '/tmp/pgtable';<br />
+<br />
+OID
+ÓÃ4×Ö½ÚµÄÕûÊý±£´æ£¬ÔÚ³¬¹ý40ÒÚʱ½«Òç³ö¡£Ã»ÓÐÈ˱¨¸æ³öÏÖ¹ýÒç³ö£¬¶øÎÒÃÇ´òËãÔÚÓÐÈ˱¨¸æ֮ǰÏû³ýÕâ¸öÏÞÖÆ¡£<br />
+
+<br />
+TID ÓÃÓÚ±êʶ´ø×ÅÊý¾Ý¿é£¨µØÖ·£©ºÍ£¨¿éÄÚ£©Æ«ÒƵÄÌض¨µÄÎïÀíÐС£TID
+ÔÚÐб»¸ü¸Ä»òÖØÔغó·¢Éú¸Ä±ä¡£Ë÷ÒýÈë¿ÚʹÓÃËüÃÇÖ¸ÏòÎïÀíÐС£</p>
+<h4><a name="4.17"></a>4.17) PostgreSQL
+ʹÓõÄһЩÊõÓïµÄº¬ÒåÊÇʲô£¿</h4>
+<p>
+һЩԴ´úÂëºÍһЩ¾ÉÒ»µãµÄÎĵµÊ¹ÓÃһЩÓиü³£ÓÃÓ÷¨µÄÊõÓï¡£ÏÂÃæÊÇÆäÖÐÒ»²¿·Ö£º
+<br />
+    table, relation, class <br />
+    row, record, tuple <br />
+    column, field, attribute <br />
+    retrieve, select <br />
+    replace, update <br />
+    append, insert <br />
+    OID, serial value <br />
+    portal, cursor <br />
+    range variable, table name, table alias <br />
+<br />
+ÓÐÒ»¸öͨÓÃÊý¾Ý¿âÊõÓïµÄÁÐ±í£º<a href=
+"http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html">http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html</a>
+¡£  </p>
+<h4><a name="4.18"></a>4.18) ÎªÊ²Ã´ÎÒÊÕµ½´íÎó¡°<i>ERROR: Memory
+exhausted in AllocSetAlloc()</i>¡±£¿</h4>
+<p>
+ÕâºÜ¿ÉÄÜÊÇϵͳµÄÐéÄâÄÚ´æÓùâÁË£¬»òÕßÄں˶ÔijЩ×ÊÔ´Óнϵ͵ÄÏÞÖÆÖµ¡£ÔÚÆô¶¯
+postmaster Ö®Ç°ÊÔÊÔÏÂÃæµÄÃüÁ <br />
+<br />
+    ulimit -d 262144<br />
+    limit datasize 256m<br />
+<br />
+È¡¾öÓÚÄãÓõÄ
+shell£¬ÉÏÃæÃüÁîÖ»ÓÐÒ»ÌõÄܳɹ¦£¬µ«ÊÇËü½«°ÑÄãµÄ½ø³ÌÊý¾Ý¶ÎÏÞÖÆÉèµÃ±È½Ï¸ß£¬Òò¶øÒ²ÐíÄÜÈòéѯÍê³É¡£ÕâÌõÃüÁîÓ¦ÓÃÓÚµ±Ç°½ø³Ì£¬ÒÔ¼°ËùÓÐÔÚÕâÌõÃüÁîÔËÐк󴴽¨µÄ×Ó½ø³Ì¡£Èç¹ûÄãÊÇÔÚÔËÐÐSQL¿Í»§¶ËʱÒòΪºǫ́·µ»ØÁËÌ«¶àµÄÊý¾Ý¶ø³öÏÖÎÊÌ⣬ÇëÔÚÔËÐпͻ§¶Ë֮ǰִÐÐÉÏÊöÃüÁî¡£</p>
+<h4><a name="4.19"></a>4.19) ÎÒÈçºÎ²ÅÄÜÖªµÀËùÔËÐеĠPostgreSQL
+µÄ°æ±¾£¿</h4>
+<p>´Ó psql À¼üÈë SELECT version()£»<br /></p>
+<h4><a name="4.20"></a>4.20)
+ΪʲôÎҵĴó¶ÔÏó²Ù×÷µ¼Ö´íÎó¡°<i>invalid large obj
+descriptor¡±£¨·Ç·¨µÄ´ó¶ÔÏóÃèÊö·û£©</i>£¿</h4>
+<p>ÄãÐèÒªÔÚʹÓÃÈκδó¶ÔÏó¾ä±úµÄÇ°ºó·ÅÉÏ BEGIN WORK ºÍ
+COMMIT£¬Ò²¾ÍÊÇ˵£¬°üΧ lo_open ... lo_close¡£ <br />
+<br />
+Ŀǰ PostgreSQL
+Ç¿ÖÆʵʩÕâÌõ¹æÔò£ºÔÚÊÂÎñÌύʱ¹Ø±Õ´ó¶ÔÏó¾ä±ú£¬ÕâÑù£¬£¨Ã»ÓвÉÓÃÊÂÎñʱ£©£¬Ê״ζԴó¶ÔÏó¾ä±ú×öÈκÎÊÂÇéµÄÆóͼ¶¼»áµ¼ÖÂÒ»¸ö
+invalid large obj
+descriptor¡£ËùÒÔ£¬Èç¹ûÄãûÓÐʹÓÃÒ»¸öÊÂÎñ£¬ÒÔÇ°Äܹ¤×÷µÄ´úÂ루ÖÁÉÙÊÇ´ó¶àÊýʱ¼ä£©½«»áÉú³ÉÕâôһ¸ö´íÎóÐÅÏ¢¡£
+<br />
+<br />
+Èç¹ûÄãʹÓÿͻ§¶Ë½Ó¿Ú£¬Èç ODBC£¬Äã¿ÉÄÜÐèÒª set auto-commit off¡£</p>
+<h4><a name="4.21"></a>4.21)
+ÎÒÈçºÎ´´½¨Ò»¸öȱʡֵÊǵ±Ç°Ê±¼äµÄ×ֶΣ¿</h4>
+<p>ʹÓàCURRENT_TIMESTAMP£º<br />
+<br />
+    CREATE TABLE test(x int, modtime timestamp DEFAULT
+CURRENT_TIMESTAMP);</p>
+<h4><a name="4.22"></a>4.22) ÎªÊ²Ã´Ê¹ÓàIN µÄ×Ó²éѯÕâôÂý£¿</h4>
+<p>
+Ä¿Ç°£¬ÎÒÃÇͨ¹ýΪÍâ²éѯµÄÿһÐÐ˳ÐòɨÃè×Ó²éѯµÄ½á¹ûÀ´Á¬½Ó×Ó²éѯºÍÍâ²éѯ¡£Èç¹û×Ó²éѯ·µ»ØÉÙÊý¼¸ÐУ¬¶øÍâ²éѯ·µ»ØºÜ¶àÐУ¬IN
+Ö´Ðеúܿ졣ΪÁ˼ӿìÆäËû IN ²éѯµÄÖ´ÐУ¬¿ÉÒÔÓàEXISTS Ìæ»» IN£º
+<br />
+<br />
+    SELECT *<br />
+    FROM tab<br />
+    WHERE col IN (SELECT subcol FROM subtab);<br />
+<br />
+¸ÄΪ£º <br />
+<br />
+    SELECT *<br />
+    FROM tab<br />
+    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol =
+col);<br />
+<br />
+ºóÕßÒªÏëÖ´Ðеøü¿ì£¬subcol
+Ó¦¸ÃÊÇÒ»¸öË÷ÒýÁС£ÎÒÃÇÏ£ÍûÔÚδÀ´µÄ·¢²¼°æ±¾ÖÐÐÞ²¹Õâ¸öÏÞÖÆ¡£</p>
+<h4><a name="4.23"></a>4.23) ÎÒÔõÑù½øÐРouter join
+£¨ÍâÁ¬½Ó£©£¿</h4>
+<p>PostgreSQL ²ÉÓñê×¼µÄ SQL Óï·¨Ö§³ÖÍâÁ¬½Ó¡£ÕâÀïÊÇÁ½¸öÀý×Ó£º<br />
+<br />
+    SELECT *<br />
+    FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);<br />
+<br />
+»ò <br />
+    SELECT *<br />
+    FROM t1 LEFT OUTER JOIN t2 USING (col);<br />
+<br />
+ÕâÁ½¸öµÈ¼ÛµÄ²éѯÔÚ t1.col ºÍ t2.col ÉÏ×öÁ¬½Ó£¬²¢ÇÒ·µâ»?t1
+ÖÐËùÓÐδÁ¬½ÓµÄÐУ¨ÄÇЩÔÚ t2 ÖÐûÓÐÆ¥ÅäµÄÐУ©¡£ÓÒ[Íâ]Á¬½Ó(RIGHT
+OUTER JOIN)½«·µ»Ø t2 ÖÐδÁ¬½ÓµÄÐС£ÍêÈ«ÍâÁ¬½Ó£¨FULL OUTER
+JOIN£©½«·µ»Ø t1 ºÍ t2 ÖÐδÁ¬½ÓµÄÐС£¹Ø¼ü×Ö OUTER
+ÔÚ×ó[Íâ]Á¬½Ó¡¢ÓÒ[Íâ]Á¬½ÓºÍÍêÈ«[Íâ]Á¬½ÓÖÐÊÇ¿ÉÑ¡µÄ£¬ÆÕͨÁ¬½Ó±»³ÉΪÄÚÁ¬½Ó£¨INNER
+JOIN£©¡£<br />
+<br />
+ÔÚ´ËÇ°µÄ°æ±¾ÖУ¬ÍâÁ¬½Ó¿ÉÒÔÓàUNION ºÍ NOT IN
+À´Ä£Äâ¡£ÀýÈ磬ÏÂÃæµÄÀý×ÓÔÚ±í tab1 ºÍ tab2 Ö®¼ä×öÍâÁ¬½Ó£º<br />
+<br />
+    SELECT tab1.col1, tab2.col2<br />
+    FROM tab1, tab2<br />
+    WHERE tab1.col1 = tab2.col1<br />
+<br />
+    UNION ALL<br />
+<br />
+    SELECT tab1.col1, NULL<br />
+    FROM tab1<br />
+    WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)<br />
+    ORDER BY col1</p>
+<h4><a name="4.24"></a>4.24) ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿</h4>
+<p>ûÓа취²éѯµ±Ç°Êý¾Ý¿âÖ®ÍâµÄÊý¾Ý¿â¡£ÒòΪ PostgreSQL
+¼ÓÔØÊý¾Ý¿âÏà¹ØµÄϵͳĿ¼£¨ÏµÍ³±í£©£¬¿çÊý¾Ý¿âµÄ²éѯÈçºÎÖ´ÐÐҲδÃ÷È·¡£<br />
+
+<br />
+contrib/dblink
+ÔÊÐí²ÉÓú¯Êýµ÷ÓÃʵÏÖ¿ç¿â²éѯ¡£µ±È»¿ÉÒÔͬʱÁ¬½Óµ½²»Í¬µÄÊý¾Ý¿â²¢ÔÚ¿Í»§¶ËºÏ²¢½á¹û¡£</p>
+<h4><a name="4.25"></a>4.25) ÈçºÎÈú¯Êý·µ»Ø¶àÐлò¶àÁУ¿</h4>
+<p>¿ÉÒÔÔÚ PL/pgSQL º¯ÊýÖÐʹÓàrefcursors ·µ»Ø½á¹û¼¯¡£²Î¿´ <a href=
+"http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html">http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html</a>,
+23.7.3.3½Ú¡£<br /></p>
+<h4><a name="4.26"></a>4.26) ÎªÊ²Ã´ÔÚ PL/PgSQL
+º¯ÊýÖв»ÄÜ¿É¿¿µØ´´½¨»òɾ³ýÁÙʱ±í£¿</h4>
+<p>PL/PgSQL »º´æº¯ÊýµÄÄÚÈÝ£¬ÓÉ´Ë´øÀ´µÄÒ»¸ö²»ºÃµÄ¸±×÷ÓÃÊÇÈôÒ»¸ö
+PL/PgSQL
+º¯Êý·ÃÎÊÁËÒ»¸öÁÙʱ±í£¬È»ºó¸Ã±í±»É¾³ý²¢Öؽ¨ÁË£¬ÔòÔٴε÷Óøú¯Êý½«Ê§°Ü£¬ÒòΪ»º´æµÄº¯ÊýÄÚÈÝÈÔȻָÏò¾ÉµÄÁÙʱ±í¡£½â¾öµÄ·½·¨ÊÇÔÚ
+PL/PgSQL ÖÐÓàEXECUTE
+¶ÔÁÙʱ±í½øÐзÃÎÊ¡£ÕâÑù»á±£Ö¤²éѯÔÚÖ´ÐÐÇ°×ÜÊÇÖØзÖÎö¡£</p>
+<h4><a name="4.27"></a>4.27) ÓÐÄÄЩÊý¾Ý¸´ÖÆÑ¡Ï</h4>
+<p>
+Óм¸ÖÖÖ÷/´Ó·½Ê½µÄ¸´ÖÆÑ¡Ïî¡£ÕâЩѡÏîÖ»ÔÊÐíÖ÷Êý¾Ý¿â½øÐиüУ¬´ÓÊý¾Ý¿âÖ»ÄܽøÐжÁ¡£ÍøÒ³
+<a href=
+"http://gborg.PostgreSQL.org/genpage?replication_research">http://gborg.PostgreSQL.org/genpage?replication_research</a>
+ µÄ×îºóÁгöÁËÕâЩѡÏî¡£ÔÚ <a href=
+"http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php">
+http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</a>
+ÕýÔÚ½øÐÐÒ»¸ö¶àÖ÷±¾¸´ÖƵĽâ¾ö·½°¸¡£</p>
+<h4><a name="4.28"></a>4.28) ÓÐÄÄЩÊý¾Ý¼ÓÃÜÑ¡Ï</h4>
+<p>contrib/pgcrypto °üº¬Á˺ܶàÔÚ SQL
+²éѯÖÐʹÓõļÓÃܺ¯Êý¡£¼ÓÃÜ¿Í»§¶Ëµ½·þÎñÆ÷¶Ë´«ÊäÊý¾ÝµÄΨһ·½·¨ÊÇÔÚ
+pg_hba.conf ÖвÉÓàhostss ¡£ <br />
+<br />
+7.3 °æ±¾ÖÐ×Ô¶¯¶ÔÊý¾Ý¿âÓû§ÃÜÂë½øÐмÓÃÜ¡£ÔÚÒÔÇ°µÄ°æ±¾ÖУ¬±ØÐëÔÚ
+postgresql.conf Öдò¿ª PASSWORD_ENCRYPTION
+Ñ¡Ïî¡£·þÎñÆ÷¿ÉÒÔÔËÐÐÔÚ¼ÓÃܵÄÎļþϵͳÉÏ£¨ÒÔ´ïµ½¼ÓÃܵÄÄ¿µÄ£©¡£<br />
+<br />
+--------------------------------------------------------------------------------</p>
+<h2 align="center">À©Õ¹ PostgreSQL</h2>
+<h4><a name="5.1"></a>5.1) ÎÒдÁËÒ»¸öÓû§¶¨Ò庯Êý¡£µ±ÎÒÔÚ psql
+ÀïÔËÐÐʱ£¬ÎªÊ²Ã´»áµ¼Ö core dump£¿</h4>
+<p>
+²úÉúÕâ¸öÎÊÌâµÄÔ­ÒòºÜ¶à¡£ÇëÏÈÔÚÒ»¸öµ¥¶ÀµÄ²âÊÔ³ÌÐòÖвâÊÔÄãµÄ×Ô¶¨Ò庯Êý¡£</p>
+<h4><a name="5.2"></a>5.2) ÎÒÈçºÎÄܸø PostgreSQL
+¹±Ï×һЩͦ²»´íµÄÐÂÀàÐͺͺ¯Êý£¿</h4>
+<p>½«ÄãµÄÀ©Õ¹·¢Ë͵½ pgsql-hackers ÓʼþÁÐ±í£¬ËüÃÇ×îÖջᱻ·Åµ½
+contrib/ ×ÓĿ¼¡£<br /></p>
+<h4><a name="5.3"></a>5.3) ÎÒÔõÑùдһ¸ö·µ»ØÒ»ÌõÔª×éµÄ C º¯Êý£¿</h4>
+<p>ÔÚ PostgreSQL 7.3 ÒÔºóµÄ°æ±¾ÖУ¬C, PL/PgSQL ºÍ SQL
+ÍêÈ«Ö§³Ö·µ»ØֵΪ±íµÄº¯Êý¡£¸ü¶àÐÅÏ¢Çë²Î¿¼ ³ÌÐòÔ±Ö¸ÄÏ£¨the
+Programmer's Guide£©¡£ÔÚ contrib/tablefunc ÖÐÓÐÒ»¸öÀý×ÓÊÇÓàC
+дµÄ·µ»ØֵΪ±íµÄº¯Êý¡£</p>
+<h4><a name="5.4"></a>5.4)
+ÎÒÐÞ¸ÄÁËÒ»¸öÔ´Îļþ£¬ÎªÊ²Ã´ÖØбàÒëºóûÓп´µ½¸Ä±ä£¿</h4>
+<p>Makefiles ÖÐûÓаüº¬Í·ÎļþµÄÕýÈ·ÒÀÀµ¡£Äú±ØÐëÏÈ×ömake clean£¬
+ÔÙ×öÒ»´Î make ¡£Èç¹ûÄúʹÓõÄÊÇ GCC £¬Ôò¿ÉÒÔ²ÉÓÃÑ¡Ïî --enable-depend
+ÈñàÒëÆ÷×Ô¶¯Éú³ÉÍ·ÎļþµÄÒÀÀµ¹Øϵ¡£</p>
+</body>
+</html>