author | Bruce Momjian | |
Tue, 17 May 2005 04:17:47 +0000 (04:17 +0000) | ||
committer | Bruce Momjian | |
Tue, 17 May 2005 04:17:47 +0000 (04:17 +0000) |
doc/FAQ_chinese | patch | blob | blame | history | |
doc/src/FAQ/FAQ_chinese.html | patch | blob | blame | history |
Ŀǰά»¤ÈËÔ±£ºBruce Momjian ([email protected])
±¾ÎĵµµÄ×îа汾¿ÉÒÔÔÚhttp://www.postgresql.org/files/documentation/faqs/FAQ.html
²Ù×÷ϵͳƽ̨Ïà¹ØµÄÎÊÌâÔÚhttp://www.postgresql.org/docs/faq/Àï»Ø´ð¡£
PostgreSQL ÊÇÏÂÒ»´ú DBMS µÄÑо¿ÔÐÍ POSTGRES Êý¾Ý¿â¹ÜÀíϵͳµÄÔöÇ¿°æ¡£PostgreSQL ÔÚ±£³Ö POSTGRES
PostgreSQL µÄ¿ª·¢ÓÉ²Î¼Ó PostgreSQL ¿ª·¢ÓʼþÁбíµÄÒ»¸ö¿ª·¢ÈËԱС×é½øÐС£Ä¿Ç°µÄе÷ÈËÊÇ Marc G. Fournier £¨[email protected]
Õâ¸öÈí¼þ×î³õÔÚ²®¿ËÀûµÄÃû×ÖÊÇ Postgres¡£ÔÚ 1995 Ä꣬µ±Ôö¼ÓÁË SQL ¹¦Äܺó£¬ËüµÄÃû×Ö¸Ä³É Postgres95¡£ÔÚ 1996ÄêÄ©£¬²Å¸ÄÃûΪ
²¿·Ö°æÈ¨£¨c£©1996-2002£¬PostgreSQL È«Çò¿ª·¢Ð¡×é
£¨Portions copyright (c) 1996-2002, PostgreSQL Global Development Group
£¨THE
Ò»°ã˵À´£¬Ò»¸öÏÖ´úµÄ UNIX ¼æÈÝµÄÆ½Ì¨¶¼ÄÜÔËÐÐ PostgreSQL ¡£ÔÚ°²×°Ö¸ÄÏÀïÁгöÁË·¢²¼Ê±¾¹ýÃ÷È·²âÊÔµÄÆ½Ì¨¡£
°Ñ libpq C ¿â£¬psql£¬ÆäËû½Ó¿ÚºÍ¿Í»§¶ËÓ¦ÓóÌÐò±àÒë³É¿ÉÒÔÔÚ MS Windows ƽ̨ÉÏÔËÐÐÊÇ¿ÉÄܵġ£ÕâÖÖÇé¿öÏ£¬¿Í»§¶ËÔÚ MS Windows
·þÎñÆ÷
Êý¾Ý¿â·þÎñÆ÷ÏÖÔÚ¿ÉÒÔͨ¹ý Cygwin £¬Cygnus µÄ Unix/NT ÒÆÖ²¿âÔÚ Windows NT ºÍ Win2k ÉÏÔËÐС£²ÎÔÄ·¢²¼°æ±¾ÀïµÄ See pgsql/doc/FAQ_MSWIN
ÒÆÖ²µ½ MS Win NT/2000/XP µÄ±¾»ú°æµÄ¹¤×÷ÕýÔÚ½øÐС£
PostgreSQL µÄÖ÷ÄäÃûFTPÕ¾µãÊÇ ftp://ftp.PostgreSQL.org/pub£¬¾µÏñÕ¾µã¿ÉÒԲο¼ÎÒÃÇÍøÕ¾µÄÖ÷Ò³¡£
Ö÷ÒªµÄÓʼþÁбíÊÇ£º[email protected]¡£¿ÉÒÔÔÚÄÇÀïÌÖÂÛÓйØ
subscribe
»¹¿ÉÒÔ»ñȡժҪÁÐ±í¡£Òª¼ÓÈëÕâ¸öÁÐ±í£¬·¢Óʼþµ½£º[email protected]£¬ÆäÄÚÈÝΪ£º
subscribe
»¹¿ÉÒԲμӳô³æÓʼþÁÐ±í¡£Òª¼ÓÈëÕâ¸öÁÐ±í£¬·¢ËÍÒ»¸öÓʼþµ½ [email protected]£¬ÄÚÈÝΪ£º
subscribe
subscribe
http://postgresql.org/
ÉÌÒµÖ§³Ö¹«Ë¾µÄÁбíÔÚ http://www.PostgreSQL.org/users-lounge/commercial-support.html
ÎÒÃǼƻ®Ã¿ËĸöÔ·¢²¼Ò»¸öÖ÷Òª°æ±¾¡£
psql
ÎÒÃǵÄÐí¶àÓû§Ï²»¶ The Practical SQL Handbook, Bowman, Judith S., et al., Addison-Wesley ¡£
ÏÖÔÚ´ó¸ÅÓÐÊ®¼¸¸öÈËÓÐ PostgreSQL CVS ¹éµµ COMMIT µÄȨÏÞ¡£ËûÃǶ¼ÒѾÌá½»Á˷dz£¶à¸ßÖÊÁ¿µÄ²¹¶¡ÁË£¬ÒÔÖÁÓÚÏÖÓеÄÌá½»È˺ÜÄѸúÉϽÚ×࣬²¢ÇÒÎÒÃÇÏàÐÅËûÃÇÌá½»µÄ²¹¶¡¶¼ÊǸßÖÊÁ¿µÄ¡£
ͬÑùÒ²Òª¿´¿´ÎÒÃÇµÄ ftp Õ¾µã ftp://ftp.postgreSQL.org/pub£¬¿´ÓÐûÓиüеÄ
×Ô´Ó1996Ä꿪ʼ£¬PostgreSQL
¶ÔÓÚÒ»¸ö¿ªÔ´ÏîÄ¿À´Ëµ£¬ÖÊÁ¿»ù´¡ÉèÊ©ÊǷdz£ÖØÒªµÄ¡£ËüÄÜ·ÀÖ¹³öÏÖÑÏÖØÑÓ³ÙÏîĿǰ½øµÄ»ìÂÒ¡£
ÏÔÈ»£¬Õâ¸ö×éÖ¯µÄÔËת³É±¾²»·Æ¡£Î¬³ÖÆäǰ½øÓи÷ÖÖÔ¶ȵġ¢Ò»´ÎÐԵĿªÖ§¡£Èç¹ûÄã»òÕßÄãµÄ¹«Ë¾ÄܽøÐоèÔùÒÔÖ§³ÖÕâÏîÊÂÒµ£¬Çë·ÃÎÊ
ËäÈ»¸ÃÍøÒ³Ìá¼°ÁË PostgreSQL ¹«Ë¾£¬ÕâЩ¾èÔù½«½öÓÃÓÚÖ§³Ö PostgreSQL
¿ÉÒÔÔÚhttp://gborg.postgresql.org/project/psqlodbc/projdisplay.php
OpenLink ODBC ¿ÉÒÔ´Ó http://www.openlinksw.com/
ËûÃÇ¿ÉÄܽ«Õâ¸ö²úÆ·ÏúÊÛ¸øÄÇЩÐèÒªÉÌÒµÖ§³ÖµÄÓû§£¬µ«ÊÇ×ÜÊÇÓÐÒ»¸ö freeware £¨×ÔÓÉÈí¼þ£©µÄ°æ±¾¿ÉÒԵõ½¡£ÇëѯÎÊ
¶ÔÓÚ Web ¼¯³É£¬PHP ÊÇÒ»¸ö¼«ºÃµÄ½Ó¿Ú¡£ËüÔÚ£ºhttp://www.php.net/
¶ÔÓÚ¸´ÔÓµÄÈÎÎñ£¬ºÜ¶àÈ˲ÉÓà Perl ½Ó¿ÚºÍ CGI.pm »ò mod_perl ¡£
ÎÒÃÇÓÐÒ»¸ö²»´íµÄͼÐÎÓû§½çÃæ£¬³ÆÎª PgAccess £¬ËüÒ²¿ÉÒÔÓÃ×÷±¨±íÉú³ÉÆ÷¡£ÍøÒ³ÊÇ http://www.pgaccess.org/¡£
´ó¶àÊýÁ÷Ðеıà³ÌÓïÑÔ¶¼ÓзÃÎÊ PostgreSQL µÄ½Ó¿Ú¡£Çë¼ì²é±à³ÌÓïÑÔµÄÀ©Õ¹Ä£¿éÁÐ±í¡£
PostgreSQL ·¢²¼°üÖаüº¬ÁËÒÔϽӿڣº
ÆäËûµÄ½Ó¿ÚÔÚ http://gborg.postgresql.org É쵀 Drivers/Interfaces
ÔÚÔËÐÐ configure ʱ¼ÓÉÏ --prefix Ñ¡Ïî¡£
Õâ¿ÉÄÜÊÇºÜ¶à·½ÃæµÄÎÊÌ⣬ÇëÏȼì²é²Ù×÷ϵͳºËÐÄÊÇ·ñÖ§³Ö System V À©Õ¹¡£PostgreSQL ÐèÒªÄÚºËÖ§³Ö¹²ÏíÄÚ´æºÍÐźŵơ£
Èç¹û´íÎóÐÅÏ¢ÊÇ IpcSemaphoreCreate: semget failed (No space left on device)£¬ÄÇôÔÒòÊÇÄãµÄÄÚºËûÓÐÅäÖÃ×ã¹»µÄÐźŵÆ×ÊÔ´¡£Postgres
ÔÚÊý¾Ý¿â·ÃÎÊÁ¿ºÜ´óʱ£¬ÐźŵƲ»¿ÉÓÿÉÄܵ¼ÖÂϵͳ±ÀÀ£¡£
Èç¹û´íÎóÐÅÏ¢ÊÇÆäËûµÄʲô¶«Î÷£¬Äã¿ÉÄܾ͸ù±¾Ã»ÓÐÔÚÄÚºËÀïÃæÅäÖÃÐźŵÆÖ§³Ö¡£Óйع²ÏíÄÚ´æºÍÐźŵƵÄÏêϸÐÅÏ¢Çë²Î¿¼
ȱʡʱ£¬PostgreSQL Ö»ÔÊÐíͨ¹ý unix ÓòÌ×½Ó×ÖÀ´×Ô±¾»úµÄÁ¬½Ó¡£³ý·ÇÄãʹÓà -i ¿ª¹ØÆô¶¯ postmaster£¬²¢ÇÒͨ¹ý¶ÔÓ¦µÄ±à¼
µ±È»£¬Ë÷Òý¿ÉÒÔ¼ÓËÙ²éѯ¡£EXPLAIN ÃüÁîÔÊÐíÄã¹Û²ì PostgreSQL
Èç¹ûÄãÕý´¦ÀíÒ»¶Ñ INSERT£¬¿¼ÂÇʹÓà COPY ÃüÁîÒÔ´óÅúÁ¿µÄ·½Ê½½øÐС£ÕâÑù×ö±Èµ¥¶ÀµÄÒ»¸ö¸ö
»¹Óм¸¸öµ÷½ÚµÄÑ¡Ïî¿ÉÒÔʹÓá£Äã¿ÉÒÔͨ¹ý´ø -o -F Ñ¡ÏîÆô¶¯ postmaster À´½ûÖ¹ fsync()¡£ÕâÑù½«±ÜÃâÿ´ÎÊÂÎñºóµ÷Óà fsync()
Ä㻹¿ÉÒÔʹÓÃ
PostgreSQL Óм¸¸öÌØÐÔÓÃÓÚ±¨¸æ×´Ì¬ÐÅÏ¢£¬ÕâЩÐÅÏ¢¿ÉÄܶԵ÷ÊÔÓÃ;ºÜÓаïÖú¡£
Ê×ÏÈ£¬Í¨¹ý¸½´ø --enable-cassert Ñ¡ÏîÔËÐÐ configure£¬Óкܶà assert()
postmaster ºÍ postgres ¶¼ÓÐһЩ¿ÉÓõÄÑ¡Ïî¡£Ê×ÏÈ£¬µ±ÄãÆô¶¯ postmaster
cd /usr/local/pgsql
Èç¹û postmaster
Èç¹û postmaster ÒѾÔËÐУ¬¿ÉÔÚÒ»¸ö´°¿ÚÖÐÆô¶¯ psql£¬È»ºóÕÒ³ö psql ¶ÔÓ¦µÄ postgres ½ø³ÌµÄ
Ä㻹¿ÉÒÔ´ø profiling Ö§³Ö±àÒëºǫ́£¬ÒÔ±ã¹Û²ìÄÄЩº¯ÊýÕ¼ÓõÄÖ´ÐÐʱ¼ä½Ï¶à¡£profile Îļþ½«·ÅÔÚ pgsql/data/base/dbname
ÄãÐèÒªÔö´ó postmaster Æô¶¯Ê±Ö§³ÖµÄ²¢·¢ºǫ́½ø³ÌÊý¡£
ȱʡÏÞÖÆÊÇ 32 ½ø³Ì¡£Äã¿ÉÒÔͨ¹ý´ø×ÅÊʵ±µÄ -N Öµ¿ª¹ØÆô¶¯ postmaster Ôö¼ÓÕâ¸öÊýÄ¿¡£»òÕßÐÞ¸Ä postgresql.conf
ҪעÒâÈç¹ûÄã°Ñ -N ÉèÖÃΪ´óÓÚ 32£¬Äã±ØÐëͬÑùÔö´ó -B£¬³¬¹ýËüȱʡµÄ 64£»-B ±ØÐë×îÉÙÊÇ -N
ÔÚ Postgres ÔçÓÚ 6.5 µÄ°æ±¾£¬×î´óºǫ́½ø³ÌÊýȱʡÊÇ
¸ÃĿ¼Ï±£´æÁ˲éѯִÐÐÆ÷Éú³ÉµÄÁÙʱÎļþ¡£ÀýÈ磬Èç¹ûÐèҪΪÂú×ã ORDER BY Ìõ¼þ×öÅÅÐò£¬²¢ÇÒÅÅÐòÐèÒª±Èºǫ́µÄ
ÁÙʱÎļþÓ¦¸Ã×Ô¶¯É¾³ý£¬²»¹ýÈç¹ûÔÚÅÅÐò¹ý³ÌÖкǫ́±ÀÀ£Á˾ͿÉÄÜÁôÏÂÀ´¡£Í£Ö¹²¢ÖØÆð postmaster ½«»áɾ³ýÕâЩÎļþ¡£
¼´Ê¹ÄãÖ»ÐèÒª¿ªÍ·µÄ¼¸ÐУ¬Ò²»áÉæ¼°µ½Õû¸ö²éѯ¡£ÊÔ×ÅʹÓôøÓÐ ORDER BY µÄ²éѯ¡£Èç¹ûÓÐÒ»¸öË÷ÒýÓë
7.3 ÀïÔö¼ÓÁË ALTER TABLE DROP COLUMN£¬ÒÔÖ§³Ö´ËÏÄÜ¡£ÔÚÒÔǰµÄ°æ±¾ÖУ¬¿ÉÒÔÕâÑù×ö£º
BEGIN;
Ŀǰά»¤ÈËÔ±£ºBruce Momjian (
±¾ÎĵµµÄ×îа汾¿ÉÒÔÔÚ
²Ù×÷ϵͳƽ̨Ïà¹ØµÄÎÊÌâÔÚ
PostgreSQL ÊÇÏÂÒ»´ú DBMS µÄÑо¿ÔÐÍ POSTGRES PostgreSQL µÄ¿ª·¢ÓÉ²Î¼Ó PostgreSQL PostgreSQL 1.01 µÄ×÷ÕßÊÇ Andrew Yu ºÍ Jolly Õâ¸öÈí¼þ×î³õÔÚ²®¿ËÀûµÄÃû×ÖÊÇ Postgres¡£ÔÚ 1995 Ä꣬µ±Ôö¼ÓÁË SQL PostgreSQL Êý¾Ý¿â¹ÜÀíϵͳ £¨PostgreSQL Data Base Management System£© ²¿·Ö°æÈ¨£¨c£©1996-2002£¬PostgreSQL È«Çò¿ª·¢Ð¡×é £¨Portions copyright (c) 1996-2002, PostgreSQL Global £¨Permission to use, copy, modify, and distribute this software £¨IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO £¨THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY Ò»°ã˵À´£¬Ò»¸öÏÖ´úµÄ UNIX ¼æÈÝµÄÆ½Ì¨¶¼ÄÜÔËÐÐ PostgreSQL °Ñ libpq C ¿â£¬psql£¬ÆäËû½Ó¿ÚºÍ¿Í»§¶ËÓ¦ÓóÌÐò±àÒë³É¿ÉÒÔÔÚ MS ·þÎñÆ÷ Êý¾Ý¿â·þÎñÆ÷ÏÖÔÚ¿ÉÒÔͨ¹ý Cygwin £¬Cygnus µÄ Unix/NT ÒÆÖ²¿âÔÚ ÒÆÖ²µ½ MS Win NT/2000/XP µÄ±¾»ú°æµÄ¹¤×÷ÕýÔÚ½øÐС£ PostgreSQL µÄÖ÷ÄäÃûFTPÕ¾µãÊÇ
Ö÷ÒªµÄÓʼþÁбíÊÇ£º
»¹¿ÉÒÔ»ñȡժҪÁÐ±í¡£Òª¼ÓÈëÕâ¸öÁÐ±í£¬·¢Óʼþµ½£º
»¹¿ÉÒԲμӳô³æÓʼþÁÐ±í¡£Òª¼ÓÈëÕâ¸öÁÐ±í£¬·¢ËÍÒ»¸öÓʼþµ½
ÉÌÒµÖ§³Ö¹«Ë¾µÄÁбíÔÚ
ÎÒÃǼƻ®Ã¿ËĸöÔ·¢²¼Ò»¸öÖ÷Òª°æ±¾¡£ ÓÐÁ½±¾¹ØÓÚ PostgreSQL µÄÊéÔÚÏßÌṩ£¬ÔÚ
psql ÓÐһЩ²»´íµÄ \d ÎÒÃÇµÄ web Õ¾µã°üº¬¸ü¶àµÄÎĵµ£® ÁíÒ»¸öÊÇ "Teach Yourself SQL in 21 Days, Second ÎÒÃǵÄÐí¶àÓû§Ï²»¶ The Practical SQL Handbook, Bowman, Judith ÏÖÔÚ´ó¸ÅÓÐÊ®¼¸¸öÈËÓÐ PostgreSQL CVS ¹éµµ
ͬÑùÒ²Òª¿´¿´ÎÒÃÇµÄ ftp Õ¾µã
×Ô´Ó1996Ä꿪ʼ£¬PostgreSQL ËäÈ»¸ÃÍøÒ³Ìá¼°ÁË PostgreSQL ¹«Ë¾£¬ÕâЩ¾èÔù½«½öÓÃÓÚÖ§³Ö ¿ÉÒÔÔÚ
OpenLink ODBC ¿ÉÒÔ´Ó
ËûÃÇ¿ÉÄܽ«Õâ¸ö²úÆ·ÏúÊÛ¸øÄÇЩÐèÒªÉÌÒµÖ§³ÖµÄÓû§£¬µ«ÊÇ×ÜÊÇÓÐÒ»¸ö ¶ÔÓÚ Web ¼¯³É£¬PHP ÊÇÒ»¸ö¼«ºÃµÄ½Ó¿Ú¡£ËüÔÚ£º
¶ÔÓÚ¸´ÔÓµÄÈÎÎñ£¬ºÜ¶àÈ˲ÉÓà Perl ½Ó¿ÚºÍ CGI.pm »ò mod_perl ¡£ ÎÒÃÇÓÐÒ»¸ö²»´íµÄͼÐÎÓû§½çÃæ£¬³ÆÎª PgAccess ´ó¶àÊýÁ÷Ðеıà³ÌÓïÑÔ¶¼ÓзÃÎÊ PostgreSQL PostgreSQL ·¢²¼°üÖаüº¬ÁËÒÔϽӿڣº ÆäËûµÄ½Ó¿ÚÔÚ
ÔÚÔËÐÐ configure ʱ¼ÓÉÏ --prefix Ñ¡Ïî¡£ Õâ¿ÉÄÜÊÇºÜ¶à·½ÃæµÄÎÊÌ⣬ÇëÏȼì²é²Ù×÷ϵͳºËÐÄÊÇ·ñÖ§³Ö System V Èç¹û´íÎóÐÅÏ¢ÊÇ IpcSemaphoreCreate: semget failed (No space ÔÚÊý¾Ý¿â·ÃÎÊÁ¿ºÜ´óʱ£¬ÐźŵƲ»¿ÉÓÿÉÄܵ¼ÖÂϵͳ±ÀÀ£¡£ ȱʡʱ£¬PostgreSQL Ö»ÔÊÐíͨ¹ý unix µ±È»£¬Ë÷Òý¿ÉÒÔ¼ÓËÙ²éѯ¡£EXPLAIN Èç¹ûÄãÕý´¦ÀíÒ»¶Ñ INSERT£¬¿¼ÂÇʹÓà »¹Óм¸¸öµ÷½ÚµÄÑ¡Ïî¿ÉÒÔʹÓá£Äã¿ÉÒÔͨ¹ý´ø -o -F Ñ¡ÏîÆô¶¯ Ä㻹¿ÉÒÔʹÓà postmaster -B Ä㻹¿ÉÒÔʹÓúǫ́½ø³ÌµÄ -S Ä㻹¿ÉÒÔʹÓà CLUSTER PostgreSQL Ê×ÏÈ£¬Í¨¹ý¸½´ø --enable-cassert Ñ¡ÏîÔËÐÐ configure£¬Óкܶà postmaster ºÍ postgres ¶¼ÓÐһЩ¿ÉÓõÄÑ¡Ïî¡£Ê×ÏÈ£¬µ±ÄãÆô¶¯ Èç¹û postmaster ûÓÐÔËÐУ¬Äã¿ÉÒÔÖ±½ÓÔÚÃüÁîÐÐÉÏÆô¶¯ postgres Èç¹û postmaster ÒѾÔËÐУ¬¿ÉÔÚÒ»¸ö´°¿ÚÖÐÆô¶¯ postgres ³ÌÐòÓÐ -s£¬-A£¬ºÍ -t Ä㻹¿ÉÒÔ´ø profiling ÄãÐèÒªÔö´ó postmaster Æô¶¯Ê±Ö§³ÖµÄ²¢·¢ºǫ́½ø³ÌÊý¡£ ȱʡÏÞÖÆÊÇ 32 ½ø³Ì¡£Äã¿ÉÒÔͨ¹ý´ø×ÅÊʵ±µÄ -N Öµ¿ª¹ØÆô¶¯ ҪעÒâÈç¹ûÄã°Ñ -N ÉèÖÃΪ´óÓÚ 32£¬Äã±ØÐëͬÑùÔö´ó ÔÚ Postgres ÔçÓÚ 6.5 µÄ°æ±¾£¬×î´óºǫ́½ø³ÌÊýȱʡÊÇ ¸ÃĿ¼Ï±£´æÁ˲éѯִÐÐÆ÷Éú³ÉµÄÁÙʱÎļþ¡£ÀýÈ磬Èç¹ûÐèҪΪÂú×ã PostgreSQL ¿ª·¢×é¶Ôÿ´ÎСµÄÉý¼¶½ö×öÁ˽ÏÉÙµÄÐÞ¸Ä,Òò´Ë´Ó 7.2 ´ÅÅÌÎļþ¸ñʽûÓб仯µÄÉý¼¶£¬¿ÉÒÔÓà pg_upgrade ¼´Ê¹ÄãÖ»ÐèÒª¿ªÍ·µÄ¼¸ÐУ¬Ò²»áÉæ¼°µ½Õû¸ö²éѯ¡£ÊÔ×ÅʹÓôøÓÐ 7.3 ÀïÔö¼ÓÁË ALTER TABLE DROP Èç¹ûȱʡµÄ¿é´óСÔö³¤µ½ 32K £¬×î´óµÄ±í³ß´çºÍ×î´óÁÐÊý¿ÉÒÔÔö¼Ó¡£ ÀýÈ磬¼ÙÉèÓÐÒ»¸ö 100,000 ÐеÄÎļþ£¬Ã¿ÐÐÓÐÒ»¸öÕûÊýºÍÒ»¸öÎı¾ÃèÊö¡£¼ÙÉèÎı¾´®µÄƽ¾ù³¤¶Èλ20×Ö½Ú¡£Æ½ÃæÎļþÕ¼Óà 2.8 MB¡£´æ·ÅÕâЩÊý¾ÝµÄ ±íµÄ×î´ó³ß´ç 16 TB ²»ÐèÒª²Ù×÷ϵͳ¶Ô´óÎļþµÄÖ§³Ö¡£´ó±íÓöà¸ö 1 GB Èç¹ûȱʡµÄ¿é´óСÔö³¤µ½ 32K ÀýÈ磬¼ÙÉèÓÐÒ»¸ö 100,000 Ë÷Òý²»ÐèÒªÕâô¶àµÄ¶îÍâÏûºÄ£¬µ«Ò²È·Êµ°üÀ¨±»Ë÷ÒýµÄÊý¾Ý£¬Òò´ËËüÃÇÒ²¿ÉÄÜºÜ´ó¡£ ¿ÕÖµ´æ·ÅÔÚλͼÖУ¬Òò´ËÕ¼ÓúÜÉٵĿռ䡣 Ò²¿ÉÒÔÊÔÊÔÎļþ pgsql/src/tutorial/syscat.source¡£ËüÑÝʾÁËÐí¶à´ÓÊý¾Ý¿âϵͳ±íÀï»ñÈ¡ÐÅÏ¢ÐèÒªµÄ µ«ÊÇ£¬ÔÚ LIMIT ºÍ ORDER BY ½áºÏʹÓÃʱ¾³£»áʹÓÃË÷Òý£¬ÒòΪֻ»á·µ»Ø±íµÄһС²¿·Ö¡£Êµ¼ÊÉÏ£¬ËäÈ» MAX() ºÍ MIN() ²¢²»Ê¹ÓÃË÷Òý£¬Í¨¹ý¶Ô µ±Ê¹ÓÃͨÅä·û²Ù×÷£¬ÀýÈç LIKE »ò ~ ʱ£¬Ë÷ÒýÖ»ÄÜÔÚÌØ¶¨µÄÇé¿öÏÂʹÓ㺠R-tree Ë÷ÒýÓÃÓÚË÷Òý¿Õ¼äÊý¾Ý¡£Ò»¸ö¹þÏ£Ë÷ÒýÎÞ·¨´¦Àí·¶Î§ËÑË÷¡£¶ø B-tree Ë÷ÒýÖ»ÄÜ´¦ÀíһάµÄ·¶Î§ËÑË÷¡£R-tree GEQO Ä£¿é²ÉÓûùÒòËã·¨£¨Genetic Algorithm£¬GA£©¼Ó¿ì¶à±íÁ¬½ÓµÄ²éѯÓÅ»¯¡£ËüÔÊÐíͨ¹ý·ÇÇî¾ÙËÑË÷´¦Àí´óµÄÁ¬½Ó²éѯ¡£ ²Ù×÷·û ~ ´¦ÀíÕýÔò±í´ïʽƥÅ䣬¶ø ~* ´¦Àí´óСдÎ޹صÄÕýÔò±í´ïʽƥÅä¡£´óдЩÎÞ¹ØµÄ LIKE ±äÖÖ³ÉΪ ILIKE¡£ Óà IS NULL ºÍ IS NOT NULL ²âÊÔÕâ¸ö×ֶΡ£ ÀàÐÍ PostgreSQL Ö§³Ö SERIAL Êý¾ÝÀàÐÍ¡£ËüÔÚ×Ö¶ÎÉÏ×Ô¶¯´´½¨Ò»¸öÐòÁкÍË÷Òý¡£ÀýÈ磬 Ò»ÖÖ·½·¨ÊÇÔÚ²åÈë֮ǰÏÈÓú¯Êý nextval() ´ÓÐòÁжÔÏóÀï¼ìË÷³öÏÂÒ»¸ö SERIAL Öµ£¬È»ºóÔÙÏÔʽ²åÈ롣ʹÓà ²»»á¡£currval() ·µ»Øºǫ́½ø³Ì¶ø²»ÊÇËùÓÐÓû§¸³ÓèµÄµ±Ç°Öµ¡£ ΪÁËÌá¸ß²¢·¢ÐÔ£¬ÐòÁкÅÔÚÐèÒªµÄʱºò¸³ÓèÕýÔÚÔËÐеÄÊÂÎñ£¬²¢ÇÒÖ»ÔÚÊÂÎñ½áÊøÖ®Ç°²»·âËø¡£Õâ¾Í»áµ¼ÖÂØ²ÕÛÊÂÎñºóµÄÐòÁкųöÏÖ¼ä¸ô¡£ OID ÊÇ PostgreSQL ÖÐÐеÄΨһ±êʶ¡£PostgreSQL Àï´´½¨µÄÿһÐж¼»ñµÃÒ»¸öΨһµÄ OID¡£ËùÓÐÔÚ initdb ¹ý³ÌÖд´½¨µÄ OID ¶¼Ð¡ÓÚ 16384 £¨²Î¼û include/access/transam.h£©¡£ËùÓÐÓû§´´½¨µÄ OID ¶¼´óÓÚ»òµÈÓÚÕâ¸öÖµ¡£È±Ê¡Ê±£¬ËùÓÐÕâЩ OID ²»½öÔÚÒ»¸ö±í»òÒ»¸öÊý¾Ý¿âÀïÃæÎ¨Ò»£¬¶øÇÒÔÚÕû¸ö PostgreSQL °²×°ÀïÒ²ÊÇΨһµÄ¡£ һЩԴ´úÂëºÍһЩ¾ÉÒ»µãµÄÎĵµÊ¹ÓÃһЩÓиü³£ÓÃÓ÷¨µÄÊõÓï¡£ÏÂÃæÊÇÆäÖÐÒ»²¿·Ö£º ÕâºÜ¿ÉÄÜÊÇϵͳµÄÐéÄâÄÚ´æÓùâÁË£¬»òÕßÄں˶ÔijЩ×ÊÔ´Óнϵ͵ÄÏÞÖÆÖµ¡£ÔÚÆô¶¯ postmaster ֮ǰÊÔÊÔÏÂÃæµÄÃüÁ ´Ó psql À¼üÈë SELECT version()£» ÄãÐèÒªÔÚʹÓÃÈκδó¶ÔÏó¾ä±úµÄǰºó·ÅÉÏ BEGIN WORK ºÍ COMMIT£¬Ò²¾ÍÊÇ˵£¬°üΧ lo_open ... lo_close¡£ ʹÓà CURRENT_TIMESTAMP£º Ŀǰ£¬ÎÒÃÇͨ¹ýΪÍâ²éѯµÄÿһÐÐ˳ÐòɨÃè×Ó²éѯµÄ½á¹ûÀ´Á¬½Ó×Ó²éѯºÍÍâ²éѯ¡£Èç¹û×Ó²éѯ·µ»ØÉÙÊý¼¸ÐУ¬¶øÍâ²éѯ·µ»ØºÜ¶àÐУ¬IN Ö´Ðеúܿ졣ΪÁ˼ӿìÆäËû IN ²éѯµÄÖ´ÐУ¬¿ÉÒÔÓà EXISTS Ìæ»» IN£º PostgreSQL ²ÉÓñê×¼µÄ SQL Óï·¨Ö§³ÖÍâÁ¬½Ó¡£ÕâÀïÊÇÁ½¸öÀý×Ó£º ûÓа취²éѯµ±Ç°Êý¾Ý¿âÖ®ÍâµÄÊý¾Ý¿â¡£ÒòΪ PostgreSQL ¼ÓÔØÊý¾Ý¿âÏà¹ØµÄϵͳĿ¼£¨ÏµÍ³±í£©£¬¿çÊý¾Ý¿âµÄ²éѯÈçºÎÖ´ÐÐҲδÃ÷È·¡£ ¿ÉÒÔÔÚ PL/pgSQL º¯ÊýÖÐʹÓà refcursors ·µ»Ø½á¹û¼¯¡£²Î¿´ PL/PgSQL Óм¸ÖÖÖ÷/´Ó·½Ê½µÄ¸´ÖÆÑ¡Ïî¡£ÕâЩѡÏîÖ»ÔÊÐíÖ÷Êý¾Ý¿â½øÐиüУ¬´ÓÊý¾Ý¿âÖ»ÄܽøÐжÁ¡£ÍøÒ³ contrib/pgcrypto °üº¬Á˺ܶàÔÚ SQL ²úÉúÕâ¸öÎÊÌâµÄÔÒòºÜ¶à¡£ÇëÏÈÔÚÒ»¸öµ¥¶ÀµÄ²âÊÔ³ÌÐòÖвâÊÔÄãµÄ×Ô¶¨Ò庯Êý¡£ ½«ÄãµÄÀ©Õ¹·¢Ë͵½ pgsql-hackers ÔÚ PostgreSQL 7.3 ÒÔºóµÄ°æ±¾ÖУ¬C, PL/PgSQL ºÍ SQL Makefiles ÖÐûÓаüº¬Í·ÎļþµÄÕýÈ·ÒÀÀµ¡£Äú±ØÐëÏÈ×ömake ¿ÕÖµ´æ·ÅÔÚλͼÖУ¬Òò´ËÕ¼ÓúÜÉٵĿռ䡣 Ò²¿ÉÒÔÊÔÊÔÎļþ Ë÷Òýͨ³£²»ÓÃÓÚ ORDER BY µ«ÊÇ£¬ÔÚ LIMIT ºÍ ORDER BY µ±Ê¹ÓÃͨÅä·û²Ù×÷£¬ÀýÈç LIKE »ò ~ R-tree Ë÷ÒýÓÃÓÚË÷Òý¿Õ¼äÊý¾Ý¡£Ò»¸ö¹þÏ£Ë÷ÒýÎÞ·¨´¦Àí·¶Î§ËÑË÷¡£¶ø GEQO Ä£¿é²ÉÓûùÒòËã·¨£¨Genetic ²Ù×÷·û ~ ´¦ÀíÕýÔò±í´ïʽƥÅ䣬¶ø ~* Óà IS NULL ºÍ IS NOT NULL ²âÊÔÕâ¸ö×ֶΡ£ ÀàÐÍ ÄÚ²¿Ãû³Æ ˵Ã÷ PostgreSQL Ö§³Ö SERIAL Ò»ÖÖ·½·¨ÊÇÔÚ²åÈë֮ǰÏÈÓú¯Êý nextval() ´ÓÐòÁжÔÏóÀï¼ìË÷³öÏÂÒ»¸ö ²»»á¡£currval() OID ÊÇ PostgreSQL ÖÐÐеÄΨһ±êʶ¡£PostgreSQL ´Ó psql À¼üÈë SELECT version()£» ÄãÐèÒªÔÚʹÓÃÈκδó¶ÔÏó¾ä±úµÄǰºó·ÅÉÏ BEGIN WORK ºÍ ʹÓà CURRENT_TIMESTAMP£º PostgreSQL ²ÉÓñê×¼µÄ SQL Óï·¨Ö§³ÖÍâÁ¬½Ó¡£ÕâÀïÊÇÁ½¸öÀý×Ó£º ûÓа취²éѯµ±Ç°Êý¾Ý¿âÖ®ÍâµÄÊý¾Ý¿â¡£ÒòΪ PostgreSQL ¿ÉÒÔÔÚ PL/pgSQL º¯ÊýÖÐʹÓà refcursors ·µ»Ø½á¹û¼¯¡£²Î¿´
PL/PgSQL »º´æº¯ÊýµÄÄÚÈÝ£¬ÓÉ´Ë´øÀ´µÄÒ»¸ö²»ºÃµÄ¸±×÷ÓÃÊÇÈôÒ»¸ö³£¼ûÎÊÌâ
Óû§¿Í»§¶ËÎÊÌâ
ϵͳ¹ÜÀíÎÊÌâ
²Ù×÷ÎÊÌâ
À©Õ¹ PostgreSQL
³£¼ûÎÊÌâ
Óû§¿Í»§¶ËÎÊÌâ
ϵͳ¹ÜÀíÎÊÌâ
²Ù×÷ÎÊÌâ
Ò»¸öÊý¾Ý¿â×î´ó³ß´ç£¿ ÎÞÏÞÖÆ£¨´æÔÚ 1TB µÄÊý¾Ý¿â£©
36 ×Ö½Ú: ÿÐеÄÍ·£¨¹À¼ÆÖµ£©
À©Õ¹ PostgreSQL