OSDN Git Service

Add SCM_CREDS to get owner of unix-domain socket on BSD-like systems.
authorBruce Momjian <bruce@momjian.us>
Tue, 21 Aug 2001 00:33:28 +0000 (00:33 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 21 Aug 2001 00:33:28 +0000 (00:33 +0000)
doc/FAQ_japanese
doc/src/FAQ/FAQ_japanese.html
src/backend/libpq/auth.c
src/backend/libpq/hba.c
src/backend/libpq/pg_hba.conf.sample
src/include/libpq/pqcomm.h
src/interfaces/libpq/fe-auth.c
src/interfaces/odbc/connection.c
src/interfaces/odbc/connection.h

index 3517bbb..245df7e 100644 (file)
-PostgreSQL(¥Ý¥¹¥È¥°¥ì¥¹¡¦¥­¥å¡¼¡¦¥¨¥ë)¤Ë¤Ä¤¤¤Æ¤è¤¯¤¢¤ë¼ÁÌä(FAQ)
+PostgreSQL(¥Ý¥¹¥È¥°¥ì¥¹¡¦¥­¥å¡¼¡¦¥¨¥ë)¤Ë¤Ä¤¤¤Æ¤è¤¯¤¢¤ë¼ÁÌä¤È¤½¤Î²òÅú(FAQ)
 
-¸¶Ê¸ºÇ½ª¹¹¿·Æü: Mon Apr 9 15:27:47 EDT 2001
+¸¶Ê¸ºÇ½ª¹¹¿·Æü: Tue Jul 10 21:01:47 EDT 2001
 
 ¸½ºß¤Î°Ý»ý´ÉÍý¼Ô: Bruce Momjian (pgman@candle.pha.pa.us)
 
 ¤³¤Îʸ½ñ¤ÎºÇ¿·ÈǤϠhttp://www.PostgreSQL.org/ ¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
 
-¥×¥é¥Ã¥È¥Û¡¼¥à¤ËÆÃÍ­¤Î¼ÁÌä¤Ë¤Ä¤¤¤Æ¤Ï:http://www.PostgreSQL.org/users-lounge/
-docs/faq.html
+¥×¥é¥Ã¥È¥Û¡¼¥à¤ËÆÃÍ­¤Î¼ÁÌä¤Ë¤Ä¤¤¤Æ¤Ï
+:http://www.PostgreSQL.org/users-lounge/docs/faq.html
 ¤Ë²óÅú¤¬¤¢¤ê¤Þ¤¹¡£
 
+(°Ê²¼¡¢Ìõ¼Ô¤Ë¤è¤ëÃí¼á¤ò [ÌõÃí¡§ ¤È ] ¤È¤Ç°Ï¤ó¤Çµ­¤·¤Þ¤¹¡£)
 [ÌõÃí¡§
-        (°Ê²¼¡¢Ìõ¼Ô¤Ë¤è¤ëÃí¼á¤ò [ÌõÃí¡§ ¤È ] ¤È¤Ç°Ï¤ó¤Çµ­¤·¤Þ¤¹¡£)
+        ÆüËܸìÈÇÀ½ºî¤Ë¤Ä¤¤¤Æ¤Î¥á¥â¤ÏºÇ¸åÈø¤Ø°ÜÆ°¤·¤Þ¤·¤¿¡£
 
-          http://www.PostgreSQL.org/ ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È http://postgresql.nucba.ac.jp/
-¤Ë¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¡¢"Not Found" ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¤Ï¡¢
-                http://www.PostgreSQL.org/index.html
-        ¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
+        ÆüËܸìÈǤΤ³¤Îʸ½ñ¤Ï "User's Lounge" ¤Î "Collection of FAQs" ¤Î
+        "Japanese" ¤È¤¤¤¦¸«½Ð¤·¤Î¤È¤³¤í¤Ë¤¢¤ê¤Þ¤¹¡£
+        (http://www.PostgreSQL.org/docs/faq-japanese.html)
 
-
-  ÆüËܸìÈǤÎÀ½ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
-
-  ºÇ½ª¹¹¿·Æü:   2001ǯ04·î15Æü
-  ËÝÌõ¼Ô:       ·¬Â¼ ½á (Jun Kuwamura <juk@jp.postgresql.org>)
-
-  ¤³¤ÎFAQ¤ÎÏÂÌõ¤ÎºîÀ®¤Ë¤¢¤¿¤ê¶¨ÎϤò¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹(·É¾Î¤Ïά¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹):
-
-                ÅÄÃç Ì­(Minoru Tanaka <Tanaka.Minoru@keiken.co.jp>)
-                Àаæ Ã£É×(Tatsuo Ishii <t-ishii@sra.co.jp>)
-                óîÆ£ ÃοÍ(Tomohito Saitoh <tomos@elelab.nsc.co.jp>)
-                ÇϾ젠ȥ(Hajime Baba <baba@kusastro.kyoto-u.ac.jp>)
-                ²¬ËÜ °ì¹¬(Kazuyuki Okamoto <kokamoto@itg.hitachi.co.jp>)
-                ¾®¿û ¾¼°ì(Shoichi Kosuge <s-kosuge@str.hitachi.co.jp>)
-                »³²¼ µÁÇ·(Yoshiyuki Yamashita <dica@eurus.dti.ne.jp>)
-                ¶­ ¿¿ÂÀϺ(Sintaro Sakai <s_sakai@mxn.mesh.ne.jp>)
-                À¸±Û ¾»¸Ê(Masami Ogoshi <ogochan@zetabits.com>)
-                ÀÐÀî ½Ó¹Ô(Toshiyuki Ishikawa <tosiyuki@gol.com>)
-                ËÜÅÄ Ìй­(Shigehiro Honda <fwif0083@mb.infoweb.ne.jp>)
-                ¤»¤» ¤¸¤å¤ó(Jun Sese <sesejun@linet.gr.jp>)
-
-  ¤ò¤Ï¤¸¤á¡¢¥Ý¥¹¥È¥°¥ì¥¹¤Ë´Ø¤¹¤ëÏÃÂêË­ÉÙ¤ÊÆüËܸì¥Ý¥¹¥È¥°¥ì¥¹¡¦¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¡¢
-  ÏÂÌõ¤Î¤­¤Ã¤«¤±¤òºî¤Ã¤Æ¤¯¤ì¤¿ JF(Linux Japanese FAQ Mailing List)¥×¥í¥¸¥§¥¯¥È¡¢¤½¤Î¾¡¢
-  Ä¾Àܤ¢¤ë¤¤¤Ï´ÖÀÜŪ¤Ë¤«¤«¤ï¤Ã¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹¥³¥ß¥å¥Ë¥Æ¥£¡¼¤Î
-  ³§¤µ¤ó¤Ë´¶¼Õ¤·¤Þ¤¹¡£
-
-  ÆüËܸìÈǤΤ³¤Îʸ½ñ¤Ïhttp://www.PostgreSQL.org/users-lounge/docs/faq-japanese.html¤Ë¤¢¤ë¤Û¤«,
-  °Ê²¼¤Î¥µ¥¤¥È¤«¤é¤â¤¿¤É¤ì¤Þ¤¹¡£
-        http://www.jp.postgresql.org/
-        http://www.rccm.co.jp/~juk/pgsql/
-        http://www.sra.co.jp/people/t-ishii/PostgreSQL/doc-jp/
-        http://www.linux.or.jp/JF/
-
-  ¤Ê¤ª¡¢¤³¤ÎÏÂÌõ¤Ë´Ø¤¹¤ë¤´°Õ¸«¤Ï(juk@jp.postgresql.org)¤Þ¤Ç¤ª´ó¤»²¼¤µ¤¤¡£
+        ¤³¤ÎÏÂÌõ¤Ë¤Ä¤¤¤Æ¤ªµ¤¤Å¤­¤ÎÅÀ¤Ï(juk@jp.postgresql.org)¤Þ¤Ç¥á¡¼¥ë¤Ç¤ª´ó¤»²¼¤µ¤¤¡£
 ]
 
+  ------------------------------------------------------------------------
 
-¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬
-                                 °ìÈÌŪ¤Ê¼ÁÌä                                  
+                                °ìÈÌŪ¤Ê¼ÁÌä
 
 1.1) PostgreSQL¤È¤Ï²¿¤Ç¤¹¤«¡©
 1.2) PostgreSQL¤ÎÃøºî¸¢¤Ï¤É¤¦¤Ê¤Ã¤Æ¤Þ¤¹¤«¡©
 1.3) PostgreSQL¤ÎÆ°ºî¤¹¤ëUnix¥×¥é¥Ã¥È¥Û¡¼¥à¤Ï¡©
 1.4) Unix°Ê³°¤Î°Ü¿¢ÈǤǻȤ¨¤ë¤â¤Î¤Ï¡©
-1.5) PostgreSQL¤Ï¤É¤³¤«¤é¼ê¤ËÆþ¤ê¤Þ¤¹¤«¡©
+1.5) PostgreSQL¤Ï¤É¤³¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¤«¡©
 1.6) ¥µ¥Ý¡¼¥È¤Ï¤É¤³¤Ç¼õ¤±¤é¤ì¤Þ¤¹¤«¡©
-1.7) ºÇ¿·ÈǤϲ¿¤Ç¤¹¤«
+1.7) ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«
 1.8) ¤É¤Î¤è¤¦¤Êʸ½ñ¤¬¤¢¤ê¤Þ¤¹¤«¡©
-1.9) ´ûÃΤΥХ°¤ä̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡©
+1.9) ´ûÃΤΥХ°¤ä̤¤À̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡©
 1.10) SQL¤Ï¤É¤¦¤¹¤ì¤Ð³Ø¤Ù¤Þ¤¹¤«¡©
 1.11) PostgreSQL¤ÏÀ¾Îñ2000ǯÌäÂê(Y2K)¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¤«¡©
 1.12) ³«È¯¥Á¡¼¥à¤Ë¤Ï¤É¤Î¤è¤¦¤Ë»²²Ã¤·¤Þ¤¹¤«¡©
 1.13) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡©
 1.14) Â¾¤ÎDBMS¤Î¤ÈÈæ¤Ù¤ÆPostgreSQL¤Ï¤É¤¦¤Ê¤Î¤Ç¤¹¤«¡©
 
-                         ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÁÌä                          
+                        ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÁÌä
 
 2.1) PostgreSQL ¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤Ï¤¢¤ê¤Þ¤¹¤«¡©
 2.2) PostgreSQL ¤ò Web ¥Ú¡¼¥¸¤ÈÏ¢·È¤µ¤»¤ë¤Ë¤Ï¤É¤ó¤Ê¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¤«¡©
-2.3) PostgreSQL ¤Ï¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ý¤Á¤Þ¤¹¤«¡©¥ê¥Ý¡¼¥È¥¸
§¥Í¥ì¡¼¥¿¤Ï¡©Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡©
+2.3) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡© ¥ì¥Ý¡¼
È¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡© Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡©
 2.4) PostgreSQL ¤ÈÄÌ¿®¤¹¤ë¤Ë¤Ï¤É¤ó¤Ê¸À¸ì¤¬»È¤¨¤Þ¤¹¤«¡©
 
-                                 ´ÉÍý¾å¤Î¼ÁÌä                                  
+                                ´ÉÍý¾å¤Î¼ÁÌä
 
 3.1) ¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð /usr/local/pgsql °Ê³°¤Î¾ì½ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¤«¡©
-3.2) postmaster ¤òÁö¤é¤»¤ë¤È¡¢ Bad System Call ¤È¤«¥³¥¢¡¦¥À¥ó¥×¤·¤¿¤È¤Î¥á¥Ã¥»¡¼
-¥¸¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡©
-3.3) postmaster ¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢ IpcMemoryCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹
-¤«¡©
-3.4) postmaster¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢ IpcSemaphoreCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç
-¤¹¤«¡©
-3.5) Â¾¤Î¥Û¥¹¥È¤«¤é¼«Ê¬¤ÎPostgreSQL¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤òËɤ°¤Ë¤Ï¤É¤¦¤·¤Þ¤¹
-¤«¡©
+3.2) postmaster ¤òÁö¤é¤»¤ë¤È¡¢ Bad System Call ¤È¤«¥³¥¢¡¦¥À¥ó¥×¤·¤¿¤È¤Î¥á¥Ã
»¡¼¥¸¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡©
+3.3) postmaster ¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢ IpcMemoryCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼
Ǥ¹¤«¡©
+3.4) postmaster¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢ IpcSemaphoreCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê
¼¤Ç¤¹¤«¡©
+3.5) Â¾¤Î¥Û¥¹¥È¤«¤é¼«Ê¬¤ÎPostgreSQL¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤òËɤ°¤Ë¤Ï¤É¤¦¤·
Þ¤¹¤«¡©
 3.6) ¤Ê¤¼¡¢Â¾¤Î¥Þ¥·¥ó¤«¤é¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤Ç¤­¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
-3.7) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì¤ÐÎÉ
-¤¤¤Ç¤¹¤«¡©
+3.7) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì
ÐÎɤ¤¤Ç¤¹¤«¡©
 3.8) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡©
 3.9) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡©
-3.10) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX ¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹¤«
-¡©
+3.10) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX ¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç
+¤¹¤«¡©
 
-                                 Áàºî¾å¤Î¼ÁÌä                                  
+                                Áàºî¾å¤Î¼ÁÌä
 
 4.1) ¤Ê¤¼¡¢¥·¥¹¥Æ¥à¤Ï¥«¥ó¥Þ¤ä¾®¿ôÅÀ¤äÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Çº®Í𤹤ë¤Î¤Ç¤¹¤«¡©
-4.2) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾ï¤Î¥«¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
+4.2) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
 4.3) ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò select ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
 4.4) ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò psql ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
-4.5) ¥Æ¡¼¥Ö¥ë¤«¤é¤ÎÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
+4.5) ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
 4.6) ¹Ô¡¢¥Æ¡¼¥Ö¥ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º¤Ï¡©
-4.7) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯ÍÆ
-Î̤ϤɤΤ¯¤é¤¤É¬ÍפǤ¹¤«¡©
-4.8) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¸«¤Ä¤±½Ð¤·¤Þ¤¹
-¤«¡©
-4.9) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤«
-¡©
-4.10) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤«¤ò¸«¤ë¤Ë¤Ï¤É¤¦
-¤·¤Þ¤¹¤«¡©
+4.7) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹
+¥¯ÍÆÎ̤ϤɤΤ¯¤é¤¤É¬ÍפǤ¹¤«¡©
+4.8) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±
+½Ð¤·¤Þ¤¹¤«¡©
+4.9) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç
+¤¹¤«¡©
+4.10) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤«¤ò¸«¤ë¤Ë¤Ï¤É
¦¤·¤Þ¤¹¤«¡©
 4.11) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡©
 4.12) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡©
-4.13) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â
-¸½¤·¤Þ¤¹¤«¡©
-4.14) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«
-¡©
+4.13) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë
+¼Â¸½¤·¤Þ¤¹¤«¡©Âçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤¸¡º÷¤Î¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¤É¤Î¤è¤¦
+¤Ë»È¤¤¤Þ¤¹¤«¡©
+4.14) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹
+¤«¡©
 4.15) ¿§¡¹¤Êʸ»ú·¿¤Î¤½¤ì¤¾¤ì¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
 4.16.1) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©
-4.16.2) SERIAL¥¤¥ó¥µ¡¼¥È¤ÎÃͤϤɤ¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡©
-4.16.3) Â¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È¤ï¤Ê
-¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
+4.16.2) SERIAL¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡©
+4.16.3) Â¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È
ï¤Ê¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
 4.17) OID ¤È¤Ï²¿¤Ç¤¹¤«¡© TID ¤È¤Ï²¿¤Ç¤¹¤«¡©
 4.18) PostgreSQL ¤Ç»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤ÎÍѸì¤Î°ÕÌ£¤Ï²¿¤Ç¤¹¤«¡©
-4.19) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î¤Ï¤Ê
-¤¼¤Ç¤¹¤«¡©
-4.20) ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤òÁö¤é¤»¤Æ¤¤¤ë¤Î¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
-4.21) ¥é¡¼¥¸¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Ç¡¢invalid large obj descriptor¤È½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç
-¤¹¤«¡©
+4.19) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î
+¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
+4.20) ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤òÁö¤é¤»¤Æ¤¤¤ë¤Î¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹
+¤«¡©
+4.21) ¥é¡¼¥¸¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Ç¡¢invalid large obj descriptor¤È½Ð¤Þ¤¹¡£¤Ê¤¼
+¤Ç¤¹¤«¡©
 4.22) ¸½ºß¤Î»þ¹ï¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¤è¤¦¤ÊÎó¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©
 4.23) ¤Ê¤¼¡¢IN¤ò»È¤¦ÉûÌ䤤¹ç¤ï¤»¤¬¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¤¹¤«¡©
 4.24) ³°Éô·ë¹ç(outer join)¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«?
 
-                        PostgreSQL¤Î³ÈÄ¥¤Ë¤Ä¤¤¤Æ¤Î¼ÁÌä                         
+                       PostgreSQL¤Î³ÈÄ¥¤Ë¤Ä¤¤¤Æ¤Î¼ÁÌä
 
-5.1) ¼«Ê¬¤Ç½ñ¤¤¤¿¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤ò psql ¤ÎÃæ¤Ç¼Â¹Ô¤¹¤ë¤È¥³¥¢¡¦¥À¥ó¥×¤·¤Æ¤·¤Þ¤¦¤Î
-¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
-5.2) PostgreSQL ÍѤ˽ñ¤¤¤¿¿è¤Ê¿·¤·¤¤·¿¤ä´Ø¿ô¤Ï¡¢¤É¤¦¤¹¤ì¤Ð´ó£¤Ç¤­¤Þ¤¹¤«¡©
+5.1) ¼«Ê¬¤Ç½ñ¤¤¤¿¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤ò psql ¤ÎÃæ¤Ç¼Â¹Ô¤¹¤ë¤È¥³¥¢¡¦¥À¥ó¥×¤·¤Æ¤·¤Þ
+¤¦¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
+5.2) PostgreSQL ÍѤ˽ñ¤¤¤¿¤Á¤ç¤Ã¤ÈÁÇŨ¤Ê¿·¤·¤¤·¿¤ä´Ø¿ô¤òÄ󶡤·¤Æ¥×¥í¥¸¥§¥¯¥È
+¤Ë¹×¸¥¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡©
 5.3) ¥¿¥×¥ë¤òÊÖ¤¹ C¸À¸ì¤Î´Ø¿ô¤Ï¤É¤Î¤è¤¦¤Ë½ñ¤­¤Þ¤¹¤«¡©
-5.4) ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Þ¤·¤¿¡£ºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤âÊѲ½¤¬¸«¤é¤ì¤Ê¤¤¤Î¤Ï¤Ê¤¼
-¤Ç¤¹¤«¡©
+5.4) ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Þ¤·¤¿¡£ºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤âÊѲ½¤¬¸«¤é¤ì¤Ê¤¤¤Î¤Ï
ʤ¼¤Ç¤¹¤«¡©
 
-¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬
-                                 °ìÈÌŪ¤Ê¼ÁÌä                                  
+  ------------------------------------------------------------------------
+
+                                °ìÈÌŪ¤Ê¼ÁÌä
 
 1.1) PostgreSQL ¤È¤Ï²¿¤Ç¤¹¤«¡©
 
-PostgreSQL ¤Ï POSTGRES ¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥·¥¹¥Æ¥à¤Î²þÎÉÈǤǡ¢¼¡À¤Âå DBMS ¸¦µæÍѤÎ
-¥×¥í¥È¥¿¥¤¥×¤Ç¤¹¡£PostgreSQL ¤Ï POSTGRES ¤Î¶¯ÎϤʥǡ¼¥¿¡¦¥â¥Ç¥ë¤ÈË­É٤ʥǡ¼¥¿¡¦
-¥¿¥¤¥×(·¿)¤òÆâÊñ¤·¤Ä¤Ä¡¢POSTGRES ¤Ç»È¤ï¤ì¤¿ PostQuel Ì䤤¹ç¤ï¤»¸À¸ì¤ò¡¢³ÈÄ¥¤·¤¿
-SQL ¤Î¥µ¥Ö¥»¥Ã¥È¤ËÃÖ¤­´¹¤¨¤Æ¤¤¤Þ¤¹¡£PostgreSQL ¤Ï̵ÎÁ¤Ç´°Á´¤Ê¥½¡¼¥¹¤òÍøÍѤǤ­¤Þ
-¤¹¡£
+PostgreSQL ¤Ï¼¡À¤Âå DBMS ¸¦µæÍѤΥץí¥È¥¿¥¤¥×¤Ç¤¢¤Ã¤¿ POSTGRES ¥Ç¡¼¥¿¥Ù¡¼¥¹
+´ÉÍý¥·¥¹¥Æ¥à¤Î²þÎÉÈǤǤ¹¡£PostgreSQL ¤Ï POSTGRES ¤Î¶¯ÎϤʥǡ¼¥¿¡¦¥â¥Ç¥ë¤ÈË­
+É٤ʥǡ¼¥¿¡¦¥¿¥¤¥×(·¿)¤òÊÝ»ý¤·¤Ê¤¬¤é¡¢POSTGRES ¤Ç»È¤ï¤ì¤¿ PostQuel Ì䤤¹ç¤ï
+¤»¸À¸ì¤ò¡¢³ÈÄ¥¤·¤¿ SQL ¤Î¥µ¥Ö¥»¥Ã¥È¤ËÃÖ¤­´¹¤¨¤Æ¤¤¤Þ¤¹¡£PostgreSQL ¤Ï̵ÎÁ¤Ç´°
+Á´¤Ê¥½¡¼¥¹¤òÍøÍѤǤ­¤Þ¤¹¡£
 
-PostgreSQL ¤Î¤¹¤Ù¤Æ¤Î³«È¯¤Ï¡¢PostgreSQL ³«È¯¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤·¤Æ¤¤¤ë¥¤¥ó
¿¡¼¥Í¥Ã¥È¾å¤Î³«È¯¼Ô¥Á¡¼¥à¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¸½ºß¤ÎºÂĹ¤Ï Marc G. Fournier ( 
-scrappy@PostgreSQL.org )¤Ç¤¹¡£(°Ê²¼¤Ë»²²Ã¤Î»ÅÊý¤¬¤¢¤ê¤Þ¤¹¡£)¸½ºß¡¢¤³¤Î¥Á¡¼¥à¤¬
-PostgreSQL³«È¯¤Î¤¹¤Ù¤Æ¤ÎÌÌÅݤò¸«¤Þ¤¹¡£
+PostgreSQL ¤Î³«È¯¤Ï¡¢PostgreSQL ³«È¯¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤·¤Æ¤¤¤ë¥¤¥ó¥¿¡¼¥Í
åȾå¤Î³«È¯¼Ô¥Á¡¼¥à¤Ç¤¹¤Ù¤Æ¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Þ¤¹¡£¸½ºß¤ÎºÂĹ¤Ï Marc G. Fournier
+( scrappy@PostgreSQL.org )¤Ç¤¹¡£(°Ê²¼¤Ë»²²Ã¤Î»ÅÊý¤¬¤¢¤ê¤Þ¤¹¡£)¸½ºß¡¢¤³¤Î¥Á¡¼
+¥à¤¬ PostgreSQL ³«È¯¤Î¤¹¤Ù¤Æ¤ÎÌÌÅݤò¤ß¤Æ¤¤¤Þ¤¹¡£
 
-PostgreSQL 1.01 ¤ÎÃø¼Ô¤Ï Andrew Yu ¤È Jolly Chen ¤Ç¤·¤¿¡£¤½¤Î¾ÂçÀª¤Î¿Í¡¹¤¬¤³¤Î
-¥³¡¼¥É¤Î°Ü¿¢¡¢¥Æ¥¹¥È¡¢¥Ç¥Ð¥°¡¢¤ª¤è¤Ó¡¢²þÎɤ˹׸¥¤·¤Þ¤·¤¿¡£PostgreSQL ¤ÎÇÉÀ¸¸µ¥³
-¡¼¥É¤Ç¤¢¤ë POSTGRES ¤Ï¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¥Ð¡¼¥¯¥ì¥¤¹»¤Ë¤ª¤¤¤Æ¡¢ Michael
-Stonebraker ¶µ¼ø¤Î»Ø´ø¤Î¤â¤È¡¢Â¿¤¯¤Î³ØÀ¸¡¢Â´¶ÈÀ¸¡¢¿¦¶È¥×¥í¥°¥é¥Þ¤¿¤Á¤ÎÅØÎϤˤè
-¤êºî¤é¤ì¤Þ¤·¤¿¡£
+Postgres95-1.01 ¤ÎÃ濴Ū¤Ê³«È¯¼Ô¤Ï Andrew Yu ¤È Jolly Chen ¤Ç¤·¤¿¤¬¡¢¤½¤Î¾
+ÂçÀª¤Î¿Í¡¹¤¬¤³¤Î¥³¡¼¥É¤Î°Ü¿¢¡¢¥Æ¥¹¥È¡¢¥Ç¥Ð¥°¡¢¤ª¤è¤Ó¡¢²þÎɤ˻²²Ã¤·¤Þ¤·¤¿¡£
+PostgreSQL ¤ÎÇÉÀ¸¸µ¥³¡¼¥É¤Ç¤¢¤ë POSTGRES ¤Ï¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¥Ð¡¼¥¯¥ì¥¤¹»¤Ë
+¤ª¤¤¤Æ¡¢ Michael Stonebraker ¶µ¼ø¤Î»Ø´ø¤Î¤â¤È¡¢Â¿¤¯¤Î³ØÀ¸¡¢Â´¶ÈÀ¸¡¢ËÜ¿¦¤Î¥×
+¥í¥°¥é¥Þ¤¿¤Á¤ÎÅØÎϤˤè¤êºî¤é¤ì¤Þ¤·¤¿¡£
 
-¥Ð¡¼¥¯¥ì¥¤¤Ë¤ª¤±¤ë¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î¤â¤È¤Î̾Á°¤Ï Postgres ¤Ç¤·¤¿¡£SQL ¤Îµ¡Ç½¤¬
-Äɲ䵤줿 1995 Ç¯¤Ë¤½¤Î̾Á°¤Ï Postgres95 ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£1996 Ç¯¤Î½ª¤ê¤Ë¤½¤Î
-̾Á°¤Ï PostgreSQL ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£ Post-Gres-Q-L.(¥Ý¥¹¥È - ¥°¥ì¥¹ - ¥­¥å¡¼ -
-¥¨¥ë) ¤Èȯ²»¤·¤Þ¤¹¡£
+¥Ð¡¼¥¯¥ì¥¤¤Ë¤ª¤±¤ë¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î¤â¤È¤Î̾Á°¤Ï Postgres ¤Ç¤·¤¿¤¬¡¢SQL ¤Îµ¡
+ǽ¤¬Äɲ䵤줿 1995 Ç¯¤Ë¤½¤Î̾Á°¤Ï Postgres95 ¤ËÊѹ¹¤µ¤ì¡¢1996 Ç¯¤Î½ª¤ê¤Ë¤½
+¤Î̾Á°¤Ï PostgreSQL ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£ Post-Gres-Q-L.(¥Ý¥¹¥È - ¥°¥ì¥¹ - ¥­¥å
+¡¼ - ¥¨¥ë) ¤Èȯ²»¤·¤Þ¤¹¡£
 
 1.2) PostgreSQL ¤ÎÃøºî¸¢¤Ï¤É¤¦¤Ê¤Ã¤Æ¤Þ¤¹¤«¡©
 
 PostgreSQL ¤Ï²¼µ­¤ÎÃøºî¸¢¤Ë½¾¤¤¤Þ¤¹¡£
+
     [ÌõÃí¡§
         ÀµÊ¸¤Ï±Ñ¸ì¤Ç¤¹¡£»²¹Í¤È¤·¤Æ¡¢Ìõʸ¤òÊ»µ­·ÇºÜ¤·¤Þ¤¹¡£
     ]
 
-
 PostgreSQL Data Base Management System
 
-Portions copyright (c) 1996-2000, PostgreSQL Global Development Group Portions
-Copyright (c) 1994-6 Regents of the University of California
+Portions Copyright (c) 1996-2000, PostgreSQL Global Development Group
+Portions Copyright (c) 1994-6 Regents of the University of California
 
 Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose, without fee, and without a written agreement is
-hereby granted, provided that the above copyright notice and this paragraph and
-the following two paragraphs appear in all copies.
+documentation for any purpose, without fee, and without a written agreement
+is hereby granted, provided that the above copyright notice and this
+paragraph and the following two paragraphs appear in all copies.
 
 IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
-DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST
-PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
-THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
+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.
 
-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.
+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.
 
         POSTGRESQL ¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥·¥¹¥Æ¥à
 
         ÉôʬŪÃøºî¸¢ (c) 1996-2001, PostgreSQL¹ñºÝ³«È¯¥Á¡¼¥à
         ÉôʬŪÃøºî¸¢ (c) 1994-6 ¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³ØËܹ»
 
-
           ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ª¤è¤Ó¤½¤Îʸ½ñ°ì¼°¤Ï¾åµ­¤ÎÃøºî¸¢É½¼¨¤È¡¢¤³¤Îʸ¾Ï
         ¤ª¤è¤Ó¤³¤ì¤Ë³¤¯Æó¤Ä¤ÎÃÊÍÁ´¤Æ¤ÎÊ£À½¤ËźÉÕ¤µ¤ì¤Æ¤¤¤ë¸Â¤ê¤Ë¤ª¤¤
         ¤Æ¡¢»ÈÍÑ¡¢Ê£À½¡¢½¤Àµ¤ª¤è¤ÓÇÛÉդεö²Ä¤ò¡¢¤¤¤«¤Ê¤ëÌÜŪ¤Ç¤¢¤Ã¤â¡¢Ìµ
         ½þ¤Ç¤«¤ÄƱ°Õ½ñ̵¤·¤Ë¹Ô¤Ê¤¨¤ë¤³¤È¤ò¤³¤³¤Ëǧ¤á¤Þ¤¹¡£
-        
+
           ¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¤Ï¡¢¤¤¤«¤Ê¤ëÅö»ö¼Ô¤Ë¤¿¤¤¤·¤Æ¤â¡¢Íø±×¤Î²õ¼º¤ò
         ´Þ¤à¡¢Ä¾ÀÜŪ¡¢´ÖÀÜŪ¡¢ÆÃÊÌ¡¢¶öÁ³¤¢¤ë¤¤¤ÏɬÁ³Åª¤Ë¤«¤«¤ï¤é¤ºÀ¸¤¸¤¿
         Â»³²¤Ë¤Ä¤¤¤Æ¡¢¤¿¤È¤¨¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¤¬¤³¤ì¤é¤Î»³²¤Ë¤Ä¤¤¤ÆÁÊÄÉ
         ¤ò¼õ¤±¤Æ¤¤¤¿¤È¤·¤Æ¤â¡¢°ìÀÚ¤ÎÀÕǤ¤òÉ餤¤Þ¤»¤ó¡£
-        
+
           ¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¤Ï¡¢¾¦ÍÑÌÜŪ¤Ë¤ª¤±¤ë°ÅÌÛ¤ÎÊݾڤȡ¢ÆÃÄêÌÜŪ¤Ç
         ¤ÎŬ¹çÀ­¤Ë´Ø¤·¤Æ¤Ï¤â¤È¤è¤ê¡¢¤³¤ì¤é¤Ë¸Â¤é¤º¡¢¤¤¤«¤Ê¤ëÊݾڤâÊü´þ¤¹
         ¤ë¤³¤È¤òÌÀ¸À¤·¤Þ¤¹¡£°Ê²¼¤ËÍÑ°Õ¤µ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢¤Ï¡Ö¤½¤Î¤Þ¤Þ¡×¤ò
@@ -231,43 +201,42 @@ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
         »²¹Í¤Ç¤¹¡£
     ]
 
-
 1.3) PostgreSQL ¤ÎÆ°ºî´Ä¶­¤Ï¡©
 
-Ãø¼Ô¤é¤Ï PostgreSQL ¤Î¥³¥ó¥Ñ¥¤¥ë¤È¥Æ¥¹¥È¤ò¼¡¤Î¥×¥é¥Ã¥È¥Û¡¼¥à¾å¤Ç¹Ô¤Ê¤¤¤Þ¤·¤¿¡£
-(¤³¤ì¤é¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ë gcc ¤¬É¬ÍפǤ¹)¡§
+Ãø¼Ô¤é¤Ï PostgreSQL ¤Î¥³¥ó¥Ñ¥¤¥ë¤È¥Æ¥¹¥È¤ò¼¡¤Î¥×¥é¥Ã¥È¥Û¡¼¥à¾å¤Ç¹Ô¤Ê¤¤¤Þ¤·
+¤¿¡£(¤³¤ì¤é¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ë gcc ¤¬É¬ÍפǤ¹)¡§
 
-°ìÈÌŪ¤Ë¡¢ºÇ¶á¤ÎUnix¸ß´¹¥×¥é¥Ã¥È¥Û¡¼¥à¤Ê¤é¤ÐPostgreSQL¤ò¤Ï¤·¤é¤»¤é¤ì¤ë¤Ï¤º¤Ç¤¹
-¡£¥ê¥ê¡¼¥¹¤Î»þÅÀ¤Ç¼ÂºÝ¤Ë¥Æ¥¹¥È¤ò¹Ô¤Ê¤Ã¤¿¤³¤È¤ÎÊó¹ð¤¬¤Ê¤µ¤ì¤¿¥×¥é¥Ã¥È¥Û¡¼¥à¤Ë¤Ä
-¤¤¤Æ¤Ï¥¤¥ó¥¹¥È¡¼¥ë¼ê°ú½ñ¤ËÎóµó¤·¤Æ¤¢¤ê¤Þ¤¹¡£
+°ìÈÌŪ¤Ë¡¢ºÇ¶á¤ÎUnix¸ß´¹¥×¥é¥Ã¥È¥Û¡¼¥à¤Ê¤é¤ÐPostgreSQL¤ò¤Ï¤·¤é¤»¤é¤ì¤ë¤Ï¤º¤Ç
+¤¹¡£¥ê¥ê¡¼¥¹¤Î»þÅÀ¤Ç¼ÂºÝ¤Ë¥Æ¥¹¥È¤ò¹Ô¤Ê¤Ã¤¿¤³¤È¤ÎÊó¹ð¤¬¤Ê¤µ¤ì¤¿¥×¥é¥Ã¥È¥Û¡¼¥à
ˤĤ¤¤Æ¤Ï¥¤¥ó¥¹¥È¡¼¥ë¼ê°ú½ñ¤ËÎóµó¤·¤Æ¤¢¤ê¤Þ¤¹¡£
 
 1.4) Unix°Ê³°¤Î°Ü¿¢ÈǤǻȤ¨¤ë¤â¤Î¤Ï¡©
 
 ¥¯¥é¥¤¥¢¥ó¥È
 
-MS Windows ¥×¥é¥Ã¥È¥Û¡¼¥à¾å¤Ç¡¢libpq C ¥é¥¤¥Ö¥é¥ê¡¢psql¡¢¤½¤ì¤È¤½¤Î¾¤Î¥¤¥ó¥¿¡¼
Õ¥§¡¼¥¹¤Ï¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ç¡¢¥Ð¥¤¥Ê¥ê¡¼¤¬Áö¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò MS
-Windows ¾å¤ÇÁö¤é¤»¤Æ¡¢TCP/IP ·Ðͳ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë Unix ¥×¥é¥Ã¥È¥Û¡¼¥à¾å¤ÇÁö
-¤ë¥µ¡¼¥Ð¤ÈÄÌ¿®¤·¤Þ¤¹¡£
+MS Windows ¥×¥é¥Ã¥È¥Û¡¼¥à¾å¤Ç¡¢libpq C ¥é¥¤¥Ö¥é¥ê¡¢psql¡¢¤½¤ì¤È¤½¤Î¾¤Î¥¤¥ó
¿¡¼¥Õ¥§¡¼¥¹¤Ï ¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ç¡¢¥Ð¥¤¥Ê¥ê¡¼¤¬Áö¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó
+¥È¤ò MS Windows ¾å¤ÇÁö¤é¤»¤Æ¡¢TCP/IP ·Ðͳ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë Unix ¥×¥é¥Ã¥È
+¥Û¡¼¥à¾å¤ÇÁö¤ë¥µ¡¼¥Ð¤ÈÄÌ¿®¤·¤Þ¤¹¡£
 
 Win32 libpq ¥é¥¤¥Ö¥é¥ê¤È psql ¤òºî¤ë¤¿¤á¤Ë¡¢win31.mak ¤¬ÇÛÉۤ˴ޤޤì¤Æ¤Þ¤¹¡£
 PostgreSQL¤Ï ODBC ¥¯¥é¥¤¥¢¥ó¥È¤È¤âÄÌ¿®¤Ç¤­¤Þ¤¹¡£
 
 ¥µ¡¼¥Ð
 
-¸½ºß¡¢Cygnus Unix/NT °Ü¿¢¥é¥¤¥Ö¥é¥ê¤Î Cygwin ¤ò»È¤Ã¤Æ¡¢PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹
µ¡¼¥Ð¤Ï Windows NT ¤È Win2k ¾å¤Ç²ÔƯ¤·¤Æ¤¤¤Þ¤¹¡£ÇÛÉۤ˴ޤޤì¤ëpgsql/doc/
-FAQ_MSWIN¤¢¤ë¤¤¤Ï¥¦¥§¥Ö¥µ¥¤¥È¤Ë¤¢¤ë MS Windows FAQ ¤ò¤´Í÷²¼¤µ¤¤¡£Microsoft ¤ÎÁÇ
-¤Î¥×¥é¥Ã¥È¥Û¡¼¥à¤Ë°Ü¿¢¤¹¤ë·×²è¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+¸½ºß¡¢Cygnus Unix/NT °Ü¿¢¥é¥¤¥Ö¥é¥ê¤Î Cygwin ¤ò»È¤Ã¤Æ¡¢PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼
¹¥µ¡¼¥Ð¤Ï Windows NT ¤È Win2k ¾å¤Ç²ÔƯ¤·¤Æ¤¤¤Þ¤¹¡£ÇÛÉۤ˴ޤޤì¤ë
+pgsql/doc/FAQ_MSWIN¤¢¤ë¤¤¤Ï¥¦¥§¥Ö¥µ¥¤¥È¤Ë¤¢¤ë MS Windows FAQ ¤ò¤´Í÷²¼¤µ¤¤¡£
+Microsoft ¤ÎÁǤΥץé¥Ã¥È¥Û¡¼¥à¤Ë°Ü¿¢¤¹¤ë·×²è¤Ï¤¢¤ê¤Þ¤»¤ó¡£
 
-1.5) PostgreSQL ¤Ï¤É¤³¤«¤é¼ê¤ËÆþ¤ê¤Þ¤¹¤«¡©
+1.5) PostgreSQL ¤Ï¤É¤³¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¤«¡©
 
 PostgreSQL ¤Î¸µ¤Î anonymous ftp ¥µ¥¤¥È¤Ç¤¹¡§
-   
-   
- ¡¦ ftp://ftp.PostgreSQL.org/pub/
+
+   * ftp://ftp.PostgreSQL.org/pub/
 
 ¥ß¥é¡¼¥µ¥¤¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢²æ¡¹¤Î¥á¥¤¥ó Web ¥Ú¡¼¥¸¤ò¤´Í÷²¼¤µ¤¤¡£
+
     [ÌõÃí:
 
         °Ê²¼¤ÏÆüËܤΥߥ顼¥µ¥¤¥È¤Ç¤¹:
@@ -285,44 +254,47 @@ PostgreSQL 
        Japan: ftp://ring.aist.go.jp/pub/misc/db/postgresql/
     ]
 
-
 1.6) ¥µ¥Ý¡¼¥È¤Ï¤É¤³¤Ç¼õ¤±¤é¤ì¤Þ¤¹¤«¡©
 
-¼çÍפʥ᡼¥ê¥ó¥°¡¦¥ê¥¹¥È¤Ï: pgsql-general@PostgreSQL.org¤Ç¤¹¡£PostgreSQL ¤Ë´Ø¤¹
-¤ë¤³¤È¤Ç¤¢¤ì¤ÐµÄÏÀ¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ø¤Î»²²Ã¤Î¤Ï¡¢ÅŻҥ᡼¥ë¤ÎËÜʸ(Subject
-¹Ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¤Ë¼¡¤Î£²¹Ô¤ò½ñ¤¤¤Æ¡¢
+¼çÍפʥ᡼¥ê¥ó¥°¡¦¥ê¥¹¥È¤Ï: pgsql-general@PostgreSQL.org¤Ç¤¹¡£PostgreSQL ¤Ë
+´Ø¤¹¤ë¤³¤È¤Ç¤¢¤ì¤ÐµÄÏÀ¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ø¤Î»²²Ã¤Î¤Ï¡¢ÅŻҥ᡼¥ë¤ÎËÜʸ
+(Subject ¹Ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¤Ë¼¡¤Î£²¹Ô¤ò½ñ¤¤¤Æ¡¢
+
         subscribe
         end
 
 pgsql-general-request@PostgreSQL.org ¤ØÁ÷¤Ã¤Æ²¼¤µ¤¤¡£
 
-¥À¥¤¥¸¥§¥¹¥ÈÈǤΥ᡼¥ê¥ó¥°¡¦¥ê¥¹¥È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ø¤Î»²²Ã¤Ï "ËÜʸ"¤Ë¡§
+¥À¥¤¥¸¥§¥¹¥ÈÈǤΥ᡼¥ê¥ó¥°¡¦¥ê¥¹¥È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ø¤Î»²²Ã¤Ï "ËÜʸ"
+¤Ë¡§
+
         subscribe
         end
-¤È½ñ¤¤¤Æ pgsql-general-digest-request@PostgreSQL.org ¤ØÅŻҥ᡼¥ë¤òÁ÷¤Ã¤Æ²¼¤µ¤¤
-¡£
 
-¥À¥¤¥¸¥§¥¹¥ÈÈǤϡ¢¥á¥¤¥ó¥ê¥¹¥È¤¬¼õ¿®¤¹¤ë¥á¥Ã¥»¡¼¥¸ 30k ÄøÅÙί¤ëËè¤Ë¥À¥¤¥¸¥§¥¹¥È
-Èǥꥹ¥È¤Î¥á¥ó¥Ð¡¼¤ËÁ÷ÉÕ¤µ¤ì¤Þ¤¹¡£
+¤È½ñ¤¤¤Æ pgsql-general-digest-request@PostgreSQL.org ¤ØÅŻҥ᡼¥ë¤òÁ÷¤Ã¤Æ²¼
+¤µ¤¤¡£
+
+¥À¥¤¥¸¥§¥¹¥ÈÈǤϡ¢¥á¥¤¥ó¥ê¥¹¥È¤Ç¼õ¿®¤¹¤ë¥á¥Ã¥»¡¼¥¸¤¬ 30k ÄøÅÙί¤ëËè¤Ë¥À¥¤¥¸
+¥§¥¹¥ÈÈǥꥹ¥È¤Î¥á¥ó¥Ð¡¼¤ËÁ÷ÉÕ¤µ¤ì¤Þ¤¹¡£
 
-¥Ð¥°¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤âÍøÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ø¤Î»²²Ã¤Ï "ËÜʸ"¤È¤¤¤Ã¤·¤ç¤Ë¡§
-bugs-request@PostgreSQL.org ¤ØÅŻҥ᡼¥ë¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£
+¥Ð¥°¥ì¥Ý¡¼¥ÈÍѤΥ᡼¥ê¥ó¥°¥ê¥¹¥È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ø¤Î»²²Ã¤Ï "ËÜʸ"¤È¤¤
+¤Ã¤·¤ç¤Ë¡§ bugs-request@PostgreSQL.org ¤ØÅŻҥ᡼¥ë¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£
 
-³«È¯¼Ô¤ÎµÄÏÀ¤Î¤¿¤á¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤âÍøÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ø¤Î»²²Ã¤ÏÅŻҥá
-¡¼¥ë¤ÎËÜʸ¤Ë¡§
+³«È¯¼Ô¤ÎµÄÏÀ¤Î¤¿¤á¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤âÍøÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ø¤Î»²²Ã¤ÏÅÅ»Ò
+¥á¡¼¥ë¤ÎËÜʸ¤Ë¡§
 
         subscribe
         end
 
 ¤È½ñ¤¤¤Æ¡¢pgsql-hackers-request@PostgreSQL.org¤ØÅŻҥ᡼¥ë¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£
 
-PostgreSQL ¤Ë¤Ä¤¤¤Æ¤â¤Ã¤È¾Ü¤·¤¯ÃΤꤿ¤±¤ì¤Ð¡¢¼¡¤Î postgreSQL WWW¥Û¡¼¥à¥Ú¡¼¥¸¤«
-¤é¤¿¤É¤ì¤Þ¤¹¡§
-   
-    http://www.PostgreSQL.org
+PostgreSQL ¤Ë¤Ä¤¤¤Æ¤â¤Ã¤È¾Ü¤·¤¯ÃΤꤿ¤±¤ì¤Ð¡¢¼¡¤Î postgreSQL WWW¥Û¡¼¥à¥Ú¡¼¥¸
«¤é¤¿¤É¤ì¤Þ¤¹¡§
+
+     http://www.PostgreSQL.org
 
-IRC ¥Á¥ã¥ó¥Í¥ë¤â EFNet ¤Ë¤¢¤ê¤Þ¤¹¡£¤½¤Î¥Á¥ã¥ó¥Í¥ë¤Ï #PostgreSQL ¤Ç¤¹¡£ unix ¥³
-¥Þ¥ó¥É¤Çirc -c '#PostgreSQL' "$USER" irc.phoenix.net ¤ò»È¤¤¤Þ¤¹¡£
+EFNet ¤Ë #PostgreSQL ¤È¤¤¤¦ IRC ¥Á¥ã¥ó¥Í¥ë¤â¤¢¤ê¤Þ¤¹¡£ unix ¥³¥Þ¥ó¥É¤Çirc -c
+'#PostgreSQL' "$USER" irc.phoenix.net ¤ò»È¤¤¤Þ¤¹¡£
 
     [ÌõÃí:
           1999ǯ7·î23Æü¡¢ÆüËÜPostgreSQL¥æ¡¼¥¶¡¼²ñ(¤Ë¤Û¤ó ¤Ý¤¹¤È¤°¤ì¤¹ ¤æ¡¼¤¶¡¼ ¤«¤¤)¡¢Î¬¾ÎJPUG¤¬ÀßΩ¤µ¤ì¤Þ¤·¤¿¡£
@@ -337,28 +309,27 @@ IRC 
         ¤Ç¸¡º÷¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
         ]
 
+¾¦ÍÑ¥µ¥Ý¡¼¥È²ñ¼Ò¤Î¥ê¥¹¥È¤Ï
+http://www.postgresql.org/users-lounge/commercial-support.html¤Ë¤¢¤ê¤Þ¤¹¡£
 
-¾¦ÍÑ¥µ¥Ý¡¼¥È²ñ¼Ò¤Î¥ê¥¹¥È¤Ïhttp://www.postgresql.org/users-lounge/
-commercial-support.html¤Ë¤¢¤ê¤Þ¤¹¡£
     [ÌõÃí:
          ÆüËܤǤϡ¢SRA Inc. ¥ª¡¼¥×¥ó¥·¥¹¥Æ¥à»ö¶ÈÉô ¤Ë¤Æ¾¦ÍÑ¥µ¥Ý¡¼¥È¤¬¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
         ¥ß¥é¥¯¥ë¡¦¥ê¥Ê¥Ã¥¯¥¹³ô¼°²ñ¼Ò ¤Ç "Miracle Linux for PostgreSQL" ¤ÎÈÎÇä¤È¥µ¥Ý¡¼¥È¤¬
         ³«»Ï¤µ¤ì¤Þ¤·¤¿¡£
     ]
 
+1.7) ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«
 
-1.7) ºÇ¿·ÈǤϲ¿¤Ç¤¹¤«
-
-PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 7.0.3 ¤Ç¤¹¡£
+PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 7.1.2 ¤Ç¤¹¡£
 
 ²æ¡¹¤Ï¡¢4¥«·îËè¤Ë¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¹Ô¤Ê¤¦¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£
 
 1.8) ¤É¤Î¤è¤¦¤Êʸ½ñ¤¬¤¢¤ê¤Þ¤¹¤«¡©
 
-ÇÛÉÕ¤ÎÃæ¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥Þ¥Ë¥å¥¢¥ë¤È¥ª¥ó¥é¥¤¥ó¡¦¥Þ¥Ë¥å¥¢¥ë(¥Þ¥Ë¥å¥¢¥ë¡¦¥Ú¡¼¥¸)¤ª
è¤Ó¤¤¤¯¤Ä¤«¤Î¾®¤µ¤Ê¥Æ¥¹¥ÈÎãÂ꤬´Þ¤Þ¤ì¤Þ¤¹¡£/doc ¥Ç¥£¥ì¥¯¥È¥ê¤ò¤´Í÷²¼¤µ¤¤¡£¤Þ¤¿
-¡¢¥ª¥ó¥é¥¤¥ó¤Ç¤Î¥Þ¥Ë¥å¥¢¥ë¤ò¡¢ http://www.PostgreSQL.org/users-lounge/docs/ ¤Ç
-¤â±ÜÍ÷¤Ç¤­¤Þ¤¹¡£
+ÇÛÉÕ¤ÎÃæ¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥Þ¥Ë¥å¥¢¥ë¤È¥ª¥ó¥é¥¤¥ó¡¦¥Þ¥Ë¥å¥¢¥ë(¥Þ¥Ë¥å¥¢¥ë¡¦¥Ú¡¼¥¸)
ª¤è¤Ó¤¤¤¯¤Ä¤«¤Î¾®¤µ¤Ê¥Æ¥¹¥ÈÎãÂ꤬´Þ¤Þ¤ì¤Þ¤¹¡£/doc ¥Ç¥£¥ì¥¯¥È¥ê¤ò¤´Í÷²¼¤µ
+¤¤¡£¤Þ¤¿¡¢¥Þ¥Ë¥å¥¢¥ë¤Ï¡¢ http://www.PostgreSQL.org/users-lounge/docs/ ¤Ç¥ª¥ó
+¥é¥¤¥ó¤Ç¤â±ÜÍ÷¤Ç¤­¤Þ¤¹¡£
 
 PostgreSQL ¤ÎËܤ⤢¤ê¤Þ¤¹¡£ http://www.PostgreSQL.org/docs/awbook.html
 
@@ -367,31 +338,30 @@ PostgreSQL 
         ËÝÌõºî¶È¤¬¿Ê¹ÔÃæ¡£
     ]
 
-
-psql ¤â¡¢·¿¡¢±é»»»Ò¡¢´Ø¿ô¡¢½¸Ì󡢤½¤Î¾¤Î¾ðÊó¤ò¤ª¸«¤»¤¹¤ë¡¢¤¤¤¯¤Ä¤«¤ÎÁÇÀ²¤é¤·¤¤
-\d ¥³¥Þ¥ó¥É¤ò»ý¤Á¤Þ¤¹¡£
+psql ¤â¡¢·¿¡¢±é»»»Ò¡¢´Ø¿ô¡¢½¸Ì󡢤½¤Î¾¤Î¾ðÊó¤ò¤ª¸«¤»¤¹¤ë¡¢¤¤¤¯¤Ä¤«¤ÎÁÇÀ²¤é
+¤·¤¤ \d ¥³¥Þ¥ó¥É¤ò»ý¤Á¤Þ¤¹¡£
 
 ²æ¡¹¤Î Web ¥µ¥¤¥È¤Ë¤Ï¡¢¤â¤Ã¤ÈÂô»³¤Îʸ½ñ¤¬¤¢¤ê¤Þ¤¹¡£
 
-1.9) ´ûÃΤΥХ°¤ä̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡©
+1.9) ´ûÃΤΥХ°¤ä̤¤À̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡©
 
-PostgreSQL¤Ï³ÈÄ¥¤µ¤ì¤¿SQL-92¤Î¥µ¥Ö¥»¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£²æ¡¹¤Î¥Ú¡¼¥¸¤Î TODO
-¥ê¥¹¥È¤Ë¡¢´ûÃΤΥХ°¤ä·çÍǽ¤ä¾­Íè·×²è¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤¬¤¢¤ê¤Þ¤¹¡£
+PostgreSQL¤Ï³ÈÄ¥¤µ¤ì¤¿SQL-92¤Î¥µ¥Ö¥»¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ ²æ¡¹¤Î¥Ú¡¼¥¸¤Î
+TODO ¥ê¥¹¥È¤Ë¡¢´ûÃΤΥХ°¤ä·çÍǽ¤ä¾­Íè·×²è¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤¬¤¢¤ê¤Þ¤¹¡£
 
-1.10) SQL ¤Ï¤É¤Î¤è¤¦¤Ë³Ø¤Ù¤ÐÎɤ¤¤Ç¤¹¤«¡©
+1.10) SQL ¤Ï¤É¤¦¤¹¤ì¤Ð³Ø¤Ù¤Þ¤¹¤«¡©
 
-http://www.PostgreSQL.org/docs/awbook.html ¤Ë¤¢¤ëPostgreSQLËܤǠSQL ¤ò¶µ¤¨¤Æ¤¤
-¤Þ¤¹¡£
+http://www.PostgreSQL.org/docs/awbook.html ¤Ë¤¢¤ëPostgreSQLËܤǠSQL ¤ò¶µ¤¨¤Æ
¤¤Þ¤¹¡£
 
-ÁÇÀ²¤é¤·¤¤³Ø½¬½ñ¤Ë¤Ï¡¢ http://w3.one.net/~jhoffman/sqltut.htm ¤È http://
-ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM.
+ÁÇÀ²¤é¤·¤¤³Ø½¬½ñ¤Ë¤Ï¡¢ http://w3.one.net/~jhoffman/sqltut.htm ¤È
+http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM.
 
-¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¾¤Ë¡¢ "Teach Yourself SQL in 21 Days, Second Edition" ¤¬¡¢ 
-http://members.tripod.com/er4ebus/sql/index.htm ¤Ë¤¢¤ê¤Þ¤¹¡£
+¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¾¤Ë¡¢ "Teach Yourself SQL in 21 Days, Second Edition"
+¤¬¡¢ http://members.tripod.com/er4ebus/sql/index.htm ¤Ë¤¢¤ê¤Þ¤¹¡£
 
 Â¿¤¯¤Î¥æ¡¼¥¶¤Ë¡¢ The Practical SQL Handbook, Bowman Judith S. et al.,
-Addison-Wesley ¤¬¹¥É¾¤Ç¤¹¡£¤½¤Î¾¤Ë¡¢The Complete Reference SQL, Groff et al.,
-McGraw-Hill ¤Î¤è¤¦¤Ê¤Î¤â¤¢¤ê¤Þ¤¹¡£
+Addison-Wesley ¤¬¹¥É¾¤Ç¤¹¡£ ¤½¤Î¾¤Ë¡¢The Complete Reference SQL, Groff et
+al., McGraw-Hill ¤Î¤è¤¦¤Ê¤Î¤â¤¢¤ê¤Þ¤¹¡£
 
     [ÌõÃí:
          ÀаæãÉ×»á¤Ë¤è¤ëÆüËܸì¤Î»²¹Íʸ¸¥¤Î¾Ò²ð¥Ú¡¼¥¸
@@ -410,114 +380,114 @@ McGraw-Hill 
 
 1.11) PostgreSQL¤ÏÀ¾Îñ2000ǯÌäÂê(Y2K)¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¤«¡©
 
-Âбþ¤·¤Æ¤Þ¤¹¡£À¾Îñ2000ǯ¤è¤ê¸å¤ÎÆüÉդ⡢µª¸µÁ°2000ǯ¤è¤êÁ°¤ÎÆüÉդ⡢´Êñ¤Ë°·¤¨
-¤Þ¤¹¡£
+Âбþ¤·¤Æ¤Þ¤¹¡£À¾Îñ2000ǯ¤è¤ê¸å¤ÎÆüÉդ⡢µª¸µÁ°2000ǯ¤è¤êÁ°¤ÎÆüÉդ⡢´Êñ¤Ë°·
¨¤Þ¤¹¡£
 
 1.12) ³«È¯¥Á¡¼¥à¤Ë¤Ï¤É¤Î¤è¤¦¤Ë»²²Ã¤·¤Þ¤¹¤«¡©
 
-¤Þ¤ººÇ½é(£±ÈÖÌÜ)¤Ë¡¢ºÇ¿·¤Î¥½¡¼¥¹¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢²æ¡¹¤Î Web ¥µ¥¤¥È¤«ÇÛÉۤ˴ޤÞ
-¤ì¤Æ¤¤¤ë PostgreSQL Developers¤Îʸ½ñ¤òÆɤߤޤ¹¡££²ÈÖÌܤˡ¢pgsql-hackers ¤È
-pgsql-patches ¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤ò¹ØÆÉ(subscribe)¤·¤Þ¤¹¡££³ÈÖÌܤˡ¢¹âÉʼÁ¤Î¥Ñ¥Ã
-¥Á¤òpgsql-patches¤Ëȯ¿®¤·¤Þ¤¹¡£¤ª¤è¤½½½¿Í¤Á¤ç¤Ã¤È¤Î¿Í㤬¡¢PostgreSQL CVS¥¢¡¼¥«
-¥¤¥Ö¤Ë¥³¥ß¥Ã¥È¤¹¤ë¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤Î¤½¤ì¤¾¤ì¤Î¿Í㤬Âô»³¤Î¹âÉʼÁ¤Ê¥Ñ¥Ã¥Á
-¤òȯ¿®¤¹¤ë¤Î¤Ç¡¢¸½ºß¥³¥ß¥Ã¥¿¡¼¤È¤Ê¤Ã¤Æ¤¤¤ë¿Íã¤Ï¤½¤ì¤ËÄɤ¤ÉÕ¤¯¤Î¤¬ÂçÊѤǤ¹¤¬¡¢
-²æ¡¹¤ÏÈà¤é¤¬¥³¥ß¥Ã¥È¤·¤¿¥Ñ¥Ã¥Á¤Ï¹âÉʼÁ¤Ç¤¢¤ë¤È³Î¿®¤·¤Æ¤¤¤Þ¤¹¡£
+¤Þ¤ººÇ½é(£±ÈÖÌÜ)¤Ë¡¢ºÇ¿·¤Î¥½¡¼¥¹¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢²æ¡¹¤Î Web ¥µ¥¤¥È¤«ÇÛÉÛ¤Ë
+´Þ¤Þ¤ì¤Æ¤¤¤ë PostgreSQL Developers¤Îʸ½ñ¤òÆɤߤޤ¹¡£ £²ÈÖÌܤˡ¢pgsql-hackers
+¤È pgsql-patches ¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤ò¹ØÆÉ(subscribe)¤·¤Þ¤¹¡£ £³ÈÖÌܤˡ¢¹âÉÊ
+¼Á¤Î¥Ñ¥Ã¥Á¤òpgsql-patches¤Ëȯ¿®¤·¤Þ¤¹¡£ ¤ª¤è¤½½½¿Í¤Á¤ç¤Ã¤È¤Î¿Í㤬¡¢
+PostgreSQL CVS¥¢¡¼¥«¥¤¥Ö¤Ë¥³¥ß¥Ã¥È¤¹¤ë¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤Î¤½¤ì¤¾¤ì¤Î¿Í
+㤬Âô»³¤Î¹âÉʼÁ¤Ê¥Ñ¥Ã¥Á¤òȯ¿®¤¹¤ë¤Î¤Ç¡¢¸½ºß¥³¥ß¥Ã¥¿¡¼¤È¤Ê¤Ã¤Æ¤¤¤ë¿Íã¤Ï¤½¤ì
+¤ËÄɤ¤ÉÕ¤¯¤Î¤¬ÂçÊѤǤ¹¤¬¡¢²æ¡¹¤ÏÈà¤é¤¬¥³¥ß¥Ã¥È¤·¤¿¥Ñ¥Ã¥Á¤Ï¹âÉʼÁ¤Ç¤¢¤ë¤È³Î¿®
+¤·¤Æ¤¤¤Þ¤¹¡£
 
 1.13) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡©
 
-"bug-template" ¥Õ¥¡¥¤¥ë¤Î¹àÌܤòËþ¤¿¤·¤Æ¡¢pgsql-bugs@PostgreSQL.org¤ËÁ÷¤Ã¤Æ²¼¤µ
-¤¤¡£
+"bug-template" ¥Õ¥¡¥¤¥ë¤Î¹àÌܤòËþ¤¿¤·¤Æ¡¢pgsql-bugs@PostgreSQL.org¤ËÁ÷¤Ã¤Æ²¼
µ¤¤¡£
 
 ¤½¤ÎÁ°¤Ë http://postgreSQL.org¤Ë¤¢¤ëºÇ¿·¤Î FAQ ¤ò¥Á¥§¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£
 
-¤½¤ì¤ÈƱ»þ¤Ë ftp ¥µ¥¤¥È ftp://ftp.postgreSQL.org/pub/¤Ç¡¢¤â¤Ã¤È¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó
-¤Î PostgreSQL ¤¢¤ë¤¤¤Ï¥Ñ¥Ã¥Á¤ò¤µ¤¬¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£
+¤½¤ì¤ÈƱ»þ¤Ë ftp ¥µ¥¤¥È ftp://ftp.postgreSQL.org/pub/¤Ç¡¢¤â¤Ã¤È¿·¤·¤¤¥Ð¡¼¥¸
+¥ç¥ó¤Î PostgreSQL ¤¢¤ë¤¤¤Ï¥Ñ¥Ã¥Á¤ò¤µ¤¬¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£
 
 1.14) Â¾¤ÎDBMS¤Î¤ÈÈæ¤Ù¤ÆPostgreSQL¤Ï¤É¤¦¤Ê¤Î¤Ç¤¹¤«¡©
 
-¥½¥Õ¥È¥¦¥§¥¢¤ò·×¤ëÊýË¡¤Ë¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£µ¡Ç½¤ÈÀ­Ç½¤È¿®ÍêÀ­¤È¥µ¥Ý¡¼¥È¤È²Á³Ê
-¤Ç¤¹¡£
+¥½¥Õ¥È¥¦¥§¥¢¤ò·×¤ëÊýË¡¤Ë¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£µ¡Ç½¤ÈÀ­Ç½¤È¿®ÍêÀ­¤È¥µ¥Ý¡¼¥È¤È²Á
+³Ê¤Ç¤¹¡£
 
 µ¡Ç½(Features)
-    PostgreSQL¤Ï¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¢ÉûÌ䤤¹ç¤ï¤»¤ä¥È¥ê¥¬¡¼¤ä¥Ó¥å¡¼¤ä³°Éô¥­¡¼»²
-    ¾È¤ä¡¢¤½¤·¤Æ¡¢ÀöÎý¤µ¤ì¤¿¥í¥Ã¥¯µ¡¹½¤Ê¤É¡¢Â絬ÌϾ¦ÍÑDBMS¤¬»ý¤Äµ¡Ç½¤ò¤Û¤È¤ó¤É
-    »ý¤Ã¤Æ¤¤¤Þ¤¹¡£PostgreSQL¤Ï¡¢¤µ¤é¤Ë¡¢¥æ¡¼¥¶ÄêµÁ·¿¤ä·Ñ¾µ¤ä¥Þ¥ë¥Á- ¥Ð¡¼¥¸¥ç¥ó
-    ¡¦¥³¥ó¥Æ¥ó¥·¥ç¥ó¤Ê¤É¡¢¾¦ÍÑDBMS¤¬»ý¤Á¹ç¤ï¤»¤Ê¤¤µ¡Ç½¤ò¤¤¤¯¤Ä¤«»ý¤Á¹ç¤ï¤»¤Æ¤¤
-    ¤Þ¤¹¡£³°Éô¥­¡¼¤Î»²¾ÈÀ°¹çÀ­(foreign key referential integrity)¤ä¥í¥Ã¥¯¡¦¥³¥ó
-    ¥Æ¥ó¥·¥ç¥ó¤ò¸º¤é¤¹¤¿¤á¤Î³°Éô¶¥¹ç¾õÂÖÀ©¸æ (outer concurrency control)¤Ï»ý¤Á
-    ¹ç¤ï¤»¤Þ¤»¤ó¡£
-   
-   
+     PostgreSQL¤Ï¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¢ÉûÌ䤤¹ç¤ï¤»¤ä¥È¥ê¥¬¡¼¤ä¥Ó¥å¡¼¤ä³°Éô¥­
+     ¡¼ »²¾È¤ä¡¢¤½¤·¤Æ¡¢ÀöÎý¤µ¤ì¤¿¥í¥Ã¥¯µ¡¹½¤Ê¤É¡¢Â絬ÌϾ¦ÍÑDBMS¤¬»ý¤Äµ¡Ç½¤ò
+     ¤Û ¤È¤ó¤É»ý¤Ã¤Æ¤¤¤Þ¤¹¡£PostgreSQL¤Ï¡¢¤µ¤é¤Ë¡¢¥æ¡¼¥¶ÄêµÁ·¿¤ä·Ñ¾µ¤ä¥Þ¥ë¥Á
+     - ¥Ð¡¼¥¸¥ç¥ó¡¦¥³¥ó¥Æ¥ó¥·¥ç¥ó¤Ê¤É¡¢¾¦ÍÑDBMS¤¬»ý¤Á¹ç¤ï¤»¤Ê¤¤µ¡Ç½¤ò¤¤¤¯¤Ä
+     ¤« »ý¤Á¹ç¤ï¤»¤Æ¤¤¤Þ¤¹¡£³°Éô¥­¡¼¤Î»²¾ÈÀ°¹çÀ­(foreign key referential
+     integrity)¤ä¥í¥Ã¥¯¡¦¥³¥ó¥Æ¥ó¥·¥ç¥ó¤ò¸º¤é¤¹¤¿¤á¤Î³°Éô¶¥¹ç¾õÂÖÀ©¸æ (outer
+     concurrency control)¤Ï»ý¤Á¹ç¤ï¤»¤Þ¤»¤ó¡£
+
 À­Ç½(Performance)
-    PostgreSQL¤ÏÆó¤Ä¤Î¥â¡¼¥É¤ÇÁö¤ê¤Þ¤¹¡£ÉáÄ̤Îfsync¥â¡¼¥É¤Ï¡¢OS¤¬¥¯¥é¥Ã¥·¥å¤·¤¿
-    ¤ê¡¢¿ôÉøå¤ËÅŸ»¤¬Íî¤Á¤¿¤ê¤·¤¿¤È¤­¤Î¤¿¤á¤Ë¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬´°Î»¤¹¤ëËè¤Ë
-    ¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ß¡¢¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤ò¥Ç¥£¥¹¥¯¤ËÊݸ¤·¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢
-    ¤Û¤È¤ó¤É¤Î¾¦Íѥǡ¼¥¿¥Ù¡¼¥¹¤è¤ê¤âÃÙ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¤½¤ÎÉôʬŪ¤ÊÍýͳ¤È¤·¤Æ¡¢¾¦
-    ÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤ÎÃæ¤Ë¤Ï¤³¤Î¤è¤¦¤ËÊݼéŪ¤Ê¥Ç¥£¥¹¥¯½ñ¤­¹þ¤ß¤ò¥Ç¥Õ¥©¥ë¥È¤È¤·
-    ¤Æ¤¤¤ë¤â¤Î¤¬¾¯¤Ê¤¤¤È¤¤¤¦¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ no-fsync¥â¡¼¥É¤Ç¡¢ÉáÄÌ¡¢PostgreSQL
-    ¤Ï¾¦Íѥǡ¼¥¿¥Ù¡¼¥¹¤è¤ê¤â®¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¤·¤«¤·¤Ê¤¬¤é¡¢OS¤Î¥¯¥é¥Ã¥·¥å¤Ç¥Ç¡¼
-    ¥¿¤¬Ç˲õ¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£²æ¡¹¤Ï¡¢¤½¤ÎÃæ´Ö¥â¡¼¥É¤ò³«È¯Ãæ¤Ç¡¢¤½¤ì¤¬¤¦¤Þ
-    ¤¯¤æ¤¯¤È¡¢´°Á´fsync ¥â¡¼¥É¤Û¤ÉÀ­Ç½¤òµ¾À·¤Ë¤¹¤ë¤³¤È¤Ê¤¯¡¢OS¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë
-    30ÉÃÁ°¤Þ¤Ç¤Î¥Ç¡¼¥¿À°¹çÀ­¤òÊݤƤë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-   
-    MySQL¤Ê¤É¤ÎÆò½·¿¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥·¥¹¥Æ¥à¤Ë¤¯¤é¤Ù¤Æ¡¢PostgreSQL¤ÎÁÞÆþ¡¿¹¹¿·¤¬
-    ÃÙ¤¤¤Î¤Ï¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ë¤è¤ë¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£¤â¤Á¤í¤ó¡¢
-    MySQL¤Ë¤Ï¾åµ­¤ÎFeatures¤ÎÀá¤Ë¼¨¤¹¤è¤¦¤Êµ¡Ç½¤Ï¤Þ¤Ã¤¿¤¯¤¢¤ê¤Þ¤»¤ó¡£²æ¡¹¤Ï¡¢
-    PostgreSQL¤Ë½ÀÆðÀ­¤Èµ¡Ç½À­¤òÁȤ߹þ¤ß¤Ê¤¬¤é¤â¡¢À䤨¤º¡¢¥×¥í¥Õ¥¡¥¤¥é¡¼¤Ë³Ý¤±
-    ¤¿¤ê¥½¡¼¥¹¥³¡¼¥É¤ò²òÀϤ·¤¿¤ê¤·¤Æ¡¢À­Ç½¤Î²þÁ±¤ò³¤±¤Æ¤¤¤Þ¤¹¡£PostgreSQL ¤È
-    MySQL ¤È¤òÈæ³Ó¤·¤Æ¤¤¤ëÌÌÇò¤¤ Web ¥Ú¡¼¥¸¤¬ http://openacs.org/
-    why-not-mysql.html ¤Ë¤¢¤ê¤Þ¤¹¡£
-   
-    PostgreSQL¤Ï¡¢Unix¥×¥í¥»¥¹¤òµ¯Æ°¤¹¤ë¤³¤È¤Ë¤è¤ê¥æ¡¼¥¶¡¼Àܳ¤òÁàºî¤·¤Þ¤¹¡£Ê£
-    ¿ô¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¡¦¥×¥í¥»¥¹¤¬¾ðÊó¤ò¥í¥Ã¥¯¤·¤Ê¤¬¤é¥Ç¡¼¥¿¡¦¥Ð¥Ã¥Õ¥¡¡¼¤ò¶¦Í­¤·
-    ¤Þ¤¹¡£¥Þ¥ë¥ÁCPU¤Ç¤Ï¡¢´Êñ¤ËÊ£¿ô¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¤ò¤½¤ì¤¾¤ì¤ÎCPU¤ÇÁö¤é¤»¤ë¤³¤È
-    ¤¬¤Ç¤­¤Þ¤¹¡£
-   
-   
+     PostgreSQL¤ÏÆó¤Ä¤Î¥â¡¼¥É¤ÇÁö¤ê¤Þ¤¹¡£ÉáÄ̤Îfsync¥â¡¼¥É¤Ï¡¢OS¤¬¥¯ ¥é¥Ã¥·
+     ¥å¤·¤¿¤ê¡¢¿ôÉøå¤ËÅŸ»¤¬Íî¤Á¤¿¤ê¤·¤¿¤È¤­¤Î¤¿¤á¤Ë¡¢¥È¥é¥ó¥¶¥¯¥·¥ç ¥ó¤¬´°
+     Î»¤¹¤ëËè¤Ë¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ß¡¢¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤ò¥Ç¥£¥¹¥¯¤ËÊݸ¤·¤Þ ¤¹¡£¤³
+     ¤Î¥â¡¼¥É¤Ç¤Ï¡¢¤Û¤È¤ó¤É¤Î¾¦Íѥǡ¼¥¿¥Ù¡¼¥¹¤è¤ê¤âÃÙ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¤½ ¤ÎÉôʬ
+     Åª¤ÊÍýͳ¤È¤·¤Æ¡¢¾¦ÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤ÎÃæ¤Ë¤Ï¤³¤Î¤è¤¦¤ËÊݼéŪ¤Ê¥Ç¥£ ¥¹¥¯½ñ
+     ¤­¹þ¤ß¤ò¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ¤¤¤ë¤â¤Î¤¬¾¯¤Ê¤¤¤È¤¤¤¦¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ no-fsync
+     ¥â¡¼¥É¤Ç¡¢ÉáÄÌ¡¢PostgreSQL¤Ï¾¦Íѥǡ¼¥¿¥Ù¡¼¥¹¤è¤ê¤â®¤¯ ¤Ê¤ê¤Þ¤¹¤¬¡¢¤·¤«
+     ¤·¤Ê¤¬¤é¡¢OS¤Î¥¯¥é¥Ã¥·¥å¤Ç¥Ç¡¼¥¿¤¬Ç˲õ¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ ¤»¤ó¡£²æ¡¹¤Ï¡¢¤½
+     ¤ÎÃæ´Ö¥â¡¼¥É¤ò³«È¯Ãæ¤Ç¡¢¤½¤ì¤¬¤¦¤Þ¤¯¤æ¤¯¤È¡¢´°Á´fsync ¥â¡¼¥É¤Û¤ÉÀ­Ç½¤ò
+     µ¾À·¤Ë¤¹¤ë¤³¤È¤Ê¤¯¡¢OS¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë30ÉÃÁ°¤Þ¤Ç¤Î¥Ç¡¼ ¥¿À°¹çÀ­¤òÊݤƤë
+     ¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+
+     MySQL¤Ê¤É¤ÎÆò½·¿¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥·¥¹¥Æ¥à¤Ë¤¯¤é¤Ù¤Æ¡¢PostgreSQL¤ÎÁÞÆþ¡¿
+     ¹¹¿·¤¬ÃÙ¤¤¤Î¤Ï¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ë¤è¤ë¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£¤â
+     ¤Á¤í¤ó¡¢MySQL¤Ë¤Ï¾åµ­¤ÎFeatures¤ÎÀá¤Ë¼¨¤¹¤è¤¦¤Êµ¡Ç½¤Ï¤Þ¤Ã¤¿¤¯¤¢ ¤ê¤Þ¤»
+     ¤ó¡£²æ¡¹¤Ï¡¢PostgreSQL¤Ë½ÀÆðÀ­¤Èµ¡Ç½À­¤òÁȤ߹þ¤ß¤Ê¤¬¤é¤â¡¢À䤨¤º¡¢ ¥×¥í
+     ¥Õ¥¡¥¤¥é¡¼¤Ë³Ý¤±¤¿¤ê¥½¡¼¥¹¥³¡¼¥É¤ò²òÀϤ·¤¿¤ê¤·¤Æ¡¢À­Ç½¤Î²þÁ±¤ò³¤± ¤Æ¤¤
+     ¤Þ¤¹¡£PostgreSQL ¤È MySQL ¤È¤òÈæ³Ó¤·¤Æ¤¤¤ëÌÌÇò¤¤ Web ¥Ú¡¼¥¸¤¬
+     http://openacs.org/why-not-mysql.html ¤Ë¤¢¤ê¤Þ¤¹¡£
+
+     PostgreSQL¤Ï¡¢Unix¥×¥í¥»¥¹¤òµ¯Æ°¤¹¤ë¤³¤È¤Ë¤è¤ê¥æ¡¼¥¶¡¼Àܳ¤òÁàºî¤·¤Þ
+     ¤¹¡£ Ê£¿ô¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¡¦¥×¥í¥»¥¹¤¬¾ðÊó¤ò¥í¥Ã¥¯¤·¤Ê¤¬¤é¥Ç¡¼¥¿¡¦¥Ð¥Ã¥Õ¥¡
+     ¡¼¤ò ¶¦Í­¤·¤Þ¤¹¡£¥Þ¥ë¥ÁCPU¤Ç¤Ï¡¢´Êñ¤ËÊ£¿ô¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¤ò¤½¤ì¤¾¤ì¤ÎCPU
+     ¤ÇÁö ¤é¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+
 ¿®ÍêÀ­(Reliability)
-    ²æ¡¹¤Ï¡¢DBMS¤Î¿®ÍêÀ­¤¬¹â¤¯¤Ê¤¯¤Æ¤Ï¤½¤Î²ÁÃͤ¬Ìµ¤¤¤³¤È¤òÍý²ò¤·¤Æ¤Þ¤¹¡£½½Ê¬¥Æ
-    ¥¹¥È¤·¤Æ¡¢°ÂÄꤷ¤¿¥³¡¼¥É¤ò¥Ð¥°¤òºÇ¾®¤Ë¤·¤Æ¤«¤é¥ê¥ê¡¼¥¹¤¹¤ë¤è¤¦¤Ë¶Ð¤á¤Æ¤Þ¤¹
-    ¡£¤½¤ì¤¾¤ì¤Î¥ê¥ê¡¼¥¹¤Ï¾¯¤Ê¤¯¤È¤â1¥«·î°Ê¾å¤Î¥Ù¡¼¥¿¡¦¥Æ¥¹¥È¤ò¹Ô¤Ê¤¤¡¢¤³¤ì¤Þ¤Ç
-    ¤Î¥ê¥ê¡¼¥¹¤ÎÍúÎò¤¬¡¢À½ÉÊÈǤȤ·¤Æ°ÂÄꤷ¤¿·ø¸Ç¤Ê¥ê¥ê¡¼¥¹¤Ç¤¢¤ë¤³¤È¤òʪ¸ì¤Ã¤Æ
-    ¤¤¤Þ¤¹¡£¤³¤ÎʬÌî¤Ç¤Ï¡¢Â¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÈÈæ¤Ù¤Æ¤â½¿§¤¬¤Ê¤¤¤³¤È¤Ë¼«¿®¤ò»ý¤Ã
-    ¤Æ¤¤¤Þ¤¹¡£
+     ²æ¡¹¤Ï¡¢DBMS¤Î¿®ÍêÀ­¤¬¹â¤¯¤Ê¤¯¤Æ¤Ï¤½¤Î²ÁÃͤ¬Ìµ¤¤¤³¤È¤òÍý²ò¤·¤Æ¤Þ¤¹¡£½½
+     Ê¬¥Æ¥¹¥È¤·¤Æ¡¢°ÂÄꤷ¤¿¥³¡¼¥É¤ò¥Ð¥°¤òºÇ¾®¤Ë¤·¤Æ¤«¤é¥ê¥ê¡¼¥¹¤¹¤ë¤è¤¦¤Ë¶Ð
+     ¤á¤Æ¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥ê¥ê¡¼¥¹¤Ï¾¯¤Ê¤¯¤È¤â1¥«·î°Ê¾å¤Î¥Ù¡¼¥¿¡¦¥Æ¥¹¥È¤ò¹Ô
+     ¤Ê¤¤¡¢¤³¤ì¤Þ¤Ç¤Î¥ê¥ê¡¼¥¹¤ÎÍúÎò¤¬¡¢À½ÉÊÈǤȤ·¤Æ°ÂÄꤷ¤¿·ø¸Ç¤Ê¥ê¥ê¡¼¥¹¤Ç
+     ¤¢¤ë¤³¤È¤òʪ¸ì¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤ÎʬÌî¤Ç¤Ï¡¢Â¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÈÈæ¤Ù¤Æ¤â½¿§
+     ¤¬¤Ê¤¤¤³¤È¤Ë¼«¿®¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
 ¥µ¥Ý¡¼¥È(Support)
-    ²æ¡¹¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ï¡¢Áø¶ø¤¹¤ë¤É¤ó¤ÊÌäÂê¤Ë¤Ä¤¤¤Æ¤â²ò·è¤ò½õ¤±¤Æ¤¯¤ì¤ë¡¢
-    ³«È¯¼Ô¤ä¥æ¡¼¥¶¤ÎËÄÂç¤Ê¥°¥ë¡¼¥×¤òÍʤ·¤Æ¤¤¤Þ¤¹¡£²æ¡¹¤ÏÌäÂê¤Î²ò·è¤òÊݾڤ¹¤ë¤³
-    ¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤¬¡¢¾¦Íѥǡ¼¥¿¥Ù¡¼¥¹¤Ç¤¢¤Ã¤Æ¤â¾ï¤Ë²ò·è¤µ¤ì¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»
-    ¤ó¡£³«È¯¼Ôã¡¢¥æ¡¼¥¶¡¦¥³¥ß¥å¥Ë¥Æ¥£¡¢¥Þ¥Ë¥å¥¢¥ëÎà¡¢¤½¤ì¤Ë¡¢¥½¡¼¥¹¥³¡¼¥É¤Ê¤É
-    ¤ËľÀÜ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤³¤È¤è¤Ã¤Æ¡¢PostgreSQL¤Î¥µ¥Ý¡¼¥È¤Ï¡¢Â¾¤ÎDBMS¥µ¥Ý¡¼¥È¤è
-    ¤ê¤âÍ¥¤ì¤¿¤â¤Î¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¸æÍ×˾¤ËÅú¤¨¤Æ¡¢»öÊÁËè¤Î¾¦ÍÑ¥µ¥Ý¡¼¥È¤â¤¢¤ê¤Þ
-    ¤¹¡Ê¥µ¥Ý¡¼¥ÈFAQ¹àÌܤò¤´Í÷²¼¤µ¤¤¡Ë¡£
+     ²æ¡¹¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ï¡¢Áø¶ø¤¹¤ë¤¤¤«¤Ê¤ëÌäÂê¤Ë¤Ä¤¤¤Æ¤â²ò·è¤Ø¤Î¼ê ½õ¤±
+     ¤ò¤·¤Æ¤¯¤ì¤ë¡¢³«È¯¼Ô¤ä¥æ¡¼¥¶¤ÎÂ礭¤Ê½¸¤Þ¤ê¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£²æ¡¹¤Ï ÌäÂê
+     ¤Î²ò·è¤òÊݾڤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤¬¡¢¾¦Íѥǡ¼¥¿¥Ù¡¼¥¹¤Ç¤¢¤Ã¤Æ¤â¾ï¤Ë ²ò·è
+     ¤µ¤ì¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£³«È¯¼Ô¤ä¡¢¥æ¡¼¥¶¡¦¥³¥ß¥å¥Ë¥Æ¥£¡¢¥Þ¥Ë¥å¥¢ ¥ë
+     Îà¡¢¤½¤ì¤Ë¡¢¥½¡¼¥¹¥³¡¼¥É¤Ê¤É¤ØľÀÜ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤³¤È¤è¤Ã¤Æ¡¢ PostgreSQL
+     ¤Î¥µ¥Ý¡¼¥È¤Ï¡¢Â¾¤ÎDBMS¥µ¥Ý¡¼¥È¤è¤ê¤âÍ¥¤ì¤¿¤â¤Î¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¸æÍ×˾¤Ë
+     Åú¤¨¤Æ¡¢»öÊÁËè¤Î¾¦ÍÑ¥µ¥Ý¡¼¥È¤Ê¤É¤â¤¢¤ê¤Þ¤¹¡Ê¥µ¥Ý¡¼¥ÈFAQ¹àÌܤò¤´Í÷ ²¼¤µ
+     ¤¤¡Ë¡£
 ²Á³Ê(Price)
-    PostgreSQL¤Î»ÈÍѤϡ¢¾¦ÍѤǤâÈó¾¦ÍѤǤ⡢¤¹¤Ù¤Æ̵ÎÁ¤Ç¤¹¡£¾åµ­¤Ë¼¨¤·¤Æ¤¢¤ëBSD
-    ¥¹¥¿¥¤¥ë¤Î»ÈÍѵöÂú¤Ë³°¤ì¤Ê¤¤¸Â¤ê¡¢PostgreSQL¤Î¥³¡¼¥É¤òÀ©¸Â̵¤·¤Ç¾¦ÉʤËÁȤß
-    ¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-   
-   
-¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬
-                         ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÁÌä                          
+     PostgreSQL¤ÎÍøÍѤϡ¢¾¦ÍѤǤâÈó¾¦ÍѤǤ⡢¤¹¤Ù¤Æ̵ÎÁ¤Ç¤¹¡£¾åµ­¤Ë¼¨¤·¤Æ¤¢
+     ¤ëBSD¥¹¥¿¥¤¥ë¤Î»ÈÍѵöÂú¤Ë³°¤ì¤Ê¤¤¸Â¤ê¡¢PostgreSQL¤Î¥³¡¼¥É¤òÀ©¸Â̵¤·¤Ç
+     ¾¦ÉʤËÁȤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+
+  ------------------------------------------------------------------------
+
+                        ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÁÌä
 
 2.1) PostgreSQL ¤Î¤¿¤á¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤Ï¤¢¤ê¤Þ¤¹¤«¡©
 
 PsqlODBC ¤È OpenLink ODBC ¤ÎÆó¤Ä¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤¬ÍøÍѲÄǽ¤Ç¤¹¡£
 
-PsqlODBC ¤Ï PostgreSQL ¤ÎÇÛÉۤ˴ޤޤì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤Ë¤Ä¤¤¤Æ¤Î¤µ¤é¤Ë¾ÜºÙ¤Ê¾ðÊó¤Ï
-ftp://ftp.PostgreSQL.org/pub/odbc/ ¤«¤é¼èÆÀ¤Ç¤­¤Þ¤¹¡£
+PsqlODBC ¤Ï PostgreSQL ¤ÎÇÛÉۤ˴ޤޤì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤Ë¤Ä¤¤¤Æ¤Î¤µ¤é¤Ë¾ÜºÙ¤Ê¾ð
+Êó¤Ï ftp://ftp.PostgreSQL.org/pub/odbc/ ¤«¤é¼èÆÀ¤Ç¤­¤Þ¤¹¡£
 
     [ÌõÃí:
         PsqlODBC ¤Î ÆüËܸì¥Ñ¥Ã¥Á¤òÊÒ²¬ÍµÀ¸¤µ¤ó(kataoka@interwiz.koganei.tokyo.jp)¤¬ºî¤é¤ì¤Þ¤·¤¿:
         ¡ühttp://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/index.html
     ]
 
+OpenLink ODBC ¤Ï http://www.openlinksw.com/¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£É¸½àŪ¤Ê ODBC
+¥¯¥é¥¤¥¢¥ó¥È¡¦¥½¥Õ¥È¥¦¥§¥¢¤Ç»È¤¨¤Þ¤¹¤Î¤Ç¡¢»Ù±ç¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥é¥Ã¥È¥Û¡¼¥à
+(Win, Mac, Unix, VMS)¤«¤é PostgreSQL ¤Î ODBC ¤¬ÍøÍѤǤ­¤Þ¤¹¡£
 
-OpenLink ODBC ¤Ï http://www.openlinksw.com/¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£É¸½àŪ¤Ê ODBC ¥¯¥é
-¥¤¥¢¥ó¥È¡¦¥½¥Õ¥È¥¦¥§¥¢¤Ç»È¤¨¤Þ¤¹¤Î¤Ç¡¢»Ù±ç¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥é¥Ã¥È¥Û¡¼¥à(Win,
-Mac, Unix, VMS)¤«¤é PostgreSQL ¤Î ODBC ¤¬ÍøÍѤǤ­¤Þ¤¹¡£
-
-¤¿¤Ö¤óÈà¤é¤Ï¡¢¾¦ÍÑÉʼÁ¤Î¥µ¥Ý¡¼¥È¤ÎɬÍפʿ͡¹¤ËÇä¤Ã¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢¥Õ¥ê¡¼¥¦
-¥§¥¢ÈǤϤ¤¤Ä¤Ç¤âÆþ¼ê²Äǽ¤Î¤è¤¦¤Ç¤¹¡£¼ÁÌä¤Ï¡¢postgres95@openlink.co.uk¤Ë¤ª´ê¤¤¤·
-¤Þ¤¹¡£ Programmer's Guide ¤Î ODBC ¤Î¾Ï¤â¤´Í÷¤¯¤À¤µ¤¤¡£
+¤¿¤Ö¤óÈà¤é¤Ï¡¢¾¦ÍÑÉʼÁ¤Î¥µ¥Ý¡¼¥È¤ÎɬÍפʿ͡¹¤ËÇä¤Ã¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢¥Õ¥ê¡¼
+¥¦¥§¥¢ÈǤϤ¤¤Ä¤Ç¤âÆþ¼ê²Äǽ¤Î¤è¤¦¤Ç¤¹¡£¼ÁÌä¤Ï¡¢postgres95@openlink.co.uk¤Ë¤ª
+´ê¤¤¤·¤Þ¤¹¡£ Programmer's Guide ¤Î ODBC ¤Î¾Ï¤â¤´Í÷¤¯¤À¤µ¤¤¡£
 
 2.2) PostgreSQL ¤ò Web ¥Ú¡¼¥¸¤ÈÏ¢·È¤µ¤»¤ë¤Ë¤Ï¤É¤ó¤Ê¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¤«¡©
 
@@ -526,8 +496,9 @@ http://www.webtools.com 
 
 http://www.phone.net/home/mwm/hotlist/¤Ë¤â¡¢¤â¤¦°ì¤Ä¤¢¤ê¤Þ¤¹¡£
 
-Web ¤Ø¤Î³ÈÄ¥¤Î¤¿¤á¤Ë¤Ï¡¢PHP ¤¬Âî±Û¤·¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£http://
-www.php.net/¤Ë¤¢¤ê¤Þ¤¹¡£
+Web ¤Ø¤Î³ÈÄ¥¤Î¤¿¤á¤Ë¤Ï¡¢PHP ¤¬Âî±Û¤·¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
+http://www.php.net/¤Ë¤¢¤ê¤Þ¤¹¡£
+
     [ÌõÃí:
           PHP¤Ë´Ø¤¹¤ëÆüËܸì¤Î¾ðÊó¤Ï¡¢2000ǯ4·î19Æü¤Ëȯ­¤·¤¿ÆüËÜPHP¥æ¡¼¥¶²ñ¤Î¥µ¥¤¥È
                 http://www.php.gr.jp/
@@ -544,11 +515,8 @@ www.php.net/
           ËܲȤÎÊý¤Ç¹ñºÝ²½¤ÎML¤âΩ¤Á¾å¤¬¤Ã¤Æ¤¤¤Þ¤¹¡£
     ]
 
+½èÍý¤¬Ê£»¨¤Ê¾ì¹ç¡¢Â¿¤¯¤Î¿Í¤Ï Perl ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È CGI.pm ¤ò»È¤¤¤Þ¤¹¡£
 
-Ê£»¨¤Ê¾ì¹ç¡¢Â¿¤¯¤Î¿Í¤Ï Perl ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È CGI.pm ¤ò»È¤¤¤Þ¤¹¡£
-
-Perl ¤ò»È¤Ã¤¿ WDB ¤ò´ð¤Ë¤·¤¿ WWW ¥²¡¼¥È¥¦¥§¥¤¤Ïhttp://www.eol.ists.ca/~dunlop/
-wdb-p95¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
     [ÌõÃí:
         WDB ¤Ï¡¢Web ¤«¤é DataBase ¤Ø¤Î Perl ¤Î Interface ¤Ç¤¹¡£
         wdb-p95 ¤Ø¤Î¥ê¥ó¥¯¤ÏÀÚ¤ì¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£¤ª¤½¤é¤¯¡¢Perl DBI ·Ðͳ¤Ç DBD::Pg ¤ÎÍøÍѤ¬²Äǽ¤È»×¤ï¤ì¤Þ¤¹¡£
@@ -559,32 +527,30 @@ wdb-p95
         ¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î·Ð°Þ¤Ï¤è¤¯¤ï¤«¤ê¤Þ¤»¤ó¡£
     ]
 
+2.3) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡© ¥ì¥Ý¡¼
+¥È¡¦¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡© Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡©
 
-2.3) PostgreSQL ¤Ï¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤«¡©¥ì¥Ý
-¡¼¥È¡¦¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡©Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡©
+pgaccess ¤È¸Æ¤Ð¤ì¤ëÁÇÀ²¤é¤·¤¤¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¤¢¤ê¡¢
+¤³¤ÎÇÛÉۤȶ¦¤Ë½Ð²Ù¤µ¤ì¤Þ¤¹¡£Pgaccess ¤Ë¤Ï¥ì¥Ý¡¼¥È¡¦¥¸¥§¥Í¥ì¡¼¥¿¤â¤¢¤ê¤Þ¤¹¡£
+Web ¥Ú¡¼¥¸¤Ïhttp://www.flex.ro/pgaccess¤Ç¤¹¡£
 
-pgaccess ¤È¸Æ¤Ð¤ì¤ëÁÇÀ²¤é¤·¤¤¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¤¢¤ê¡¢¤³¤Î
-ÇÛÉۤȶ¦¤Ë½Ð²Ù¤µ¤ì¤Þ¤¹¡£Pgaccess ¤Ë¤Ï¥ì¥Ý¡¼¥È¡¦¥¸¥§¥Í¥ì¡¼¥¿¤â¤¢¤ê¤Þ¤¹¡£Web ¥Ú¡¼
-¥¸¤Ïhttp://www.flex.ro/pgaccess¤Ç¤¹¡£
-
-ecpg ¤È¤¤¤¦ C ¸À¸ì¤Î¤¿¤á¤ÎËä¤á¹þ¤ß SQL Ì䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤â¤¢¤ê¤Þ¤¹
-¡£
+ecpg ¤È¤¤¤¦ C ¸À¸ì¤Î¤¿¤á¤ÎËä¤á¹þ¤ß SQL Ì䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤â¤¢¤ê
+¤Þ¤¹¡£
 
 2.4) PostgreSQL ¤ÈÄÌ¿®¤¹¤ë¤Ë¤Ï¤É¤ó¤Ê¸À¸ì¤¬»È¤¨¤Þ¤¹¤«¡©
 
 °Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹:
-   
-   
- ¡¦ C (libpq)
- ¡¦ C++ (libpq++)
- ¡¦ Ëä¤á¹þ¤ßC (ecpg)
- ¡¦ Java (jdbc)
- ¡¦ Perl (perl5)
- ¡¦ ODBC (odbc)
- ¡¦ Python (PyGreSQL)
- ¡¦ TCL (libpgtcl)
- ¡¦ C Easy API (libpgeasy)
- ¡¦ Ëä¤á¹þ¤ßHTML (PHP from http://www.php.net)
+
+   * C (libpq)
+   * C++ (libpq++)
+   * Ëä¤á¹þ¤ßC (ecpg)
+   * Java (jdbc)
+   * Perl (perl5)
+   * ODBC (odbc)
+   * Python (PyGreSQL)
+   * TCL (libpgtcl)
+   * C Easy API (libpgeasy)
+   * Ëä¤á¹þ¤ßHTML (PHP from http://www.php.net)
 
     [ÌõÃí¡§
         ruby¤Îºî¼Ô¤Ç¤¢¤ë¤Þ¤Ä¤â¤È ¤æ¤­¤Ò¤í(matz@ZetaBITS.COM)¤µ¤ó¤È¡¢¤Þ¤Ä¤â¤È ¤¨¤¤¤¸(ematsu@pfu.co.jp)¤µ¤ó¤¬
@@ -593,234 +559,244 @@ ecpg 
         PgBash ¤Ï ¶­ÅÄ ²íÌÀ ¤µ¤ó¤¬ºî¤Ã¤¿ bash ¤Î PostgreSQL ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¹¡£
                 http://www.psn.co.jp/PostgreSQL/pgbash/
         Bash¥³¥Þ¥ó¥É¥é¥¤¥ó¤Çpostgres ¤ËÌ䤤¹ç¤ï¤»¤Ç¤­¤Þ¤¹¡£
+        Perl ¤Î¥â¥¸¥å¡¼¥ë¤Ï¸Å¤¯¤«¤é¤¢¤ë Pg ¤È DBI ¥É¥é¥¤¥Ð¤Î DBD::Pg ¤È¤¬¤¢¤ê¡¢
+        ¤¤¤º¤ì¤â Edmund Mergl »á¤Ë¤è¤ë¤â¤Î¤Ç CPAN ¥µ¥¤¥È¤Ë¤¢¤ê¤Þ¤¹¡£
     ]
 
+  ------------------------------------------------------------------------
 
-¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬
-                                 ´ÉÍý¾å¤Î¼ÁÌä                                  
+                                ´ÉÍý¾å¤Î¼ÁÌä
 
 3.1) ¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð /usr/local/pgsql °Ê³°¤Î¾ì½ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¤«¡©
 
-´Êñ¤ÊÊýË¡¤Ï¡¢ configure ¤òÁö¤é¤»¤ë¤È¤­¤Ë --prefix ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ç¤¹
-¡£
+´Êñ¤ÊÊýË¡¤Ï¡¢ configure ¤òÁö¤é¤»¤ë¤È¤­¤Ë --prefix ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È
+¤Ç¤¹¡£
 
-3.2) postmaster ¤òÁö¤é¤»¤ë¤È¡¢Bad System Call ¤È¤«¥³¥¢¡¦¥À¥ó¥×¤·¤¿¤È¤Î¥á¥Ã¥»¡¼
-¥¸¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡©
+3.2) postmaster ¤òÁö¤é¤»¤ë¤È¡¢Bad System Call ¤È¤«¥³¥¢¡¦¥À¥ó¥×¤·¤¿¤È¤Î¥á¥Ã¥»
+¡¼¥¸¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡©
 
-¤µ¤Þ¤¶¤Þ¤ÊÌäÂ꤬¹Í¤¨¤é¤ì¤Þ¤¹¤¬¡¢¤Þ¤ººÇ½é¤Ë¤¢¤Ê¤¿¤Î¥«¡¼¥Í¥ë¤Ë System V IPC ¤Î³È
-Ä¥¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¸«¤Æ¤¯¤À¤µ¤¤¡£PostgreSQL ¤Ï¥«¡¼¥Í¥ë¤Ë¤è¤ë
-¶¦Í­¥á¥â¥ê¡¼¤È¥»¥Þ¥Õ¥©¤Î¥µ¥Ý¡¼¥È¤òɬÍפȤ·¤Þ¤¹¡£
+¤µ¤Þ¤¶¤Þ¤ÊÌäÂ꤬¹Í¤¨¤é¤ì¤Þ¤¹¤¬¡¢¤Þ¤ººÇ½é¤Ë¤¢¤Ê¤¿¤Î¥«¡¼¥Í¥ë¤Ë System V IPC ¤Î
+³ÈÄ¥¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¸«¤Æ¤¯¤À¤µ¤¤¡£PostgreSQL ¤Ï¥«¡¼¥Í¥ë
+¤Ë¤è¤ë¶¦Í­¥á¥â¥ê¡¼¤È¥»¥Þ¥Õ¥©¤Î¥µ¥Ý¡¼¥È¤òɬÍפȤ·¤Þ¤¹¡£
 
-3.3) postmaster ¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢IpcMemoryCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹
-¤«¡©
+3.3) postmaster ¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢IpcMemoryCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç
¹¤«¡©
 
-¥«¡¼¥Í¥ë¤¬¶¦Í­¥á¥â¥ê¡¼¤ò»ý¤ÄÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤«¡¢¤Ç¤Ê¤±¤ì¤Ð¡¢¥«¡¼¥Í¥ë¤ËÂÐ
-¤·¤Æ»È¤¨¤ë¶¦Í­¥á¥â¥ê¡¼¤ÎÂ礭¤µ¤òÂ礭¤¯ÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¶ñÂÎŪ¤ÊÂ礭¤µ¤Ï
-¡¢»È¤Ã¤Æ¤¤¤ë¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Èpostmaster ¤òÁö¤é¤»¤ë¤È¤­¤ËÀßÄꤹ¤ë¥Ð¥Ã¥Õ¥¡¤Î¿ô¤È¥Ð
-¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤Ë°Í¸¤·¤Þ¤¹¡£¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢´ûÄêÃͤΥХåե¡¥µ¥¤¥º
-¤Î¤Þ¤Þ¤Ç¡¢¾¯¤Ê¤¯¤È¤âÌó1MB¤¬É¬ÍפǤ¹¡£ PostgreSQL Administrator's Gide ¤Ë¶¦Í­¥á
-¥â¥ê¡¼¤È¥»¥Þ¥Õ¥©¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Î¾ÜºÙ¤¬¤¢¤ê¤Þ¤¹¡£
+¥«¡¼¥Í¥ë¤¬¶¦Í­¥á¥â¥ê¡¼¤ò»ý¤ÄÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤«¡¢¤Ç¤Ê¤±¤ì¤Ð¡¢¥«¡¼¥Í¥ë¤Ë
+ÂФ·¤Æ»È¤¨¤ë¶¦Í­¥á¥â¥ê¡¼¤ÎÂ礭¤µ¤òÂ礭¤¯ÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¶ñÂÎŪ¤ÊÂ礭
+¤µ¤Ï¡¢»È¤Ã¤Æ¤¤¤ë¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Èpostmaster ¤òÁö¤é¤»¤ë¤È¤­¤ËÀßÄꤹ¤ë¥Ð¥Ã¥Õ¥¡
+¤Î¿ô¤È¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤Ë°Í¸¤·¤Þ¤¹¡£¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢´ûÄêÃͤΥХÃ
+¥Õ¥¡¥µ¥¤¥º¤Î¤Þ¤Þ¤Ç¡¢¾¯¤Ê¤¯¤È¤âÌó1MB¤¬É¬ÍפǤ¹¡£ PostgreSQL Administrator's
+Gide ¤Ë¶¦Í­¥á¥â¥ê¡¼¤È¥»¥Þ¥Õ¥©¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Î¾ÜºÙ¤¬¤¢¤ê¤Þ¤¹¡£
 
-3.4) postmaster¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢IpcSemaphoreCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç
-¤¹¤«¡©
+3.4) postmaster¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢IpcSemaphoreCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼
Ǥ¹¤«¡©
 
 ¤â¤·¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬IpcSemaphoreCreate: semget failed (No space left on
 device)¤Ç¤¢¤ì¤Ð¡¢¥«¡¼¥Í¥ë¤¬½½Ê¬¤Ê¥»¥Þ¥Õ¥©¤ò»È¤¨¤ë¤è¤¦¤Ë¹½À®¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-Postgres¤ÏÀøºßŪ¤Ê¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹Ëè¤Ë°ì¤Ä¤Î¥»¥Þ¥Õ¥©¤òɬÍפȤ·¤Þ¤¹¡£¤È¤ê¤¢
¨¤º¤Î²ò·èºö¤Ïpostmaster¤òµ¯Æ°¤¹¤ë¤È¤­¤Ë¡¢¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤Î¿ô¤ò¤è¤ê¾¯¤Ê¤¯
-À©¸Â¤ò¤¹¤ë¤³¤È¤Ç¤¹¡£´ûÄêÃͤÎ32¤è¤ê¾®¤µ¤Ê¿ô¤Î¥Ñ¥é¥á¡¼¥¿¤ò-N¤Ç»È¤¤¤Þ¤¹¡£¤è¤ê¹±µ×
-Ū¤Ê²ò·èºö¤Ï¡¢¥«¡¼¥Í¥ë¤ÎSEMMNS ¤È SEMMNI ¥Ñ¥é¥á¡¼¥¿¤òÁý¤ä¤¹¤³¤È¤Ç¤¹¡£
+Postgres¤ÏÀøºßŪ¤Ê¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹Ëè¤Ë°ì¤Ä¤Î¥»¥Þ¥Õ¥©¤òɬÍפȤ·¤Þ¤¹¡£¤È¤ê
¢¤¨¤º¤Î²ò·èºö¤Ïpostmaster¤òµ¯Æ°¤¹¤ë¤È¤­¤Ë¡¢¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤Î¿ô¤ò¤è¤ê¾¯
+¤Ê¤¯À©¸Â¤ò¤¹¤ë¤³¤È¤Ç¤¹¡£´ûÄêÃͤÎ32¤è¤ê¾®¤µ¤Ê¿ô¤Î¥Ñ¥é¥á¡¼¥¿¤ò-N¤Ç»È¤¤¤Þ¤¹¡£¤è
+¤ê¹±µ×Ū¤Ê²ò·èºö¤Ï¡¢¥«¡¼¥Í¥ë¤ÎSEMMNS ¤È SEMMNI ¥Ñ¥é¥á¡¼¥¿¤òÁý¤ä¤¹¤³¤È¤Ç¤¹¡£
 
-¤â¤·¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬¤Ê¤Ë¤«Â¾¤Î¤â¤Î¤Ç¤¢¤ì¤Ð¡¢¥«¡¼¥Í¥ë¤Î¹½À®¤Ç¤Þ¤Ã¤¿¤¯¥»¥Þ¥Õ
©¤Î¥µ¥Ý¡¼¥È¤ò¤·¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ PostgreSQL Administrator's Gide ¤Ë¶¦Í­
-¥á¥â¥ê¡¼¤È¥»¥Þ¥Õ¥©¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Î¾ÜºÙ¤¬¤¢¤ê¤Þ¤¹¡£
+¤â¤·¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬¤Ê¤Ë¤«Â¾¤Î¤â¤Î¤Ç¤¢¤ì¤Ð¡¢¥«¡¼¥Í¥ë¤Î¹½À®¤Ç¤Þ¤Ã¤¿¤¯¥»¥Þ
Õ¥©¤Î¥µ¥Ý¡¼¥È¤ò¤·¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ PostgreSQL Administrator's Gide
+¤Ë¶¦Í­¥á¥â¥ê¡¼¤È¥»¥Þ¥Õ¥©¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Î¾ÜºÙ¤¬¤¢¤ê¤Þ¤¹¡£
 
-3.5) Â¾¤Î¥Û¥¹¥È¤«¤é¼«Ê¬¤Î PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤òËɤ°¤Ë¤Ï¤É¤¦¤·¤Þ
-¤¹¤«¡©
+3.5) Â¾¤Î¥Û¥¹¥È¤«¤é¼«Ê¬¤Î PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤òËɤ°¤Ë¤Ï¤É¤¦
·¤Þ¤¹¤«¡©
 
-´ûÄêÃͤǤϡ¢PostgreSQL ¤Ï unix ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò»È¤¦¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤é¤ÎÀܳ¤·
-¤«µö¤·¤Þ¤»¤ó¡£postmaster µ¯Æ°¤Ë -i ¥Õ¥é¥Ã¥°¤ò²Ã¤¨¡¢$PGDATA/pg_hba.conf ¥Õ¥¡¥¤¥ë
-¤òŬÀڤ˾¤·¤Æ¡¢¥Û¥¹¥È¼çƳ·¿¤Îǧ¾Ú¤ò»È¤ï¤Ê¤¤¤«¤®¤ê¤Ï¾¤Î¥Þ¥·¥ó¤«¤é¤ÏÀܳ¤Ç¤­¤Ê
-¤¤¤Ç¤·¤ç¤¦¡£¤³¤ì¤Ë¤è¤êTCP/IP¤ÎÀܳ¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
+´ûÄêÃͤǤϡ¢PostgreSQL ¤Ï unix ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò»È¤¦¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤é¤ÎÀÜ
+³¤·¤«µö¤·¤Þ¤»¤ó¡£postmaster µ¯Æ°¤Ë -i ¥Õ¥é¥Ã¥°¤ò²Ã¤¨¡¢$PGDATA/pg_hba.conf
+¥Õ¥¡¥¤¥ë¤òŬÀڤ˾¤·¤Æ¡¢¥Û¥¹¥È¼çƳ·¿¤Îǧ¾Ú¤ò»È¤ï¤Ê¤¤¤«¤®¤ê¤Ï¾¤Î¥Þ¥·¥ó¤«¤é¤Ï
+Àܳ¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¡£¤³¤ì¤Ë¤è¤êTCP/IP¤ÎÀܳ¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
 
-ÁàºîÉÔǽ¤Ê¥»¥Þ¥Õ¥©¤â²áÅ٤Υǡ¼¥¿¥Ù¡¼¥¹¥¢¥¯¥»¥¹Ãæ¤Ë¥¯¥é¥Ã¥·¥å¤ò°ú¤­µ¯¤³¤¹¤³¤È¤¬
-¤¢¤ê¤Þ¤¹¡£
+ÁàºîÉÔǽ¤Ê¥»¥Þ¥Õ¥©¤â²áÅ٤Υǡ¼¥¿¥Ù¡¼¥¹¥¢¥¯¥»¥¹Ãæ¤Ë¥¯¥é¥Ã¥·¥å¤ò°ú¤­µ¯¤³¤¹¤³¤È
¬¤¢¤ê¤Þ¤¹¡£
 
 3.6) Â¾¤Î¥Þ¥·¥ó¤«¤é¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤Ç¤­¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
 
-´ûÄê¤ÎÀßÄê¤Ç¤Ï¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤é¤Î unix ¥É¥á¥¤¥ó¤Î¥½¥±¥Ã¥ÈÀܳ¤·¤«µö¤·¤Þ¤»¤ó¡£
-TCP/IP Àܳ¤ò²Äǽ¤Ë¤¹¤ë¤Ë¤Ï postmaster ¤¬ -i ¥ª¥×¥·¥ç¥ó¤Ç³«»Ï¤µ¤ì¤Æ¤¤¤Æ¡¢pgsql/
-data/pg_hba.conf ¥Õ¥¡¥¤¥ë¤ËŬÀڤʥۥ¹¥È¤Îµ­ºÜ¤¬Äɲ䵤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À
-¤µ¤¤¡£
+´ûÄê¤ÎÀßÄê¤Ç¤Ï¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤é¤Î unix ¥É¥á¥¤¥ó¤Î¥½¥±¥Ã¥ÈÀܳ¤·¤«µö¤·¤Þ¤»
+¤ó¡£TCP/IP Àܳ¤ò²Äǽ¤Ë¤¹¤ë¤Ë¤Ï postmaster ¤¬ -i ¥ª¥×¥·¥ç¥ó¤Ç³«»Ï¤µ¤ì¤Æ¤¤
+¤Æ¡¢pgsql/data/pg_hba.conf ¥Õ¥¡¥¤¥ë¤ËŬÀڤʥۥ¹¥È¤Îµ­ºÜ¤¬Äɲ䵤ì¤Æ¤¤¤ë¤³¤È
ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
 
-3.7) ¤è¤ê¤è¤¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¡¢¤É¤Î¤è¤¦¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤òÄ´À°¤Ç¤­¤Þ¤¹¤«
-¡©
-
-³Î¤«¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÏÌ䤤¹ç¤ï¤»¤Î®ÅÙ¤òÁý¤·¤Þ¤¹¡£EXPLAIN¥³¥Þ¥ó¥É¤Ç PostgreSQL ¤¬
-¤É¤Î¤è¤¦¤Ë¤¢¤Ê¤¿¤ÎÌ䤤¹ç¤ï¤»¤òËÝÌõ¤·¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¡¢¤½¤·¤Æ¡¢¤É¤Î¥¤¥ó
-¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-¤â¤· INSERT ¤ò¿ÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢COPY ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÂ礭¤Ê¥Ð¥Ã¥Á½èÍý¤Ç¤½¤ì¤ò
-¹Ô¤Ê¤¦¤³¤È¤ò¸¡Æ¤¤·¤Æ²¼¤µ¤¤¡£¤³¤ì¤Ï¡¢INSERT ¤òÊÌ¡¹¤Ë¹Ô¤Ê¤¦¤è¤ê¤â¤Ã¤È¹â®¤Ç¤¹¡£¼¡
-¤Ë¡¢BEGIN WORK/COMMIT ¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¦¥Ö¥í¥Ã¥¯¤ÎÃæ¤Ë̵¤¤Ê¸¤Ï¡¢¤½¤ì¤é¼«¿È¤¬
-¤½¤ì¤¾¤ì¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ËÆþ¤Ã¤Æ¤¤¤ë¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£¤¤¤¯¤Ä¤«¤Îʸ¤ò°ì¤Ä¤Î¥È¥é
-¥ó¥¶¥¯¥·¥ç¥ó¡¦¥Ö¥í¥Ã¥¯¤ÎÃæ¤Ç¹Ô¤Ê¤¦¤³¤È¤ò¹Í¤¨¤Æ²¼¤µ¤¤¡£¤³¤ì¤Ë¤è¤ê¥È¥é¥ó¥¶¥¯¥·¥ç
-¥ó¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬¸º¤ê¤Þ¤¹¡£¤Þ¤¿¡¢Â礭¤Ê¥Ç¡¼¥¿¤ÎÊѹ¹¤ò¹Ô¤Ê¤¦ºÝ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹
-¤ò°ìÅÙ³°¤·¤Æ¡¢ºî¤êľ¤¹¤³¤È¤ò¹Í¤¨¤Æ¤ß¤Æ²¼¤µ¤¤¡£
-
-¥Á¥å¡¼¥Ë¥ó¥°¤Î¥ª¥×¥·¥ç¥ó¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£postmaster ¤ò -o -F ¥ª¥×¥·¥ç¥ó¤Çµ¯
-Æ°¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢fsync() ¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢³Æ¥È¥é¥ó
-¥¶¥¯¥·¥ç¥óËè¤Ë fsync() ¤Ç¥Ç¥£¥¹¥¯¤ò¹¹¿·¤¹¤ë¤Î¤ò»ß¤á¤µ¤»¤Þ¤¹¡£
-
-postmaster -B ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥Ð¥Ã¥¯¥¨¥ó¥É¡¦¥×¥í¥»¥¹¤Ë¤è¤ê»È¤ï¤ì¤ë¶¦Í­¥á¥â¥ê
-¡¼¡¦¥Ð¥Ã¥Õ¥¡¤òÂ礭¤¯¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤â¤·¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ò¹â¤¯¤·¤¹¤®¤ë¤È¡¢
-¥«¡¼¥Í¥ë¤Î¶¦Í­¥á¥â¥ê¡¼¶õ´Ö¤ÎÀ©¸ÂÃͤò±Û¤¨¤Æ¤·¤Þ¤Ã¤¦¤¿¤á¤Ë postmaster ¤¬Áö¤é¤Ê¤¯
-¤Ê¤ë¤Ç¤·¤ç¤¦¡£´ûÄêÃͤǤϡ¢¤½¤ì¤¾¤ì¤Î¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤Ï 8K ¤Ç¡¢¥Ð¥Ã¥Õ¥¡¿ô¤Ï 64
-¤Ç¤¹¡£
+3.7) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì
+¤ÐÎɤ¤¤Ç¤¹¤«¡©
 
-¥Ð¥Ã¥¯¥¨¥ó¥É¤ò -S ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¤½¤ì¤¾¤ì¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¡¦¥×¥í¥»¥¹¤¬°ì»þŪ
ÊʤÙÂؤ¨¤Ë¤è¤Ã¤Æ»È¤¦¥á¥â¥ê¡¼¤ÎºÇÂ祵¥¤¥º¤òÁý¤ä¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤½¤Î -S ¤ÎÃÍ
-¤Ï¥­¥í¥Ð¥¤¥Èñ°Ì¤Ç¡¢´ûÄêÃͤϠ512 (¤¹¤Ê¤ï¤Á¡¢512K)¤Ç¤¹¡£
+³Î¤«¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÏÌ䤤¹ç¤ï¤»¤Î®ÅÙ¤òÁý¤·¤Þ¤¹¡£EXPLAIN¥³¥Þ¥ó¥É¤Ç PostgreSQL
¬¤É¤Î¤è¤¦¤Ë¤¢¤Ê¤¿¤ÎÌ䤤¹ç¤ï¤»¤òËÝÌõ¤·¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¡¢¤½¤·¤Æ¡¢¤É¤Î
+¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
 
-¤Þ¤¿¡¢CLUSTER ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¹ç¤ï¤»¤ë¤¿¤á¤Ë
-¥°¥ë¡¼¥×²½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç CLUSTER ¤ò¸«¤Æ²¼
-¤µ¤¤¡£
+¤â¤· INSERT ¤ò¿ÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢COPY ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÂ礭¤Ê¥Ð¥Ã¥Á½èÍý¤Ç¤½
+¤ì¤ò¹Ô¤Ê¤¦¤³¤È¤ò¸¡Æ¤¤·¤Æ²¼¤µ¤¤¡£¤³¤ì¤Ï¡¢INSERT ¤òÊÌ¡¹¤Ë¹Ô¤Ê¤¦¤è¤ê¤â¤Ã¤È¹â®
+¤Ç¤¹¡£¼¡¤Ë¡¢BEGIN WORK/COMMIT ¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¦¥Ö¥í¥Ã¥¯¤ÎÃæ¤Ë̵¤¤Ê¸¤Ï¡¢¤½
+¤ì¤é¼«¿È¤¬¤½¤ì¤¾¤ì¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ËÆþ¤Ã¤Æ¤¤¤ë¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£¤¤¤¯¤Ä¤«¤Îʸ
+¤ò°ì¤Ä¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¦¥Ö¥í¥Ã¥¯¤ÎÃæ¤Ç¹Ô¤Ê¤¦¤³¤È¤ò¹Í¤¨¤Æ²¼¤µ¤¤¡£¤³¤ì¤Ë¤è¤ê
+¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬¸º¤ê¤Þ¤¹¡£¤Þ¤¿¡¢Â礭¤Ê¥Ç¡¼¥¿¤ÎÊѹ¹¤ò¹Ô¤Ê¤¦
+ºÝ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò°ìÅÙ³°¤·¤Æ¡¢ºî¤êľ¤¹¤³¤È¤ò¹Í¤¨¤Æ¤ß¤Æ²¼¤µ¤¤¡£
+
+¥Á¥å¡¼¥Ë¥ó¥°¤Î¥ª¥×¥·¥ç¥ó¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£postmaster ¤ò -o -F ¥ª¥×¥·¥ç¥ó¤Ç
+µ¯Æ°¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢fsync() ¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢³Æ¥È
+¥é¥ó¥¶¥¯¥·¥ç¥óËè¤Ë fsync() ¤Ç¥Ç¥£¥¹¥¯¤ò¹¹¿·¤¹¤ë¤Î¤ò»ß¤á¤µ¤»¤Þ¤¹¡£
+
+postmaster -B ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥Ð¥Ã¥¯¥¨¥ó¥É¡¦¥×¥í¥»¥¹¤Ë¤è¤ê»È¤ï¤ì¤ë¶¦Í­¥á¥â
+¥ê¡¼¡¦¥Ð¥Ã¥Õ¥¡¤òÂ礭¤¯¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤â¤·¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ò¹â¤¯¤·¤¹¤®¤ë
+¤È¡¢¥«¡¼¥Í¥ë¤Î¶¦Í­¥á¥â¥ê¡¼¶õ´Ö¤ÎÀ©¸ÂÃͤò±Û¤¨¤Æ¤·¤Þ¤Ã¤¦¤¿¤á¤Ë postmaster ¤¬Áö
+¤é¤Ê¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£´ûÄêÃͤǤϡ¢¤½¤ì¤¾¤ì¤Î¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤Ï 8K ¤Ç¡¢¥Ð¥Ã¥Õ¥¡
+¿ô¤Ï 64 ¤Ç¤¹¡£
+
+¥Ð¥Ã¥¯¥¨¥ó¥É¤ò -S ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¤½¤ì¤¾¤ì¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¡¦¥×¥í¥»¥¹¤¬°ì»þ
+Ū¤ÊʤÙÂؤ¨¤Ë¤è¤Ã¤Æ»È¤¦¥á¥â¥ê¡¼¤ÎºÇÂ祵¥¤¥º¤òÁý¤ä¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤½¤Î -S
+¤ÎÃͤϥ­¥í¥Ð¥¤¥Èñ°Ì¤Ç¡¢´ûÄêÃͤϠ512 (¤¹¤Ê¤ï¤Á¡¢512K)¤Ç¤¹¡£
+
+¤Þ¤¿¡¢CLUSTER ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¹ç¤ï¤»¤ë¤¿¤á
+¤Ë¥°¥ë¡¼¥×²½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç CLUSTER ¤ò
+¸«¤Æ²¼¤µ¤¤¡£
 
 3.8) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡©
 
-PostgreSQL ¤Ï¡¢¥Ç¥Ð¥°¤Î¤¿¤á¤Ë°ÕÌ£¤Î¤¢¤ë¡¢¾õÂÖ¾ðÊó¤òÊó¹ð¤¹¤ë¤¤¤¯¤Ä¤«¤Îµ¡Ç½¤ò»ý¤Á
-¤Þ¤¹¡£
+PostgreSQL ¤Ï¡¢¥Ç¥Ð¥°¤Î¤¿¤á¤Ë°ÕÌ£¤Î¤¢¤ë¡¢¾õÂÖ¾ðÊó¤òÊó¹ð¤¹¤ë¤¤¤¯¤Ä¤«¤Îµ¡Ç½¤ò
+»ý¤Á¤Þ¤¹¡£
+
+¤Þ¤º¡¢--enable-cassert ¥ª¥×¥·¥ç¥ó¤Ç configure ¤òÁö¤é¤»¤Þ¤¹¡£¤½¤¦¤·¤Æ¥³¥ó¥Ñ¥¤
+¥ë¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢Âô»³¤Î assert() ¤¬¡¢¥Ð¥Ã¥¯¥¨¥ó¥É¤Î¿ÊĽ¾õ¶·¤ò´Æ»ë¤·¡¢²¿¤«Í½
+´ü¤»¤Ì¤³¤È¤¬µ¯¤­¤ë¤È¥×¥í¥°¥é¥à¤òÄä»ß¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
 
-¤Þ¤º¡¢--enable-cassert ¥ª¥×¥·¥ç¥ó¤Ç configure ¤òÁö¤é¤»¤Þ¤¹¡£¤½¤¦¤·¤Æ¥³¥ó¥Ñ¥¤¥ë
-¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢Âô»³¤Î assert() ¤¬¡¢¥Ð¥Ã¥¯¥¨¥ó¥É¤Î¿ÊĽ¾õ¶·¤ò´Æ»ë¤·¡¢²¿¤«Í½´ü¤»
-¤Ì¤³¤È¤¬µ¯¤­¤ë¤È¥×¥í¥°¥é¥à¤òÄä»ß¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+postmaster ¤È postgres ¤ÎξÊý¤Ç¤¤¤¯¤Ä¤«¤Î¥Ç¥Ð¥°¡¦¥ª¥×¥·¥ç¥ó¤ÎÍøÍѤ¬¤Ç¤­¤Þ
+¤¹¡£¤Þ¤º¡¢¼¡¤Î¤è¤¦¤Ë postmaster ¤òµ¯Æ°¤¹¤ë¤È¤­¤Ï¤¤¤Ä¤Ç¤â¡¢É¸½à½ÐÎϤȥ¨¥é¡¼½Ð
+ÎϤò¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ËÁ÷¤ë¤è¤¦¤Ë¤·¤Æ¤¢¤ë¤³¤È¤ò³Î¤«¤á¤Æ²¼¤µ¤¤¡£
 
-postmaster ¤È postgres ¤ÎξÊý¤Ç¤¤¤¯¤Ä¤«¤Î¥Ç¥Ð¥°¡¦¥ª¥×¥·¥ç¥ó¤ÎÍøÍѤ¬¤Ç¤­¤Þ¤¹¡£¤Þ
-¤º¡¢¼¡¤Î¤è¤¦¤Ë postmaster ¤òµ¯Æ°¤¹¤ë¤È¤­¤Ï¤¤¤Ä¤Ç¤â¡¢É¸½à½ÐÎϤȥ¨¥é¡¼½ÐÎϤò¥í¥°
-¡¦¥Õ¥¡¥¤¥ë¤ËÁ÷¤ë¤è¤¦¤Ë¤·¤Æ¤¢¤ë¤³¤È¤ò³Î¤«¤á¤Æ²¼¤µ¤¤¡£
         cd /usr/local/pgsql
         ./bin/postmaster >server.log 2>&1 &
 
-¤³¤ì¤Ë¤è¤ê PostgreSQL ¤ÎºÇ¾åÉô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë server.log ¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤Þ¤¹
-¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥µ¡¼¥Ð¡¼¤¬Áø¶ø¤·¤¿ÌäÂê¤ä¥¨¥é¡¼¤Ë¤Ä¤¤¤ÆÍ­ÍѤʾðÊó¤ò´Þ¤ß¤Þ¤¹¡£
-Postmaster ¤Ï¹¹¤Ë¾ÜºÙ¤Ê¾ðÊó¤òÊó¹ð¤¹¤ë¤¿¤á¤Î -d ¥ª¥×¥·¥ç¥ó¤ò»ý¤Á¤Þ¤¹¡£¤½¤Î -d ¥ª
-¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Ð¥°¡¦¥ì¥Ù¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¹â¤¤¥Ç¥Ð¥°¡¦¥ì¥Ù¥ë¤Ç¤Ï¡¢Â礭¤Ê¥í¥°¥Õ¥¡
-¥¤¥ë¤òÀ¸À®¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-¤â¤·¡¢postmaster¤¬Áö¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢postgres¥Ð¥Ã¥¯¥¨¥ó¥É¤ò¥³¥Þ¥ó¥É¹Ô¤«¤éÁö¤é¤»
-¤ë¤³¤È¤¬¤Ç¤­¡¢Ä¾ÀÜSQLʸ¤ò¥¿¥¤¥×¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤ä¤ê¤«¤¿¤Ï¡¢¥Ç¥Ð¥°ÌÜŪ¤Î
-¤È¤­¤À¤±¤ª¾©¤á¤·¤Þ¤¹¡£¥»¥ß¥³¥í¥ó¤Ç¤Ï¤Ê¤¯¡¢²þ¹Ô¤¬Ì䤤¹ç¤ï¤»¤Î½ª¤ê¤Ë¤Ê¤ë¤³¤È¤ËÃí
-°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤â¤·¡¢¥Ç¥Ð¥°¥·¥ó¥Ü¥ë¤òÆþ¤ì¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤ì¤Ð¡¢¥Ç¥Ð¥Ã¥¬¤ò»È
-¤Ã¤Æ²¿¤¬µ¯¤­¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£postmaster ¤«¤é¥Ð¥Ã¥¯¥¨¥ó¥É¤ò³«»Ï¤·¤¿
-¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢ÆÈΩ¤Ê´Ä¶­¤ÇÁö¤Ã¤Æ¤¤¤ë¤Î¤Ç¤Ï¤Ê¤¯¥í¥Ã¥¯¡¿¥Ð¥Ã¥¯¥¨¥ó¥É¤È¤ÎÂÐÏÃ
-¤ÎÌäÂ꤬½ÅÊ£¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-¤â¤·¡¢postmaster¤¬Áö¤Ã¤Æ¤¤¤ì¤Ð¡¢¤¢¤ë¥¦¥£¥ó¥É¥¦¤Çpsql¤ò³«»Ï¤¹¤ë¤È¡¢psql ¤Ç»È¤ï¤ì
-¤ë postgres¥×¥í¥»¥¹¤ÎPID¤¬¸«¤Ä¤«¤ê¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ò»È¤Ã¤Æpostgres¤ÎPID¤Ë¥¢¥¿¥Ã¥Á
-(attach)¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ÎÃ椫¤é¥Ö¥ì¡¼¥¯¡¦¥Ý¥¤¥ó¥È¤ò¥»¥Ã¥È¤·¡¢psql¤«¤éÌ䤤¹ç¤ï
-¤»¤òȯ¹Ô¤·¤Þ¤¹¡£¥Ç¥Ð¥°¤Î¤¿¤á¤Ëpostgres¤ò»ÏÆ°¤¹¤ë¾ì¹ç¤Ï¡¢PGOPTIONS="-W n" ¤òÀßÄê
-¤Ç¤­¡¢¤½¤ì¤«¤é¡¢psql ¤ò³«»Ï¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢n Éó«»Ï¤òÃ٤餻¤ë¤Ï¤º¤Ê¤Î¤Ç¡¢¥Ç
-¥Ð¥Ã¥¬¤Ç¥¢¥¿¥Ã¥Á¤·¤Æ»ÏÆ°¤ò½ç¤òÄɤäƸ«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-postgreSQL ¥×¥í¥°¥é¥à¤Ë¤Ï¡¢¥Ç¥Ð¥°¤ÈÀ­Ç½Â¬Äê¤Ë¤È¤Æ¤âÌò¤ËΩ¤Ä -s¤ä -A¤ä -t Åù¤Î¥ª
-¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£
-
-²¿¤È¤¤¤¦´Ø¿ô¤¬¤É¤Î¤¯¤é¤¤¼Â¹Ô»þ´Ö¤ò¿©¤Ã¤Æ¤¤¤ë¤«¤ò¸«¤ë¤¿¤á¤Ë¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡Ê
-¥×¥í¥Õ¥£¡¼¥ëÉÕ¤­¡Ë¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£¤½¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¤Î¥×¥í¥Õ¥£¡¼
-¥ë¡¦¥Õ¥¡¥¤¥ë¤Ï pgsql/data/base/dbname ¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£¥¯¥é¥¤
-¥¢¥ó¥È¤Î¥×¥í¥Õ¥£¡¼¥ë¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¸½¹Ô¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ë¤Ç¤·¤ç¤¦¡£
+¤³¤ì¤Ë¤è¤ê PostgreSQL ¤ÎºÇ¾åÉô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë server.log ¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤Þ
+¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥µ¡¼¥Ð¡¼¤¬Áø¶ø¤·¤¿ÌäÂê¤ä¥¨¥é¡¼¤Ë¤Ä¤¤¤ÆÍ­ÍѤʾðÊó¤ò´Þ¤ß¤Þ
+¤¹¡£Postmaster ¤Ï¹¹¤Ë¾ÜºÙ¤Ê¾ðÊó¤òÊó¹ð¤¹¤ë¤¿¤á¤Î -d ¥ª¥×¥·¥ç¥ó¤ò»ý¤Á¤Þ¤¹¡£¤½
+¤Î -d ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Ð¥°¡¦¥ì¥Ù¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¹â¤¤¥Ç¥Ð¥°¡¦¥ì¥Ù¥ë¤Ç¤Ï¡¢Â礭
+¤Ê¥í¥°¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
+
+¤â¤·¡¢postmaster¤¬Áö¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢postgres¥Ð¥Ã¥¯¥¨¥ó¥É¤ò¥³¥Þ¥ó¥É¹Ô¤«¤éÁö¤é
+¤»¤ë¤³¤È¤¬¤Ç¤­¡¢Ä¾ÀÜSQLʸ¤ò¥¿¥¤¥×¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤ä¤ê¤«¤¿¤Ï¡¢¥Ç¥Ð¥°
+ÌÜŪ¤Î¤È¤­¤À¤±¤ª¾©¤á¤·¤Þ¤¹¡£¥»¥ß¥³¥í¥ó¤Ç¤Ï¤Ê¤¯¡¢²þ¹Ô¤¬Ì䤤¹ç¤ï¤»¤Î½ª¤ê¤Ë¤Ê¤ë
+¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤â¤·¡¢¥Ç¥Ð¥°¥·¥ó¥Ü¥ë¤òÆþ¤ì¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤ì¤Ð¡¢¥Ç
+¥Ð¥Ã¥¬¤ò»È¤Ã¤Æ²¿¤¬µ¯¤­¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£postmaster ¤«¤é¥Ð¥Ã¥¯¥¨
+¥ó¥É¤ò³«»Ï¤·¤¿¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢ÆÈΩ¤Ê´Ä¶­¤ÇÁö¤Ã¤Æ¤¤¤ë¤Î¤Ç¤Ï¤Ê¤¯¥í¥Ã¥¯¡¿¥Ð¥Ã
+¥¯¥¨¥ó¥É¤È¤ÎÂÐÏäÎÌäÂ꤬½ÅÊ£¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+
+¤â¤·¡¢postmaster¤¬Áö¤Ã¤Æ¤¤¤ì¤Ð¡¢¤¢¤ë¥¦¥£¥ó¥É¥¦¤Çpsql¤ò³«»Ï¤¹¤ë¤È¡¢psql ¤Ç»È
+¤ï¤ì¤ë postgres¥×¥í¥»¥¹¤ÎPID¤¬¸«¤Ä¤«¤ê¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ò»È¤Ã¤Æpostgres¤ÎPID¤Ë
+¥¢¥¿¥Ã¥Á(attach)¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ÎÃ椫¤é¥Ö¥ì¡¼¥¯¡¦¥Ý¥¤¥ó¥È¤ò¥»¥Ã¥È¤·¡¢psql¤«
+¤éÌ䤤¹ç¤ï¤»¤òȯ¹Ô¤·¤Þ¤¹¡£¥Ç¥Ð¥°¤Î¤¿¤á¤Ëpostgres¤ò»ÏÆ°¤¹¤ë¾ì¹ç¤Ï¡¢
+PGOPTIONS="-W n" ¤òÀßÄê¤Ç¤­¡¢¤½¤ì¤«¤é¡¢psql ¤ò³«»Ï¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢n Éó«
+»Ï¤òÃ٤餻¤ë¤Ï¤º¤Ê¤Î¤Ç¡¢¥Ç¥Ð¥Ã¥¬¤Ç¥¢¥¿¥Ã¥Á¤·¤Æ»ÏÆ°¤ò½ç¤òÄɤäƸ«¤ë¤³¤È¤¬¤Ç¤­
+¤Þ¤¹¡£
+
+postgreSQL ¥×¥í¥°¥é¥à¤Ë¤Ï¡¢¥Ç¥Ð¥°¤ÈÀ­Ç½Â¬Äê¤Ë¤È¤Æ¤âÌò¤ËΩ¤Ä -s¤ä -A¤ä -t Åù
+¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£
+
+²¿¤È¤¤¤¦´Ø¿ô¤¬¤É¤Î¤¯¤é¤¤¼Â¹Ô»þ´Ö¤ò¿©¤Ã¤Æ¤¤¤ë¤«¤ò¸«¤ë¤¿¤á¤Ë¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°
+¡Ê¥×¥í¥Õ¥£¡¼¥ëÉÕ¤­¡Ë¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£¤½¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¤Î¥×¥í¥Õ
+¥£¡¼¥ë¡¦¥Õ¥¡¥¤¥ë¤Ï pgsql/data/base/dbname ¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
+¥¯¥é¥¤¥¢¥ó¥È¤Î¥×¥í¥Õ¥£¡¼¥ë¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¸½¹Ô¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ë¤Ç¤·¤ç
+¤¦¡£
 
 3.9) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡©
 
-postmaster¤¬Æ±»þ»ÏÆ°¤Ç¤­¤ë¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤ËÂФ¹¤ëÀ©¸Â¿ô¤òÁý¤ä¤¹É¬Íפ¬¤¢¤ê
-¤Þ¤¹¡£
+postmaster¤¬Æ±»þ»ÏÆ°¤Ç¤­¤ë¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤ËÂФ¹¤ëÀ©¸Â¿ô¤òÁý¤ä¤¹É¬Íפ¬¤¢
ê¤Þ¤¹¡£
 
 PostgreSQL 6.5°Ê¹ß¤Ç¤Ï¡¢´ûÄê¤ÎºÇÂç¥×¥í¥»¥¹¤Ï32¥×¥í¥»¥¹¤Ç¤¹¡£Å¬ÀÚ¤Ê-N¤ÎÃͤÇ
-postmaster¤òºÆµ¯Æ°¤¹¤ë¤³¤È¤Ë¤è¤êÁý²Ã¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£´ûÄê¤Î¹½À®¤Ç¤Ï-N¤ÏºÇ
-Âç1024¤Þ¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£¤â¤·¡¢¤â¤Ã¤ÈɬÍפǤ¢¤ì¤Ðinclude/config.h¤ÎÃæ¤Î
+postmaster¤òºÆµ¯Æ°¤¹¤ë¤³¤È¤Ë¤è¤êÁý²Ã¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£´ûÄê¤Î¹½À®¤Ç¤Ï-N¤Ï
+ºÇÂç1024¤Þ¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£¤â¤·¡¢¤â¤Ã¤ÈɬÍפǤ¢¤ì¤Ðinclude/config.h¤ÎÃæ¤Î
 MAXBACKENDS¤òÁý²Ã¤µ¤»¡¢ºÆ¹½ÃÛ¤·¤Þ¤¹¡£¤â¤·¡¢Ë¾¤à¤Ê¤éconfigure¤Î
 --with-maxbackendsÀÚÂؤò»È¤Ã¤Æ¡¢-N¤Î´ûÄêÃͤò¹½À®»þ¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£
 
-¤â¤·¡¢-N ¤ò 32¤è¤ê¤âÂ礭¤¯¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢-B¤â´ûÄê¤Î64¤è¤êÂ礭¤¤ÃͤËÁý²Ã¤µ¤»¤Ê
¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤·¡¢-B ¤Ï¾¯¤Ê¤¯¤È¤â -N ¤Î2ÇܤϤʤ¯¤Æ¤Ï¤Ê¤é¤º¡¢¤ª¤½¤é¤¯ºÇ¹âÀ­Ç½¤ò
-˾¤à¤Ê¤é¤Ð¤½¤ì¤è¤êÂ礭¤¤Ãͤ¬É¬ÍפʤϤº¤Ç¤¹¡£¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤ò¤¿¤¯¤µ¤ó¤Ë¤¹
ë¤È¡¢¤¤¤í¤¤¤í¤ÊUnix¥«¡¼¥Í¥ë¹½À®¥Ñ¥é¥á¡¼¥¿¤âÁý¤ä¤¹¤³¤È¤¬É¬Íפˤʤ뤫¤â¤·¤ì¤Þ¤»
󡣶¦Í­¥á¥â¥ê¡¼¡¦¥Ö¥í¥Ã¥¯¤ÎºÇÂçÃÍ(SHMMAX)¡¢¥»¥Þ¥Õ¥©¤ÎºÇÂç¿ô(SEMMNS¤ÈSEMMNI)¡¢
-¥×¥í¥»¥¹¤ÎºÇÂç¿ô(NPROC)¡¢¥æ¡¼¥¶Ëè¤ÎºÇÂç¥×¥í¥»¥¹¿ô(MAXUPRC)¡¢³«¤¯¥Õ¥¡¥¤¥ë¤ÎºÇÂç
-¿ô(NFILE¤ÈNINODE ¤â³Îǧ»ö¹à¤Ë´Þ¤Þ¤ì¤Þ¤¹¡£ PostgreSQL¤Ëµö¤µ¤ì¤ë¥Ð¥Ã¥¯¥¨¥ó¥É¤Î¥×
-¥í¥»¥¹¿ô¤¬À©¸Â¤µ¤ì¤Æ¤¤¤ë¤Î¤Ï¡¢¥·¥¹¥Æ¥à¤Î¥ê¥½¡¼¥¹¤ò»È¤¤²Ì¤·¤Æ¤·¤Þ¤¦¤³¤È¤òÈò¤±¤ë
-¤¿¤á¤Ç¤¹¡£
-
-6.5¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎPostgreSQL¤Ç¤Ï¥Ð¥Ã¥¯¥¨¥ó¥É¤ÎºÇÂç¿ô¤Ï64¤Ç¤·¤¿¤¬¡¢Êѹ¹¤¹¤ë
ˤϡ¢include/storage/sinvaladt.h¤ÎÃæ¤ÎMaxBackendIdÄê¿ô¤ò½¤Àµ¤·¤¿¸å¤ËºÆ¹½ÃÛ¤¬É¬
-ÍפǤ·¤¿¡£
-
-3.10) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹¤«
-¡©
+¤â¤·¡¢-N ¤ò 32¤è¤ê¤âÂ礭¤¯¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢-B¤â´ûÄê¤Î64¤è¤êÂ礭¤¤ÃͤËÁý²Ã¤µ¤»
ʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤·¡¢-B ¤Ï¾¯¤Ê¤¯¤È¤â -N ¤Î2ÇܤϤʤ¯¤Æ¤Ï¤Ê¤é¤º¡¢¤ª¤½¤é¤¯ºÇ¹âÀ­
+ǽ¤ò˾¤à¤Ê¤é¤Ð¤½¤ì¤è¤êÂ礭¤¤Ãͤ¬É¬ÍפʤϤº¤Ç¤¹¡£¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤ò¤¿¤¯¤µ
ó¤Ë¤¹¤ë¤È¡¢¤¤¤í¤¤¤í¤ÊUnix¥«¡¼¥Í¥ë¹½À®¥Ñ¥é¥á¡¼¥¿¤âÁý¤ä¤¹¤³¤È¤¬É¬Íפˤʤ뤫¤â
·¤ì¤Þ¤»¤ó¡£ ¶¦Í­¥á¥â¥ê¡¼¡¦¥Ö¥í¥Ã¥¯¤ÎºÇÂçÃÍ(SHMMAX)¡¢ ¥»¥Þ¥Õ¥©¤ÎºÇÂç¿ô
+(SEMMNS¤ÈSEMMNI)¡¢ ¥×¥í¥»¥¹¤ÎºÇÂç¿ô(NPROC)¡¢ ¥æ¡¼¥¶Ëè¤ÎºÇÂç¥×¥í¥»¥¹¿ô
+(MAXUPRC)¡¢ ³«¤¯¥Õ¥¡¥¤¥ë¤ÎºÇÂç¿ô(NFILE¤ÈNINODE ¤â³Îǧ»ö¹à¤Ë´Þ¤Þ¤ì¤Þ¤¹¡£
+PostgreSQL¤Ëµö¤µ¤ì¤ë¥Ð¥Ã¥¯¥¨¥ó¥É¤Î¥×¥í¥»¥¹¿ô¤¬À©¸Â¤µ¤ì¤Æ¤¤¤ë¤Î¤Ï¡¢ ¥·¥¹¥Æ¥à
Υ꥽¡¼¥¹¤ò»È¤¤²Ì¤·¤Æ¤·¤Þ¤¦¤³¤È¤òÈò¤±¤ë¤¿¤á¤Ç¤¹¡£
+
+6.5¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎPostgreSQL¤Ç¤Ï¥Ð¥Ã¥¯¥¨¥ó¥É¤ÎºÇÂç¿ô¤Ï64¤Ç¤·¤¿¤¬¡¢Êѹ¹
¹¤ë¤Ë¤Ï¡¢include/storage/sinvaladt.h¤ÎÃæ¤ÎMaxBackendIdÄê¿ô¤ò½¤Àµ¤·¤¿¸å¤ËºÆ
+¹½ÃÛ¤¬É¬ÍפǤ·¤¿¡£
+
+3.10) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹
+¤«¡©
 
 Ì䤤¹ç¤ï¤»¼Â¹Ô¥â¥¸¥å¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Î㤨¤Ð¡¢¤â¤·
-ORDER BY ¶ç¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ð¥Ã¥¯¥¨¥ó¥É¤Î -S ¥Ñ¥é¥á¡¼¥¿¤Çµö²Ä¤·¤¿Ãͤè¤ê¤âÂ礭¤Ê¥¹
-¥Ú¡¼¥¹¤¬¥½¡¼¥È¤ÎºÝ¤ËɬÍפÀ¤È¤¹¤ë¤È¡¢°î¤ì¤¿¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë°ì»þŪ¤Ê¥Õ¥¡¥¤
-¥ë¤¬¤¤¤¯¤Ä¤«À¸À®¤µ¤ì¤Þ¤¹¡£
+ORDER BY ¶ç¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ð¥Ã¥¯¥¨¥ó¥É¤Î -S ¥Ñ¥é¥á¡¼¥¿¤Çµö²Ä¤·¤¿Ãͤè¤ê¤âÂ礭
+¤Ê¥¹¥Ú¡¼¥¹¤¬¥½¡¼¥È¤ÎºÝ¤ËɬÍפÀ¤È¤¹¤ë¤È¡¢°î¤ì¤¿¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë°ì»þŪ¤Ê
+¥Õ¥¡¥¤¥ë¤¬¤¤¤¯¤Ä¤«À¸À®¤µ¤ì¤Þ¤¹¡£
+
+°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ï¼«Æ°Åª¤Ë¾Ã¤·µî¤é¤ì¤ë¤Ï¤º¤Ç¤¹¤¬¡¢¤â¤·¡¢¥½¡¼¥È¤ÎÅÓÃæ¤Ç¥Ð¥Ã¥¯
+¥¨¥ó¥É¤¬¥¯¥é¥Ã¥·¥å¤·¤Æ¤·¤Þ¤¦¤È¤½¤¦¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤½¤Î¤È¤­¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¤Ò¤È¤Ä
+¤âÁö¤Ã¤Æ¤Ê¤±¤ì¤Ð¡¢pg_tempNNN.NN¥Õ¥¡¥¤¥ë¤ò¾Ã¤·¤Æ¤âÂç¾æÉפǤ¹¡£
 
-°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ï¼«Æ°Åª¤Ë¾Ã¤·µî¤é¤ì¤ë¤Ï¤º¤Ç¤¹¤¬¡¢¤â¤·¡¢¥½¡¼¥È¤ÎÅÓÃæ¤Ç¥Ð¥Ã¥¯¥¨
-¥ó¥É¤¬ÄÙ¤ì¤Æ¤·¤Þ¤¦¤È¤½¤¦¤Ê¤ê¤Þ¤»¤ó¡£¤â¤·¡¢¤½¤Î¤È¤­¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¤Ò¤È¤Ä¤âÁö¤Ã¤Æ
-¤Ê¤±¤ì¤Ð¡¢pg_tempNNN.NN¥Õ¥¡¥¤¥ë¤ò¾Ã¤·¤Æ¤â°ÂÁ´¤Ç¤¹¡£
     [ÌõÃí¡§
-         SYSLOGD ·Ðͳ¤Ç¥í¥°¤ò½ÐÎϤ¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢configure ¤ò --enable-syslog 
+         SYSLOGD ·Ðͳ¤Ç¥í¥°¤ò½ÐÎϤ¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢configure ¤ò --enable-syslog
         ÉÕ¤­¤ÇÁö¤é¤»¤¿¸å¡¢¥³¥ó¥Ñ¥¤¥ë¤È¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£
          ¼¡¤Ë¡¢syslog.conf ¤Ë local0.* ¤Î ½ÐÎÏÀè¤ò»ØÄꤷ(´Ä¶­ÊÑ¿ô¤ÇÊѹ¹²Äǽ)¡¢
         syslogd ¤Ë HUP ¥·¥°¥Ê¥ë¤òÁ÷¤Ã¤Æ½é´ü²½¤·¤Æ¤ª¤­¤Þ¤¹¡£¤½¤·¤Æ¡¢
-        $PGDATA/pg_options ¤Ë syslog=2 ¤ò²Ã¤¨¤Æ¡¢ postmaster ¤ò -S 
-        ¥ª¥×¥·¥ç¥óÉÕ¤­¤Ë¤Æ¥µ¡¼¥Ð¥â¡¼¥É¤Çµ¯Æ°¤·¤Þ¤¹¡£(¥Ð¡¼¥¸¥ç¥ó 7.1 ¤«¤é¤Ï 
+        $PGDATA/pg_options ¤Ë syslog=2 ¤ò²Ã¤¨¤Æ¡¢ postmaster ¤ò -S
+        ¥ª¥×¥·¥ç¥óÉÕ¤­¤Ë¤Æ¥µ¡¼¥Ð¥â¡¼¥É¤Çµ¯Æ°¤·¤Þ¤¹¡£(¥Ð¡¼¥¸¥ç¥ó 7.1 ¤«¤é¤Ï
         pg_options ¤Ï postgresql.conf ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£)
     ]
 
+  ------------------------------------------------------------------------
 
-¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬
-                                 Áàºî¾å¤Î¼ÁÌä                                  
+                                Áàºî¾å¤Î¼ÁÌä
 
 4.1) ¤Ê¤¼¡¢¥·¥¹¥Æ¥à¤Ï¥«¥ó¥Þ¤ä¾®¿ôÅÀ¤äÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Çº®Í𤹤ë¤Î¤Ç¤¹¤«¡©
 
-¥í¥±¡¼¥ë¤ÎÀßÄê¤ò³Î¤«¤á¤Æ²¼¤µ¤¤¡£PostgreSQL ¤Ï postmaster ¥×¥í¥»¥¹¤òÁö¤é¤»¤¿¥æ¡¼
-¥¶¡¼¤Î¥í¥±¡¼¥ë¤ÎÀßÄê¤ò»È¤¤¤Þ¤¹¡£postgres ¤Èpsql ¤Ë¤Ï SET ¥³¥Þ¥ó¥É¤¬¤¢¤ê¡¢¥Ç¡¼¥¿
-½ñ¼°¤òÀ©¸æ¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤ò¤¢¤Ê¤¿¤ÎÁàºî´Ä¶­¤Ë¹ç¤ï¤»¤ÆÀßÄꤷ¤Æ²¼¤µ¤¤¡£
+¥í¥±¡¼¥ë¤ÎÀßÄê¤ò³Î¤«¤á¤Æ²¼¤µ¤¤¡£PostgreSQL ¤Ï postmaster ¥×¥í¥»¥¹¤òÁö¤é¤»¤¿
+¥æ¡¼¥¶¡¼¤Î¥í¥±¡¼¥ë¤ÎÀßÄê¤ò»È¤¤¤Þ¤¹¡£postgres ¤Èpsql ¤Ë¤Ï SET ¥³¥Þ¥ó¥É¤¬¤¢
+¤ê¡¢¥Ç¡¼¥¿½ñ¼°¤òÀ©¸æ¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤ò¤¢¤Ê¤¿¤ÎÁàºî´Ä¶­¤Ë¹ç¤ï¤»¤ÆÀßÄꤷ¤Æ²¼¤µ
+¤¤¡£
 
-4.2) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾ï¤Î¥«¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
+4.2) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
 
 ¾Ü½Ò¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç DECLARE ¤ò¸«¤Æ²¼¤µ¤¤¡£
 
-4.3) Ì䤤¹ç¤ï¤»¤ÎºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò SELECT ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
+4.3) ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò SELECT ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
 
-¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤ÇFETCH¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£¤¢¤ë¤¤¤Ï¡¢SELECT ... LIMIT....¤ò»È¤Ã
-¤Æ¤ß¤Æ²¼¤µ¤¤¡£
+¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤ÇFETCH¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£¤¢¤ë¤¤¤Ï¡¢SELECT ... LIMIT....¤ò
+»È¤Ã¤Æ¤ß¤Æ²¼¤µ¤¤¡£
 
-¤¿¤È¤¨¡¢Íߤ·¤¤¤Î¤ÏºÇ½é¤Î¿ô¹Ô¤À¤±¤Ç¤â¡¢¤¹¤Ù¤Æ¤ÎÌ䤤¹ç¤ï¤»¤òɾ²Á¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê
¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ORDER BY ¤ò»ý¤Ã¤¿Ì䤤¹ç¤ï¤»¤ò¹Í¤¨¤Æ¤ß¤Æ²¼¤µ¤¤¡£¤â¤·¡¢ORDER BY
-¤Ë¹ç¤Ã¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ë¤È¤¹¤ë¤È PostgreSQL¤ÏÍ׵ᤵ¤ì¤¿ºÇ½é¤Î¿ô¹Ô¤À¤±¤Çɾ²Á¤Ç
­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤Ç¤Ê¤ì¤Ð¡¢PostgreSQL ¤Ï°Õ¿Þ¤·¤¿¹Ô¤¬À¸À®¤µ¤ì¤ë¤Þ¤Ç¤¹¤Ù¤Æ¤Î
-¹Ô¤òɾ²Á¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
+¤¿¤È¤¨¡¢Íߤ·¤¤¤Î¤ÏºÇ½é¤Î¿ô¹Ô¤À¤±¤Ç¤â¡¢¤¹¤Ù¤Æ¤ÎÌ䤤¹ç¤ï¤»¤òɾ²Á¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é
ʤ¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ORDER BY ¤ò»ý¤Ã¤¿Ì䤤¹ç¤ï¤»¤ò¹Í¤¨¤Æ¤ß¤Æ²¼¤µ¤¤¡£ ¤â¤·¡¢
+ORDER BY¤Ë¹ç¤Ã¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ë¤È¤¹¤ë¤È PostgreSQL¤ÏÍ׵ᤵ¤ì¤¿ºÇ½é¤Î¿ô¹Ô
À¤±¤Çɾ²Á¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤Ç¤Ê¤ì¤Ð¡¢PostgreSQL ¤Ï°Õ¿Þ¤·¤¿¹Ô¤¬À¸À®¤µ
+¤ì¤ë¤Þ¤Ç¤¹¤Ù¤Æ¤Î¹Ô¤òɾ²Á¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
 
 4.4) ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò psql ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
 
-psql¤Î¥½¡¼¥¹¥³¡¼¥É¤¬½ñ¤«¤ì¤¿ pgsql/src/bin/psql/describe.c ¥Õ¥¡¥¤¥ë¤òÆɤळ¤È¤¬
Ǥ­¤Þ¤¹¡£¤½¤³¤Ë¤Ï¡¢psql¤Î¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¥³¥Þ¥ó¥É¤Ë¤è¤ë½ÐÎϤΤ¿¤á¤ÎSQL¥³¥Þ¥ó¥É
¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ psql ¤Ë -E ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤¹¤ì¤Ð¡¢Í¿¤¨¤¿¥³¥Þ¥ó¥É¤ò¼Â
-¹Ô¤¹¤ë¤¿¤á¤ÎÌ䤤¹ç¤ï¤»¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+psql¤Î¥½¡¼¥¹¥³¡¼¥É¤È¤·¤Æ½ñ¤«¤ì¤¿ pgsql/src/bin/psql/describe.c ¥Õ¥¡¥¤¥ë¤òÆÉ
ळ¤È¤¬¤½¤ÎÅú¤¨¤Ç¤¹¡£ ¤½¤³¤Ë¤Ï¡¢psql¤Î¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¥³¥Þ¥ó¥É¤Ë¤è¤ë½ÐÎϤÎ
¿¤á¤ÎSQL¥³¥Þ¥ó¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ psql ¤Ë -E ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤¹¤ì
+¤Ð¡¢Í¿¤¨¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ÎÌ䤤¹ç¤ï¤»¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
 
-4.5) ¥Æ¡¼¥Ö¥ë¤«¤é¤ÎÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
+4.5) ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
 
 ALTER TABLE DROP COLUMN ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤½¤ÎÂå¤ï¤ê¤Ë¤³¤¦¤·¤Þ¤¹:
+
         SELECT ...  -- ºï½ü¤·¤¿¤¤Îó°Ê³°¤ÎÎó¤ò¤¹¤Ù¤ÆÁªÂò¤·¤Þ¤¹¡£
         INTO TABLE new_table
         FROM old_table;
         DROP TABLE old_table;
         ALTER TABLE new_table RENAME TO old_table;
+
 [ÌõÃí¡§Îó¤ÎÄɲäϠALTER TABLE ADD COLUMN ¤Ç¹Ô¤¨¤Þ¤¹¡£]
 
 4.6) ¹Ô¡¢¥Æ¡¼¥Ö¥ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º¤Ï¡©
 
 À©¸Â¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£
+
 ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º?       À©¸Â̵¤· (60GB ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤â¸ºß¤·¤Þ¤¹)
 ¥Æ¡¼¥Ö¥ë¤ÎºÇÂ祵¥¤¥º?           16TB
 ¹Ô¤ÎºÇÂ祵¥¤¥º?                 7.1°Ê¹ß¤ÇÀ©¸Â̵¤·
@@ -829,25 +805,27 @@ ALTER TABLE DROP COLUMN 
 ¥Æ¡¼¥Ö¥ëÆâ¤Ç¤ÎºÇÂ祫¥é¥à¿ô?     ¥«¥é¥à¤Î·¿¤Ë¤è¤ê250-1600
 ¥Æ¡¼¥Ö¥ëÆâ¤Ç¤ÎºÇÂ祤¥ó¥Ç¥¯¥¹¿ô? À©¸Â̵¤·
 
-¤â¤Á¤í¤ó¡¢¤³¤ì¤é¤Ï¼ÂºÝ¤Ï̵À©¸Â¤Ç¤Ï¤Ê¤¯¡¢¥Ç¥£¥¹¥¯ÍÆÎ̤ȥá¥â¥ê¡¼¤ä¥¹¥ï¥Ã¥×¥¹¥Ú¡¼
-¥¹¤ÎÂ礭¤µ¤Ë¤è¤êÀ©¸Â¤µ¤ì¤Þ¤¹¡£À­Ç½¤Ï¤³¤ì¤é¤ÎÃͤ¬¤³¤È¤Î¤Û¤«Â礭¤Ê»þ¤ËÀú¤ê¤ò¼õ¤±
-¤Þ¤¹¡£
+¤â¤Á¤í¤ó¡¢¤³¤ì¤é¤Ï¼ÂºÝ¤Ï̵À©¸Â¤Ç¤Ï¤Ê¤¯¡¢¥Ç¥£¥¹¥¯ÍÆÎ̤ȥá¥â¥ê¡¼¤ä¥¹¥ï¥Ã¥×¥¹¥Ú
+¡¼¥¹¤ÎÂ礭¤µ¤Ë¤è¤êÀ©¸Â¤µ¤ì¤Þ¤¹¡£À­Ç½¤Ï¤³¤ì¤é¤ÎÃͤ¬¤³¤È¤Î¤Û¤«Â礭¤Ê»þ¤ËÀú¤ê¤ò
+¼õ¤±¤Þ¤¹¡£
 
-ºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤Î16TB¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥é¡¼¥¸¡¦¥Õ¥¡¥¤¥ë¥µ¥Ý¡¼¥È¤Ï
-ɬÍפȤ·¤Þ¤»¤ó¡£¥é¡¼¥¸¡¦¥Æ¡¼¥Ö¥ë¤ÏÊ£¿ô¤Î1GB¤Î¥Õ¥¡¥¤¥ë¤Î¤è¤¦¤ËÊݸ¤µ¤ì¤Þ¤¹¡£
+ºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤Î16TB¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤ëµðÂç¥Õ¥¡¥¤¥ë¤Î¥µ¥Ý¡¼
+¥È¤ÏɬÍפȤ·¤Þ¤»¤ó¡£µðÂç¤Ê¥Æ¡¼¥Ö¥ë¤ÏÊ£¿ô¤Î1GB¤Î¥Õ¥¡¥¤¥ë¤Ëʬ¤±¤ÆÊݸ¤µ¤ì¤Þ¤¹
+¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÀ©¸Â¤Ï½ÅÍפǤϤ¢¤ê¤Þ¤»¤ó¡£
 
-¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò32k¤Ë¤¹¤ë¤ÈºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤ÈºÇÂ祫¥é¥à¿ô¤È¤¬Áý²Ã
-¤·¤Þ¤¹¡£
+¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò32k¤Ë¤¹¤ë¤ÈºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤ÈºÇÂ祫¥é¥à¿ô¤È¤¬
+Áý²Ã¤·¤Þ¤¹¡£
 
-4.7) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯ÍÆ
-Î̤ϤɤΤ¯¤é¤¤É¬ÍפǤ¹¡©
+4.7) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹
+¥¯ÍÆÎ̤ϤɤΤ¯¤é¤¤É¬ÍפǤ¹¡©
 
-PostgreSQL ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢ÉáÄ̤Υե¡¥¤¥ë¤ÎÌó6.5ÇܤΥǥ£¥¹¥¯ÍÆÎÌ
-¤òɬÍפȤ·¤Þ¤¹¡£
+PostgreSQL ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢ÉáÄ̤Υե¡¥¤¥ë¤ÎÌó6.5ÇܤΥǥ£¥¹¥¯ÍÆ
+Î̤òɬÍפȤ·¤Þ¤¹¡£
+
+³Æ¹Ô¤ËÆó¤Ä¤º¤ÄÀ°¿ô¤ò»ý¤Ä 300,000¹Ô¤Î¥Õ¥¡¥¤¥ë¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£¤¿¤À¤Î¥Õ¥¡¥¤
+¥ë¤Ç¤Ï 2.4MB ¤Ç¤¹¡£¤³¤Î¥Ç¡¼¥¿¤ò´Þ¤à PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ
+¤Ï¼¡¤Î¤è¤¦¤ËÌó14MB¤È¸«ÀѤâ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§
 
-³Æ¹Ô¤ËÆó¤Ä¤º¤ÄÀ°¿ô¤ò»ý¤Ä 300,000¹Ô¤Î¥Õ¥¡¥¤¥ë¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£¤¿¤À¤Î¥Õ¥¡¥¤¥ë
-¤Ç¤Ï 2.4MB ¤Ç¤¹¡£¤³¤Î¥Ç¡¼¥¿¤ò´Þ¤à PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ¤Ï¼¡¤Î
-¤è¤¦¤ËÌó14MB¤È¸«ÀѤâ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§
     36 bytes: ³Æ¹Ô¤Î¥Ø¥Ã¥À(³µ»»)
    + 8 bytes: ³Æ4¥Ð¥¤¥È¤ÎÆó¤Ä¤ÎÀ°¿ô(int)¥Õ¥£¡¼¥ë¥É
    + 4 bytes: ¥Ú¡¼¥¸¾å¤Î¥¿¥Ã¥×¥ë¤Ø¤Î¥Ý¥¤¥ó¥¿
@@ -863,81 +841,80 @@ PostgreSQL 
    300000 data rows
    --------------------  =  1755 database pages
       171 rows per page
+
 1755 database pages * 8192 bytes per page  =  14,376,960 bytes (14MB)
 
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢¤³¤ì¤Û¤É¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤ÏÍ׵ᤷ¤Þ¤»¤ó¤¬¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹ÉÕ¤±¤µ¤ì¤ë
-¥Ç¡¼¥¿¤ò´Þ¤à°Ê¾å¡¢¤½¤ì¤Ê¤ê¤ËÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£
+¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢¤³¤ì¤Û¤É¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤ÏÍ׵ᤷ¤Þ¤»¤ó¤¬¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹ÉÕ¤±¤µ¤ì
+¤ë¥Ç¡¼¥¿¤ò´Þ¤à°Ê¾å¡¢¤½¤ì¤Ê¤ê¤ËÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£
 
-4.8) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¸«¤Ä¤±½Ð¤·¤Þ¤¹
-¤«¡©
+4.8) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±
+½Ð¤·¤Þ¤¹¤«¡©
 
-psql ¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¡¦¥³¥Þ¥ó¥É¤¬¤¢¤ê¡¢¤³¤¦¤·¤¿¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
-¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¡¦¥³¥Þ¥ó¥É¤Î¼ïÎà¤ò¸«¤ë¤Ë¤Ï \? ¤ò»È¤Ã¤Æ²¼¤µ¤¤¡£
+psql ¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¡¦¥³¥Þ¥ó¥É¤¬¤¢¤ê¡¢¤³¤¦¤·¤¿¾ðÊó¤òɽ¼¨¤·¤Þ
+¤¹¡£¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¡¦¥³¥Þ¥ó¥É¤Î¼ïÎà¤ò¸«¤ë¤Ë¤Ï \? ¤ò»È¤Ã¤Æ²¼¤µ¤¤¡£
 
-¤Þ¤¿¡¢pgsql/src/tutorial/syscat.source ¥Õ¥¡¥¤¥ë¤òÁö¤é¤»¤Æ¤ß¤Æ²¼¤µ¤¤¡£¤½¤ì¤Ï¡¢Âô
-»³¤Î SELECT Ê¸¤Ë¤è¤êɬÍפʾðÊó¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¡¦¥Æ¡¼¥Ö¥ë¤«¤é¼è¤ê½Ð¤·¤Æ
-Î㼨¤·¤Æ¤¯¤ì¤Þ¤¹¡£
+¤Þ¤¿¡¢pgsql/src/tutorial/syscat.source ¥Õ¥¡¥¤¥ë¤òÁö¤é¤»¤Æ¤ß¤Æ²¼¤µ¤¤¡£¤½¤ì
+¤Ï¡¢Âô»³¤Î SELECT Ê¸¤Ë¤è¤êɬÍפʾðÊó¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¡¦¥Æ¡¼¥Ö¥ë¤«¤é¼è
+¤ê½Ð¤·¤ÆÎ㼨¤·¤Æ¤¯¤ì¤Þ¤¹¡£
 
-4.9) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤«
-¡©
+4.9) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç
+¤¹¤«¡©
 
 PostgreSQL ¤ÏÅý·×¾ðÊó¤ò¼«Æ°Åª¤Ë¤ÏÊݼ餷¤Þ¤»¤ó¡£Åý·×¾ðÊó¤ò¹¹¿·¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
-VACUUM ¤òÁö¤é¤»¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£Åý·×¾ðÊ󤬹¹¿·¤µ¤ì¤¿¸å¤Ï¡¢¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¥Æ
-¡¼¥Ö¥ë¤Ë²¿¹Ô¤¢¤ë¤«¤òÃΤäơ¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ù¤­¤«¤Î·èÄê¤ò¤è¤êÎɤ¯²¼¤·¤Þ¤¹¡£
-¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¥Æ¡¼¥Ö¥ë¤¬¾®¤µ¤¯¤ÆϢ³¥¹¥­¥ã¥ó¤ÎÊý¤¬Â®¤¤¤Ç¤¢¤í¤¦¾ì¹ç¤Ï¥¤¥ó¥Ç¥Ã
-¥¯¥¹¤ò»È¤ï¤Ê¤¤¤³¤È¤Ë¤´Ãí°Õ²¼¤µ¤¤¡£
-
-ÎóÆÃÄê¤ÎºÇŬ²½Åý·×¤Î¤¿¤á¤ËVACUUM ANALYZE¤ò»È¤¤¤Þ¤¹¡£VACUUM ANALYZE¤ÏÊ£»¨¤ÊÊ£¹ç
-·ë¹ç(multi-join)Ì䤤¹ç¤ï¤»¤Î¤¿¤á¤ËÂçÀڤǤ¹¤Î¤Ç¡¢¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¤½¤ì¤¾¤ì¤Î¥Æ¡¼
֥뤫¤éÊÖ¤µ¤ì¤ë¹Ô¤Î¿ô¤ò¸«ÀѤ뤳¤È¤¬¤Ç¤­¡¢ÆÃÄê¤Î·ë¹ç½ç½ø¤òÁª¤Ó¤Þ¤¹¡£¥Ð¥Ã¥¯¥¨¥ó
ɤϤ½¤ì¼«¿È¤Ç¤ÏÎó¤ÎÅý·×¤òÊÝ»ý¤·¤Ê¤¤¤Î¤Ç¡¢Äê´üŪ¤Ë¤½¤ì¤é¤ò½¸¤á¤ë¤¿¤á¤Ë¤Ï VACUUM
-ANALYZE ¤òÁö¤é¤»¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï ORDER BY Áàºî¤Î¤¿¤á¤Ë¤ÏÉáÄ̤ϻȤï¤ì¤Þ¤»¤ó¡£¤¹¤Ê¤ï¤Á¡¢½ç¼¡¥¹¥­¥ã
ó¤Ë³¤¯ÌÀ¼¨Åª¥½¡¼¥È¤Ï¡¢¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤¬¤è¤ê¾¯¤Ê¤¯¤ÆºÑ¤à¤Î¤Ç¡¢µðÂç¤Ê¥Æ¡¼¥Ö¥ë
-¤ÎÁ´·ï¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¥¹¥­¥ã¥ó¤¹¤ë¤è¤ê¤â¹â®¤Ç¤¹¡£
-
-LIKE ¤¢¤ë¤¤¤Ï ~ ¤Î¤è¤¦¤Ê¥ï¥¤¥ë¥É¥«¡¼¥É±é»»»Ò(wild-card operators)¤ò»È¤¦¤È¤­¡¢¸¡
-º÷¤Î³«»Ï¤¬Ê¸»úÎó¤Î»Ï¤á¤ÎÉôʬ¤Ë¸ÇÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤Î¤ß¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Þ
-¤¹¡£¤½¤¦¤¤¤¦¤ï¤±¤Ç¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢LIKE ¸¡º÷¤Ç¤Ï%¤Ç»Ï¤á¤Ê¤¤¤è¤¦¤Ë
·¤Æ¡¢¤Þ¤¿¡¢~(Àµµ¬É½¸½¸¡º÷)¤Ï^ ¤Ç»Ï¤á¤ë¤è¤¦¤Ë¤¹¤ë¤Ù¤­¤Ç¤¹¡£ [ÌõÃí¡§¶¯À©Åª¤Ë¥¤¥ó
-¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ë¤Ï SET enable_seqscan = off ¤ò¼Â¹Ô¤·¤Þ¤¹]
-
-4.10) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤Î¤«¤ò¸«¤ë¤Ë¤Ï¤É
-¤¦¤·¤Þ¤¹¤«¡©
+VACUUM ¤òÁö¤é¤»¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£Åý·×¾ðÊ󤬹¹¿·¤µ¤ì¤¿¸å¤Ï¡¢¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶
+¤¬¥Æ¡¼¥Ö¥ë¤Ë²¿¹Ô¤¢¤ë¤«¤òÃΤäơ¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ù¤­¤«¤Î·èÄê¤ò¤è¤êÎɤ¯²¼¤·
+¤Þ¤¹¡£¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¥Æ¡¼¥Ö¥ë¤¬¾®¤µ¤¯¤ÆϢ³¥¹¥­¥ã¥ó¤ÎÊý¤¬Â®¤¤¤Ç¤¢¤í¤¦¾ì¹ç¤Ï
¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤ï¤Ê¤¤¤³¤È¤Ë¤´Ãí°Õ²¼¤µ¤¤¡£
+
+ÎóÆÃÄê¤ÎºÇŬ²½Åý·×¤Î¤¿¤á¤ËVACUUM ANALYZE¤ò»È¤¤¤Þ¤¹¡£VACUUM ANALYZE¤ÏÊ£»¨¤ÊÊ£
+¹ç·ë¹ç(multi-join)Ì䤤¹ç¤ï¤»¤Î¤¿¤á¤ËÂçÀڤǤ¹¤Î¤Ç¡¢¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¤½¤ì¤¾¤ì¤Î
Æ¡¼¥Ö¥ë¤«¤éÊÖ¤µ¤ì¤ë¹Ô¤Î¿ô¤ò¸«ÀѤ뤳¤È¤¬¤Ç¤­¡¢ÆÃÄê¤Î·ë¹ç½ç½ø¤òÁª¤Ó¤Þ¤¹¡£¥Ð¥Ã
¯¥¨¥ó¥É¤Ï¤½¤ì¼«¿È¤Ç¤ÏÎó¤ÎÅý·×¤òÊÝ»ý¤·¤Ê¤¤¤Î¤Ç¡¢Äê´üŪ¤Ë¤½¤ì¤é¤ò½¸¤á¤ë¤¿¤á¤Ë
+¤Ï VACUUM ANALYZE ¤òÁö¤é¤»¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
+
+ÉáÄÌ¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï ORDER BY ¤ä·ë¹ç¤ÎÁàºî¤Î¤¿¤á¤Ë¤Ï»È¤ï¤ì¤Þ¤»¤ó¡£¥é¥ó¥À¥à¤Ê
Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤Ï¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¡¢½ç¼¡¥¹¥­¥ã¥ó¤Ë³¤¯ÌÀ¼¨Åª¥½¡¼¥È¤Ï¡¢µðÂç¤Ê¥Æ
+¡¼¥Ö¥ë¤ÎÁ´·ï¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¥¹¥­¥ã¥ó¤¹¤ë¤è¤ê¤â¹â®¤Ç¤¹¡£
+
+LIKE ¤¢¤ë¤¤¤Ï ~ ¤Î¤è¤¦¤Ê¥ï¥¤¥ë¥É¥«¡¼¥É±é»»»Ò(wild-card operators)¤ò»È¤¦¤È
+¤­¡¢¸¡º÷¤Î³«»Ï¤¬Ê¸»úÎó¤Î»Ï¤á¤ÎÉôʬ¤Ë¸ÇÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤Î¤ß¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬
+»È¤ï¤ì¤Þ¤¹¡£ ¤½¤¦¤¤¤¦¤ï¤±¤Ç¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢LIKE ¸¡º÷¤Ç¤Ï%¤Ç»Ï
á¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¡¢¤Þ¤¿¡¢~(Àµµ¬É½¸½¸¡º÷)¤Ï^ ¤Ç»Ï¤á¤ë¤è¤¦¤Ë¤¹¤ë¤Ù¤­¤Ç¤¹¡£ [Ìõ
+Ãí¡§¶¯À©Åª¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ë¤Ï SET enable_seqscan = off ¤ò¼Â¹Ô¤·¤Þ¤¹]
+
+4.10) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤Î¤«¤ò¸«¤ë¤Ë¤Ï
ɤ¦¤·¤Þ¤¹¤«¡©
 
 ¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç EXPLAIN ¤ò¸«¤Æ²¼¤µ¤¤¡£
 
 4.11) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡©
 
-R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¶õ´ÖŪ¤Ê¥Ç¡¼¥¿¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÉÕ¤±¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£¥Ï¥Ã
·¥å¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤ÏÈϰϤθ¡º÷¤¬¤Ç¤­¤Þ¤»¤ó¡£¤Þ¤¿¡¢B-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤Ï¡¢£±¼¡
-¸µ¤Ç¤·¤«ÈϰϤθ¡º÷¤¬¤Ç¤­¤Þ¤»¤ó¡£R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¢¤ì¤Ð¿¼¡¸µ¤Î¥Ç¡¼¥¿¤ò°·¤¨
-¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤â¤· R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò point ·¿¤Î°À­¤ËÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤È
¹¤ë¤È¥·¥¹¥Æ¥à¤Ï¡¢¡ÖĹÊý·Á¤Ë°Ï¤Þ¤ì¤¿ÅÀ¤ò¤¹¤Ù¤ÆÁªÂò¤¹¤ë¡×¤È¤¤¤¦¤è¤¦¤ÊÌ䤤¹ç¤ï¤»
-¤Ë¡¢¤è¤ê¸úΨÎɤ¯Åú¤¨¤é¤ì¤Þ¤¹¡£
+R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¶õ´ÖŪ¤Ê¥Ç¡¼¥¿¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÉÕ¤±¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£
ϥ工奤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤ÏÈϰϤθ¡º÷¤¬¤Ç¤­¤Þ¤»¤ó¡£¤Þ¤¿¡¢B-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç
+¤Ï¡¢£±¼¡¸µ¤Ç¤·¤«ÈϰϤθ¡º÷¤¬¤Ç¤­¤Þ¤»¤ó¡£R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¢¤ì¤Ð¿¼¡¸µ¤Î
+¥Ç¡¼¥¿¤ò°·¤¨¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤â¤· R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò point ·¿¤Î°À­¤ËÉÕ¤±
뤳¤È¤¬¤Ç¤­¤ë¤È¤¹¤ë¤È¥·¥¹¥Æ¥à¤Ï¡¢¡ÖĹÊý·Á¤Ë°Ï¤Þ¤ì¤¿ÅÀ¤ò¤¹¤Ù¤ÆÁªÂò¤¹¤ë¡×¤È¤¤
¦¤è¤¦¤ÊÌ䤤¹ç¤ï¤»¤Ë¡¢¤è¤ê¸úΨÎɤ¯Åú¤¨¤é¤ì¤Þ¤¹¡£
 
 R-Tree ¤ÎÀ߷פθ¶Åµ¤È¤Ê¤ë¸¢°Ò¤¢¤ëÏÀʸ¤Ï:
 
-Guttman, A. "R-Trees: A Dynamic Index Structure for Spatial Searching." Proc of
-the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.
+Guttman, A. "R-Trees: A Dynamic Index Structure for Spatial Searching." Proc
+of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.
 
-¤³¤ÎÏÀʸ¤Ï¡¢Stonebraker ¶µ¼ø¤Î "Readings in Database Systems" ¤Ç¤â¼è¤ê¾å¤²¤é¤ì
-¤Æ¤¤¤Þ¤¹¡£
+¤³¤ÎÏÀʸ¤Ï¡¢Stonebraker ¶µ¼ø¤Î "Readings in Database Systems" ¤Ç¤â¼è¤ê¾å¤²¤é
ì¤Æ¤¤¤Þ¤¹¡£
 
     [ÌõÃí¡§
           ÆàÎÉÀèüÂç¤ÎÀÐÀî²Â¼£¤µ¤ó¤è¤êR-Tree´Ø·¸¤Îʸ¸¥¤ò¾Ò²ð¤·¤Æ夭¤Þ¤·¤¿¡£
-        ÆüËܸì Postgres ML ¤Î¥¢¡¼¥«¥¤¥Ö¤«¤é "Subject: [postgres95 801] spatial data structures" 
+        ÆüËܸì Postgres ML ¤Î¥¢¡¼¥«¥¤¥Ö¤«¤é "Subject: [postgres95 801] spatial data structures"
                 http://www.sra.co.jp/people/t-ishii/PostgreSQL/mhonarc/pgsql-jp/1996Oct/msg00007.html
         ¤ò¤´Í÷²¼¤µ¤¤¡£
     ]
 
-
-Áȹþ¤ß¤Î R-Tree ¤Ç¥Ý¥ê¥´¥ó¤ä¥Ü¥Ã¥¯¥¹¤òÁàºî¤Ç¤­¤Þ¤¹¡£ÍýÏÀŪ¤Ë¤ÏR-Tree ¤Ï¤â¤Ã¤È¹â
-¤¤¼¡¸µ¤òÁàºî¤¹¤ë¤è¤¦¤Ë¤â³ÈÄ¥¤Ç¤­¤Þ¤¹¡£¼Â¼ÁŪ¤Ë¤Ï¡¢R-Tree ¤Î³ÈÄ¥¤Ë¤Ï¤Á¤ç¤Ã¤È¤·¤¿
-ºî¶È¤¬É¬ÍפǤ·¤Æ¡¢¸½ºß¡¢²æ¡¹¤Ï¤½¤ì¤ò¤É¤Î¤è¤¦¤Ë¤¹¤ë¤«¤Ë¤Ä¤¤¤Æ¤Îʸ½ñ¤ò»ý¤Ã¤Æ¤¤¤Þ
-¤»¤ó¡£
+Áȹþ¤ß¤Î R-Tree ¤Ç¥Ý¥ê¥´¥ó¤ä¥Ü¥Ã¥¯¥¹¤òÁàºî¤Ç¤­¤Þ¤¹¡£ÍýÏÀŪ¤Ë¤ÏR-Tree ¤Ï¤â¤Ã
+¤È¹â¤¤¼¡¸µ¤òÁàºî¤¹¤ë¤è¤¦¤Ë¤â³ÈÄ¥¤Ç¤­¤Þ¤¹¡£¼Â¼ÁŪ¤Ë¤Ï¡¢R-Tree ¤Î³ÈÄ¥¤Ë¤Ï¤Á¤ç
+¤Ã¤È¤·¤¿ºî¶È¤¬É¬ÍפǤ·¤Æ¡¢¸½ºß¡¢²æ¡¹¤Ï¤½¤ì¤ò¤É¤Î¤è¤¦¤Ë¤¹¤ë¤«¤Ë¤Ä¤¤¤Æ¤Îʸ½ñ¤ò
+»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
 
     [ÌõÃí¡§
           ¥¤¥ó¥¿¡¼¥¦¥£¥º¤ÎÊÒ²¬¤µ¤ó¤¬Â¿¼¡¸µ´ö²¿¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î³ÈÄ¥ºî¶ÈÃæ¤Ç¤¹¡£¾Ü¤·¤¯¤Ï¡¢
@@ -945,23 +922,37 @@ the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.
         ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
     ]
 
-
 4.12) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡©
 
-GEQO ¥â¥¸¥å¡¼¥ë¤Ï¡¢Âô»³¤Î¥Æ¡¼¥Ö¥ë¤ò·ë¹ç¤¹¤ë¤È¤­¤Ë¡¢°äÅÁŪ¥¢¥ë¥´¥ê¥º¥à(GA)¤ÇÌä¹ç
-¤ï¤»¤ò¹â®²½¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤·¤é¤ß¤Ä¤Ö¤·¤Ëõº÷¤ò¹Ô¤Ê¤ï¤Ê¤¯¤Æ¤â¡¢Â礭¤Ê·ë¹ç
-(join queries)¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+GEQO ¥â¥¸¥å¡¼¥ë¤Ï¡¢Âô»³¤Î¥Æ¡¼¥Ö¥ë¤ò·ë¹ç¤¹¤ë¤È¤­¤Ë¡¢°äÅÁŪ¥¢¥ë¥´¥ê¥º¥à(GA)¤Ç
+Ìä¹ç¤ï¤»¤ò¹â®²½¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤·¤é¤ß¤Ä¤Ö¤·¤Ëõº÷¤ò¹Ô¤Ê¤ï¤Ê¤¯¤Æ¤â¡¢Â礭
+¤Ê·ë¹ç(join queries)¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
 
-4.13) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â
-¸½¤·¤Þ¤¹¤«¡©
+4.13) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë
+¼Â¸½¤·¤Þ¤¹¤«¡©Âçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤¸¡º÷¤Î¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¤É¤Î¤è¤¦
+¤Ë»È¤¤¤Þ¤¹¤«¡©
 
 ~±é»»»Ò¤ÏÀµµ¬É½¸½¾È¹ç¤ò¹Ô¤Ê¤¤¡¢~* ¤ÏÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤
-(case-insensitive)Àµµ¬É½¸½¾È¹ç¤ò¹Ô¤¤¤Þ¤¹¡£ PostgreSQL 7.1 °Ê¹ß¤Ç¤Ï¡¢Âçʸ»ú¤È¾®
-ʸ»ú¤ò¶èÊ̤·¤Ê¤¤ LIKE ±é»»»Ò¤ò ILIKE ¤È¤¤¤¤¤Þ¤¹¡£
+(case-insensitive)Àµµ¬É½¸½¾È¹ç¤ò¹Ô¤¤¤Þ¤¹¡£ PostgreSQL 7.1 °Ê¹ß¤Ç¤Ï¡¢Âçʸ»ú¤È
+¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤ LIKE ±é»»»Ò¤ò ILIKE ¤È¤¤¤¤¤Þ¤¹¡£
+
+Âçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤ÅùÃÍÈæ³Ó¼¡¤Î¤è¤¦¤Ëɽ¸½¤Ç¤­¤ë¡§
+
+    SELECT *
+    FROM tab
+    WHERE lower(col) = 'abc'
+
+
+ɸ½à¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤Ï»È¤ï¤ì¤º¡¢¤·¤«¤·¤Ê¤¬¤é¡¢¤â¤·´Ø¿ô¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò ºî¤Ã¤¿¤Ê
+¤é¤½¤ì¤¬»È¤ï¤ì¤ë¤Ç¤·¤ç¤¦¡£
+
+   CREATE INDEX tabindex on tab (lower(col));
+
+
         WHERE lower(textfield) LIKE lower(pattern)
 
-4.14) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«
-¡©
+4.14) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹
+¤«¡©
 
 IS NULL¤Î¥«¥é¥à¤ò IS NOT NULL ¤Ç»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£
 
@@ -975,186 +966,208 @@ VARCHAR(#)      varchar         Ĺ
 TEXT            text            Ä¹¤µ¤ÎÀ©¸Â¤ÏºÇÂç¹ÔŤˤè¤ë
 BYTEA           bytea           ²ÄÊÑĹ¤Î¥Ð¥¤¥ÈÇÛÎó
 
-ÆâÉô̾¤Ë¤ªÌܤˤ«¤«¤ë¤Î¤Ï¡¢¥·¥¹¥Æ¥à¡¦¥«¥¿¥í¥°¤òÄ´¤Ù¤ë¤È¤­¤ä¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò
-¼õ¤±¼è¤ë¤È¤­¤Ç¤¹¡£
+ÆâÉô̾¤Ë¤ªÌܤˤ«¤«¤ë¤Î¤Ï¡¢¥·¥¹¥Æ¥à¡¦¥«¥¿¥í¥°¤òÄ´¤Ù¤ë¤È¤­¤ä¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸
+¤ò¼õ¤±¼è¤ë¤È¤­¤Ç¤¹¡£
 
-¾åµ­¤Î·¿¤Î¤¦¤Á¸å¤Î£´¤Ä¤Î·¿¤Ï "varlena" ·¿¤Ç¤¹(¤¹¤Ê¤ï¤Á¡¢¥Ç¥£¥¹¥¯¤ÎºÇ½é¤Î£´¥Ð¥¤
Ȥ¬¥Ç¡¼¥¿Ä¹¤Ç¡¢¤½¤ì¤Î¸å¤Ë¼ÂºÝ¤Î¥Ç¡¼¥¿¤¬Â³¤­¤Þ¤¹)¡£¤³¤Î¤è¤¦¤Ë¼ÂºÝ¤Î¶õ´Ö¤ÏÀë¸À¤µ
-¤ì¤¿Â礭¤µ¤è¤ê¤â¾¯¤·Â礭¤¯¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ì¤é¤Î¥Ç¡¼¥¿·¿¤ÏTOAST¤Ë¤è¤ê°µ½Ì¤µ
줿¤êÊ£¿ô¹Ô¤ËÅϤäÆÊݸ¤µ¤ì¤¿¤ê¤·¤Æ¡¢¥Ç¥£¥¹¥¯¾å¤Î¶õ´Ö¤Ï»×¤Ã¤¿¤è¤ê¾®¤µ¤¯¤Ê¤ê¤Þ
-¤¹¡£
+¾åµ­¤Î·¿¤Î¤¦¤Á¸å¤Î£´¤Ä¤Î·¿¤Ï "varlena" ·¿¤Ç¤¹(¤¹¤Ê¤ï¤Á¡¢¥Ç¥£¥¹¥¯¤ÎºÇ½é¤Î£´¥Ð
¤¥È¤¬¥Ç¡¼¥¿Ä¹¤Ç¡¢¤½¤ì¤Î¸å¤Ë¼ÂºÝ¤Î¥Ç¡¼¥¿¤¬Â³¤­¤Þ¤¹)¡£¤³¤Î¤è¤¦¤Ë¼ÂºÝ¤Î¶õ´Ö¤Ï
+Àë¸À¤µ¤ì¤¿Â礭¤µ¤è¤ê¤â¾¯¤·Â礭¤¯¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ì¤é¤Î¥Ç¡¼¥¿·¿¤ÏTOAST¤Ë
è¤ê°µ½Ì¤µ¤ì¤¿¤êÊ£¿ô¹Ô¤ËÅϤäÆÊݸ¤µ¤ì¤¿¤ê¤·¤Æ¡¢¥Ç¥£¥¹¥¯¾å¤Î¶õ´Ö¤Ï»×¤Ã¤¿¤è¤ê
+¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¡£
 
 4.16.1) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©
 
-PostgreSQL ¤Ï SERIAL ¥Ç¡¼¥¿·¿¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£Îó¾å¤ËÄÌÈ֤ȥ¤¥ó¥Ç¥Ã¥¯¥¹¤ò¼«Æ°ºî
-À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-        CREATE TABLE person ( 
-                id   SERIAL, 
-                name TEXT 
+PostgreSQL ¤Ï SERIAL ¥Ç¡¼¥¿·¿¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£Îó¾å¤ËÄÌÈ֤ȥ¤¥ó¥Ç¥Ã¥¯¥¹¤ò¼«
+Æ°ºîÀ®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
+
+        CREATE TABLE person (
+                id   SERIAL,
+                name TEXT
         );
+
 ¤Ï¼«Æ°Åª¤Ë¼¡¤Î¤è¤¦¤ËËÝÌõ¤µ¤ì¤Þ¤¹:
+
         CREATE SEQUENCE person_id_seq;
-        CREATE TABLE person ( 
+        CREATE TABLE person (
                 id   INT4 NOT NULL DEFAULT nextval('person_id_seq'),
-                name TEXT 
+                name TEXT
         );
         CREATE UNIQUE INDEX person_id_key ON person ( id );
-ÄÌÈ֤ˤĤ¤¤Æ¤Î¤â¤Ã¤È¾Ü¤·¤¤¾ðÊó¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç create_sequence ¤ò¤´Í÷
-²¼¤µ¤¤¡£
 
-¤Þ¤¿¡¢³Æ¹Ô¤ÎOID¥Õ¥£¡¼¥ë¥É¤ò°ì°ÕÃͤȤ·¤Æ»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢¤â¤·¤â
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥À¥ó¥×¤·¤Æ¤ê¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢OID¤ò²¹Â¸¤¹¤ë¤¿¤á¤Ë
-pg_dump ¤Ç -o¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤«¡¢¤Þ¤¿¤Ï¡¢COPY WITH OIDS¥ª¥×¥·¥ç¥ó¤ò»È¤¦É¬Íפ¬¤¢
-¤ê¤Þ¤¹¡£ Bruce Momjian ¤Î(http://www.PostgreSQL.org/docs/aw_pgsql_book)¤Î
-Numbering Rows¤Î¾Ï¤Ë¤¢¤ê¤¢¤Þ¤¹¡£
+ÄÌÈ֤ˤĤ¤¤Æ¤Î¤â¤Ã¤È¾Ü¤·¤¤¾ðÊó¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç create_sequence ¤ò
+¤´Í÷²¼¤µ¤¤¡£
+
+¤Þ¤¿¡¢³Æ¹Ô¤ÎOID¥Õ¥£¡¼¥ë¥É¤ò°ì°ÕÃͤȤ·¤Æ»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢¤â
+¤·¤â¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥À¥ó¥×¤·¤Æ¤ê¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢OID¤ò²¹Â¸¤¹¤ë¤¿¤á
+¤Ëpg_dump ¤Ç -o¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤«¡¢¤Þ¤¿¤Ï¡¢COPY WITH OIDS¥ª¥×¥·¥ç¥ó¤ò»È¤¦É¬
+Íפ¬¤¢¤ê¤Þ¤¹¡£ Bruce Momjian ¤Î
+(http://www.PostgreSQL.org/docs/aw_pgsql_book)¤Î Numbering Rows¤Î¾Ï¤Ë¤¢¤ê¤¢
+¤Þ¤¹¡£
 
-4.16.2) SERIAL¥¤¥ó¥µ¡¼¥È¤ÎÃͤϤɤ¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡©
+4.16.2) SERIAL¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡©
+
+¤Ò¤È¤Ä¤ÎÊýË¡¤Ï¡¢nextval() ´Ø¿ô¤ò»È¤Ã¤Æ¤½¤ÎÃͤòÁÞÆþ¤¹¤ëÁ°(before)¤Ë SEQUENCE
+¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¼¡¤Î SERIAL Ãͤò¼è¤ê½Ð¤·¡¢¤½¤ì¤«¤é¼ÂºÝ¤ËÁÞÆþ¤ò¤¹¤ë¤³¤È¤Ç¤¹¡£
+4.16.1 ¤ÎÎã¤Ç»È¤Ã¤¿¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
 
-¤Ò¤È¤Ä¤ÎÊýË¡¤Ï¡¢nextval() ´Ø¿ô¤ÇÁÞÆþ¤¹¤ëÁ°¤Ë(before) SEQUENCE¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¼¡
-¤ÎSERIALÃͤò¼è¤ê½Ð¤·¡¢¤½¤ì¤«¤é¼ÂºÝ¤ËÁÞÆþ¤ò¤¹¤ë¤³¤È¤Ç¤·¤ç¤¦¡£ 4.16.1¤ÎÎã¤Ç»È¤Ã¤¿
-¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
         $newSerialID = nextval('person_id_seq');
         INSERT INTO person (id, name) VALUES ($newSerialID, 'Blaise Pascal');
-¤½¤¦¤·¤Æ¡¢$newSerialID ¤ËÊݸ¤·¤¿¿·¤·¤¤Ãͤò¾¤ÎÌ䤤¹ç¤ï¤»¤Ë(¤¿¤È¤¨¤Ð¡¢person ¥Æ
-¡¼¥Ö¥ë¤ËÂФ¹¤ë³°Éô¸°(foreign key)¤Î¤è¤¦¤Ë)»È¤¦¤È¤è¤¤¤Ç¤·¤ç¤¦¡£¼«Æ°Åª¤Ëºî¤é¤ì¤¿
-SEQUENCE¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢<table>_<serialcolumn>_seq ¤Î¤è¤¦¤Ë¤Ê¤ê¡¢¤³¤Î¤¦¤Á
-¡¢table ¤È serialcolumn ¤Ï¤½¤ì¤¾¤ì¥Æ¡¼¥Ö¥ë¤Î̾Á°¤ÈSERIALÎó¤Î̾Á°¤Ç¤¹¡£
+
+¤½¤¦¤·¤Æ¡¢$newSerialID ¤ËÊݸ¤·¤¿¿·¤·¤¤Ãͤò¾¤ÎÌ䤤¹ç¤ï¤»¤Ë(¤¿¤È¤¨¤Ð¡¢person
+¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ë³°Éô¥­¡¼(foreign key)¤Î¤è¤¦¤Ë)»È¤¦¤È¤è¤¤¤Ç¤·¤ç¤¦¡£¼«Æ°Åª¤Ëºî
+¤é¤ì¤¿SEQUENCE¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢<table>_<serialcolumn>_seq ¤Î¤è¤¦¤Ë¤Ê
+¤ê¡¢¤³¤Î¤¦¤Á¡¢table ¤È serialcolumn ¤Ï¤½¤ì¤¾¤ì¥Æ¡¼¥Ö¥ë¤Î̾Á°¤ÈSERIALÎó¤Î̾Á°
+¤Ç¤¹¡£
 
 ¤¢¤ë¤¤¤Ï¡¢Í¿¤¨¤é¤ì¤¿SERIALÃͤò¡¢¤½¤ì¤¬´ûÄêÃͤȤ·¤ÆÁÞÆþ¤µ¤ì¤¿¸å¤Ç(after)¡¢
 currval() ´Ø¿ô¤ò»È¤Ã¤Æ¼è¤ê½Ð¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
+
         INSERT INTO person (name) VALUES ('Blaise Pascal');
         $newID = currval('person_id_seq');
-ºÇ¸å¤Ë¡¢INSERTʸ¤«¤éÊÖ¤ëOID¤ò»È¤Ã¤Æ¡¢´ûÄêÃͤò¤ß¤Ä¤±¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤·¤«¤·¡¢
-¤³¤ì¤ÏºÇ¤â°Ü¿¢À­¤ÎÄ㤤¤ä¤êÊý¤Ç¤·¤ç¤¦¡£Perl¤ÎDBI¤Ç Edmund Mergl ¤Î DBD::Pg ¥â¥¸
-¥å¡¼¥ë¤ò»È¤¨¤Ð¡¢$sth->execute() ¤Î¸å¤Ë $sth->{pg_oid_status} ¤ò·Ðͳ¤·¤Æ¤½¤Î OID
-Ãͤò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¡£
 
-4.16.3) Â¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È¤ï¤Ê
-¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
+ºÇ¸å¤Ë¡¢INSERTʸ¤«¤éÊÖ¤ëOID¤ò»È¤Ã¤Æ¡¢´ûÄêÃͤò¤ß¤Ä¤±¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤·¤«
+¤·¡¢¤³¤ì¤ÏºÇ¤â°Ü¿¢À­¤ÎÄ㤤¤ä¤êÊý¤Ç¤·¤ç¤¦¡£Perl¤ÎDBI¤Ç Edmund Mergl ¤Îºî¤Ã¤¿
+DBD::Pg ¥â¥¸¥å¡¼¥ë¤ò»È¤¨¤Ð¡¢$sth->execute() ¤Î¸å¤Ë $sth->{pg_oid_status} ¤ò
+·Ðͳ¤·¤Æ¤½¤Î OID Ãͤò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¡£
+
+4.16.3) Â¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È
+¤ï¤Ê¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
 
-¤¢¤ê¤Þ¤»¤ó¡£¥Ð¥Ã¥¯¥¨¥ó¥É¤Ç½èÍý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¾å¼ê¤Ë½èÍý¤¹¤ë¤Î¤Ç¡¢¶¥¹ç¾õÂ֤ˤʤ뤳¤È¤ÏÍ­¤ê¤Þ¤»¤ó¡£
 
 4.17) OID ¤È¤Ï²¿¤Ç¤¹¤«¡© TID ¤È¤Ï²¿¤Ç¤¹¤«¡©
 
-OID ¤È¤Ï°ì°Õ¤Î¹Ô ID ¤ËÂФ¹¤ë PostgreSQL ¤ÎÅú¤¨¤Ç¤¹¡£PostgreSQL ¤ÎÃæ¤Ç¤Ä¤¯¤é¤ì¤ë
-¤¹¤Ù¤Æ¤Î¹Ô¤Ï°ì°Õ¤Î OID ¤òÆÀ¤Þ¤¹¡£initdb ¤Ç(backend/access/transam.h ¤«¤é)ȯÀ¸¤µ
-¤ì¤ë OID ¤Ï¤¹¤Ù¤Æ 16384¤è¤ê¾®¤µ¤ÊÃͤǤ¹¡£initdb ¸å¤Î¤¹¤Ù¤Æ¤Î OID (¥æ¡¼¥¶ºîÀ®)¤Ï
-¤½¤ì°Ê¾å¤ÎÃͤˤʤê¤Þ¤¹¡£´ûÄê¤Ç¤Ï¡¢¤³¤ì¤é¤¹¤Ù¤Æ¤Î OID ¤Ï¥Æ¡¼¥Ö¥ëÆâ¤ä¥Ç¡¼¥¿¥Ù¡¼¥¹
-Æâ¤Ëα¤Þ¤é¤º¡¢PostgreSQL ¤Î¤½¤Î¥¤¥ó¥¹¥È¥ì¡¼¥·¥ç¥óÁ´ÂÎÆâ¤Ç°ì°Õ¤Ç¤¢¤ê¤Þ¤¹¡£
-
-PostgreSQL ¤Ï¥Æ¡¼¥Ö¥ë´Ö¤Î¹Ô¤ò·ë¤Ó¤Ä¤±¤ë¤¿¤á¤Ë¡¢¤½¤Î¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ëÆâ¤Ë OID ¤ò
-»È¤¤¤Þ¤¹¡£¤³¤Î OID ¤ÏÆÃÄê¤Î¥æ¡¼¥¶¤Î¹Ô¤ò¼±Ê̤¹¤ë¤¿¤á¤ä·ë¹ç¤ÎÃæ¤Ç»È¤ï¤ì¤ë¤³¤È¤¬¤Ç
-¤­¤Þ¤¹¡£OID ¤ÎÃͤòÊݸ¤¹¤ë¤¿¤á¤Ë¤Ï OID ·¿¤òÎó¤Ë»È¤¦¤³¤È¤ò¾©¤á¤Þ¤¹¡£¤è¤ê®¤¯¥¢¥¯
-¥»¥¹¤¹¤ë¤¿¤á¤Ë OID ¥Õ¥£¡¼¥ë¥É¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-OID ¤Ï¡¢Á´¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é»È¤ï¤ì¤ëÃæ±ûÎΰ褫¤é¡¢Á´¤Æ¤Î¿·¤·¤¤¹Ô¤Ë³ä¤êÅö¤Æ¤é
-¤ì¤Þ¤¹¡£OID ¤ò¾¤Î²¿¤«¤ËÊѤ¨¤¿¤¤¡¢¤â¤·¤¯¤Ï¸µ¤Î OID ¤Ç¥Æ¡¼¥Ö¥ë¤ò¥³¥Ô¡¼¤·¤¿¤¤¤Î¤Ê
-¤é¡¢¤½¤¦¤Ç¤­¤Ê¤¤Íýͳ¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-        CREATE TABLE new_table(old_oid oid, mycol int);
+OID ¤È¤Ï°ì°Õ¤Î¹Ô ID ¤ËÂФ¹¤ë PostgreSQL ¤ÎÅú¤¨¤Ç¤¹¡£PostgreSQL ¤ÎÃæ¤Ç¤Ä¤¯¤é
+¤ì¤ë¤¹¤Ù¤Æ¤Î¹Ô¤Ï°ì°Õ¤Î OID ¤òÆÀ¤Þ¤¹¡£initdb ¤ÇȯÀ¸¤µ¤ì¤ë OID ¤Ï¤¹¤Ù¤Æ 16384
+(backend/access/transam.h ¤«¤é)¤è¤ê¾®¤µ¤ÊÃͤǤ¹¡£initdb ¸å¤Î¤¹¤Ù¤Æ¤Î OID (¥æ
+¡¼¥¶ºîÀ®)¤Ï¤½¤ì°Ê¾å¤ÎÃͤˤʤê¤Þ¤¹¡£ ´ûÄê¤Ç¤Ï¡¢¤³¤ì¤é¤¹¤Ù¤Æ¤Î OID¤Ï°ì¤Ä¤Î¥Ç¡¼
+¥Ö¥ë¤ä¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ëα¤Þ¤é¤º¡¢PostgreSQL ¥¤¥ó¥¹¥È¥ì¡¼¥·¥ç¥óÁ´ÂΤÎÃæ¤Ç°ì°Õ
+¤Ç¤¹¡£
+
+PostgreSQL ¤Ï¥Æ¡¼¥Ö¥ë´Ö¤Î¹Ô¤ò·ë¤Ó¤Ä¤±¤ë¤¿¤á¤Ë¡¢¤½¤Î¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ëÆâ¤Ë OID
+¤ò»È¤¤¤Þ¤¹¡£¤³¤Î OID ¤ÏÆÃÄê¤Î¥æ¡¼¥¶¤Î¹Ô¤ò¼±Ê̤¹¤ë¤¿¤á¤ä·ë¹ç¤ÎÃæ¤Ç»È¤ï¤ì¤ë¤³
+¤È¤¬¤Ç¤­¤Þ¤¹¡£OID ¤ÎÃͤòÊݸ¤¹¤ë¤¿¤á¤Ë¤Ï OID ·¿¤òÎó¤Ë»È¤¦¤³¤È¤ò¾©¤á¤Þ¤¹¡£¤è
+¤ê®¤¯¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë 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';
 
+OID ¤Ï¡¢4¥Ð¥¤¥È¤ÎÀ°¿ô¤È¤·¤ÆÊݸ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢40²¯¤ò±Û¤¨¤ë¤È°î¤ì¤Æ¤·¤Þ¤¦¤Ç
+¤·¤ç¤¦¡£Ã¯¤â¤³¤ì¤¬µ¯¤­¤¿¤ÈÊó¹ð¤·¤Æ¤¯¤ë¿Í¤Ï¤¤¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢¤½¤¦¤Ê¤ëÁ°¤Ë¤³¤Î
+À©¸Â¤ò¼è¤ê½ü¤¯¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£
 
-OID ¤Ï¡¢4¥Ð¥¤¥È¤ÎÀ°¿ô¤È¤·¤ÆÊݸ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢40²¯¤ò±Û¤¨¤ë¤È°î¤ì¤Æ¤·¤Þ¤¦¤Ç¤·¤ç
-¤¦¡£Ã¯¤â¤³¤ì¤¬µ¯¤­¤¿¤ÈÊó¹ð¤·¤Æ¤¯¤ë¿Í¤Ï¤¤¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢¤½¤¦¤Ê¤ëÁ°¤Ë¤³¤ÎÀ©¸Â¤ò
-¼è¤ê½ü¤¯¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£
-
-TID ¤ÏÆÃÄê¤ÎʪÍý¹Ô¤ò¤½¤Î¥Ö¥í¥Ã¥¯¤È¥ª¥Õ¥»¥Ã¥ÈÃͤǼ±Ê̤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£TID
-¤Ï¹Ô¤¬½¤Àµ¤µ¤ì¤¿¤êºÆ¥í¡¼¥É¤µ¤ì¤ë¤ÈÊѤï¤ê¤Þ¤¹¡£¤½¤ì¤é¤Î TID ¤Ï¡¢ÊªÍý¹Ô¤ò»Ø¤¹¤¿¤á
-¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹µ­ºÜ¤Ç»È¤ï¤ì¤Þ¤¹¡£
+TID ¤ÏÆÃÄê¤ÎʪÍý¹Ô¤ò¤½¤Î¥Ö¥í¥Ã¥¯¤È¥ª¥Õ¥»¥Ã¥ÈÃͤǼ±Ê̤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£
+TID ¤Ï¹Ô¤¬½¤Àµ¤µ¤ì¤¿¤êºÆ¥í¡¼¥É¤µ¤ì¤ë¤ÈÊѤï¤ê¤Þ¤¹¡£¤½¤ì¤é¤Î TID ¤Ï¡¢ÊªÍý¹Ô¤ò
+»Ø¤¹¤¿¤á¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹µ­ºÜ¤Ç»È¤ï¤ì¤Þ¤¹¡£
 
 4.18) PostgreSQL ¤Ç»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤ÎÍѸì¤Î°ÕÌ£¤Ï²¿¤Ç¤¹¤«¡©
 
-¤¤¤¯¤Ä¤«¤Î¥½¡¼¥¹¥³¡¼¥É¤ä¸Å¤¤Ê¸½ñ¤ÎÃæ¤Ë¤Ï¡¢¤½¤ì¤¾¤ÎÀìÌçʬÌî¤ÎÃæ¤Ç¤â¤Ã¤È°ìÈÌŪ¤Ë
-»È¤ï¤ì¤ëÀìÌçÍѸ줬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
-   
-   
- ¡¦ ¥Æ¡¼¥Ö¥ë(table)¡¢´Ø·¸(relation)¡¢¥¯¥é¥¹(class)
- ¡¦ ¹Ô(row)¡¢¥ì¥³¡¼¥É(record)¡¢¥¿¥Ã¥×¥ë(tuple)
- ¡¦ Îó(column)¡¢¥Õ¥£¡¼¥ë¥É(field)¡¢Â°À­(attribute)
- ¡¦ ¼èÆÀ(retrieve)¡¢ÁªÂò(select)
- ¡¦ ÃÖ´¹(replace)¡¢¹¹¿·(update)
- ¡¦ ÄɲÃ(append)¡¢ÁÞÆþ(insert)
- ¡¦ OID, Ï¢ÈÖ(serial value)
- ¡¦ ¥Ý¡¼¥¿¥ë(portal), ¥«¡¼¥½¥ë(cursor)
- ¡¦ ÎΰèÊÑ¿ô(range variable)¡¢¥Æ¡¼¥Ö¥ë̾(table name)¡¢¥Æ¡¼¥Ö¥ëÊÌ̾(table alias)
-
-°ìÈÌŪ¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹ÍѸì¤Î¥ê¥¹¥È¤Ï¡§ http://www.comptechnews.com/~reaster/
-dbdesign.html ¤Ç¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£
-
-4.19) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î¤Ï¤Ê
-¤¼¤Ç¤¹¤«¡©
+¤¤¤¯¤Ä¤«¤Î¥½¡¼¥¹¥³¡¼¥É¤ä¸Å¤¤Ê¸½ñ¤ÎÃæ¤Ë¤Ï¡¢¤½¤ì¤¾¤ÎÀìÌçʬÌî¤ÎÃæ¤Ç¤â¤Ã¤È°ìÈÌŪ
+¤Ë»È¤ï¤ì¤ëÀìÌçÍѸ줬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
+
+   * ¥Æ¡¼¥Ö¥ë(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://www.comptechnews.com/~reaster/dbdesign.html ¤Ç¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£
+
+4.19) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î
+¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
+
+¤â¤·¡¢7.1 ¤è¤ê¤â¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ò¤ª»È¤¤¤Î¾ì¹ç¤Ï¡¢¥¢¥Ã¥×¥Ç¡¼¥È¤Ë¤è¤Ã¤Æ¤³¤ÎÌäÂê
+¤ò ²ò·è¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£¤½¤ì¤È¡¢¥·¥¹¥Æ¥à¤Î²¾ÁÛ¥á¥â¥ê¡¼¤òÁ´¤Æ»È¤¤²Ì¤¿¤·¤Æ¤·¤Þ
+¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¡¢¥«¡¼¥Í¥ë¤¬¤¢¤ë¥ê¥½¡¼¥¹¤Ë¤Ä¤¤¤Æ¤â¤ÄÀ©¸ÂÃͤ¬Ä㤹¤®¤ë²Ä
+ǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ postmaster ¤ò»ÏÆ°¤¹¤ëÁ°¤Ë¤³¤ì¤ò»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡§
 
-¥·¥¹¥Æ¥à¤Î²¾ÁÛ¥á¥â¥ê¡¼¤òÁ´¤Æ»È¤¤²Ì¤¿¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥«
-¡¼¥Í¥ë¤¬¤¢¤ë¥ê¥½¡¼¥¹¤Ë¤Ä¤¤¤ÆÄ㤤À©¸ÂÃͤò»ý¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ postmaster
-¤ò³«»Ï¤¹¤ëÁ°¤Ë¤³¤ì¤ò»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡§
         ulimit -d 262144
         limit datasize 256m
 
-¥·¥§¥ë¤Ë¤è¤Ã¤Æ¡¢¤É¤Á¤é¤«¤Ò¤È¤Ä¤¬À®¸ù¤¹¤ë¤Ç¤·¤ç¤¦¤¬¡¢¤³¤ì¤Ï¥×¥í¥»¥¹¤Î¥Ç¡¼¥¿¥»¥°
á¥ó¥ÈÀ©¸Â¤ò¤è¤ê¹â¤¯ÀßÄꤷ¡¢¤¿¤Ö¤óÌ䤤¹ç¤ï¤»¤¬´°·ë¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£¤³¤Î
-¥³¥Þ¥ó¥É¤Ï¸½¹Ô¤Î¥×¥í¥»¥¹¤È¡¢¤³¤Î¥³¥Þ¥ó¥É¤òÁö¤é¤»¤¿¸å¤Ëºî¤é¤ì¤ëÁ´¤Æ¤Î¥µ¥Ö¥×¥í¥»
¹¤Ë¤Ä¤¤¤ÆŬÍѤµ¤ì¤Þ¤¹¡£¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¤È¤Æ¤â¿¤¯¤Î¥Ç¡¼¥¿¤òÊÖ¤¹¤¿¤á¤ËSQL ¥¯¥é¥¤
-¥¢¥ó¥È¤ÇÌäÂ꤬³¤¤¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò³«»Ï¤¹¤ëÁ°¤Ë¤³¤ì¤ò»î¤·¤Æ¤ß¤Æ
-¤¯¤À¤µ¤¤¡£
+¥·¥§¥ë¤Ë¤è¤Ã¤Æ¡¢¤É¤Á¤é¤«¤Ò¤È¤Ä¤¬À®¸ù¤¹¤ë¤Ç¤·¤ç¤¦¤¬¡¢¤³¤ì¤Ï¥×¥í¥»¥¹¤Î¥Ç¡¼¥¿¥»
°¥á¥ó¥ÈÀ©¸Â¤ò¤è¤ê¹â¤¯ÀßÄꤷ¡¢¤¿¤Ö¤óÌ䤤¹ç¤ï¤»¤¬´°·ë¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
+¤³¤Î¥³¥Þ¥ó¥É¤Ï¸½¹Ô¤Î¥×¥í¥»¥¹¤È¡¢¤³¤Î¥³¥Þ¥ó¥É¤òÁö¤é¤»¤¿¸å¤Ëºî¤é¤ì¤ëÁ´¤Æ¤Î¥µ¥Ö
×¥í¥»¥¹¤Ë¤Ä¤¤¤ÆŬÍѤµ¤ì¤Þ¤¹¡£¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¤È¤Æ¤â¿¤¯¤Î¥Ç¡¼¥¿¤òÊÖ¤¹¤¿¤á¤Ë
+SQL ¥¯¥é¥¤¥¢¥ó¥È¤ÇÌäÂ꤬³¤¤¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò³«»Ï¤¹¤ëÁ°¤Ë¤³¤ì
ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
 
 4.20) ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤òÁö¤é¤»¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
 
 psql ¤«¤é select version(); ¤ò¥¿¥¤¥×¤·¤Þ¤¹¡£
 
-4.21) ¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Çinvalid large obj descriptor ¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿
-¡£¤Ê¤¼¤Ç¤·¤ç¤¦¤«¡©
+4.21) ¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Çinvalid large obj descriptor ¤ò¼õ¤±¼è¤ê¤Þ
+¤·¤¿¡£¤Ê¤¼¤Ç¤·¤ç¤¦¤«¡©
 
-¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÁàºî¤ò¤¹¤ë¤È¤­¤Ï¡¢Á°¸å¤ËBEGIN WORK¤ÈCOMMIT¤òÉÕ¤±¤ëɬÍפ¬¤¢
-¤ê¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢lo_open ... lo_close¤ò¤Ï¤µ¤ß¹þ¤ß¤Þ¤¹¡£
+¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÁàºî¤ò¤¹¤ë¤È¤­¤Ï¡¢Á°¸å¤ËBEGIN WORK¤ÈCOMMIT¤òÉÕ¤±¤ëɬÍפ¬
¢¤ê¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢lo_open ... lo_close¤ò¤Ï¤µ¤ß¹þ¤ß¤Þ¤¹¡£
 
-¸½ºß¤Ï¡¢PostgreSQL¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥³¥ß¥Ã¥È»þ¤Ë¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥Ï¥ó¥É
ë¤òÊĤ¸¤ë¤³¤È¤Ë¤è¤ê¡¢lo_open¥³¥Þ¥ó¥É¤¬´°Î»¤·¤¿Ä¾¸å¤Ë¶¯À©Åª¤Ë¥ë¡¼¥ë¤ò¼Â¹Ô¤·¤Þ¤¹
-¡£¤³¤Î¤¿¤á¡¢ºÇ½é¤Ë¥Ï¥ó¥É¥ë¤ËÂФ·¤Æ²¿¤«¤ò¤·¤è¤¦¤È¤¹¤ë¤È¡¢invalid large obj
-descriptor(¥é¡¼¥¸¥ª¥Ö¥¸¥§¥¯¥È¤Îµ­½Ò»Ò¤¬ÉÔÀµ)¤È¤Ê¤ê¤Þ¤¹¡£¤½¤ì¤Ç¡¢¤â¤·¡¢¥È¥é¥ó¥¶
¯¥·¥ç¥ó¤ò»È¤¦¤Î¤ò˺¤ì¤ë¤È¡¢¡Ê¾¯¤Ê¤¯¤È¤â¤Û¤È¤ó¤É¤Î»þ´Ö¡ËƯ¤¤¤Æ¤¤¤¿¥³¡¼¥É¤¬¥¨¥é
-¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤¹¤Î¤Ç¤¹¡£
+¸½ºß¤Ï¡¢PostgreSQL¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥³¥ß¥Ã¥È»þ¤Ë¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥Ï¥ó
É¥ë¤òÊĤ¸¤ë¤³¤È¤Ë¤è¤ê¡¢lo_open¥³¥Þ¥ó¥É¤¬´°Î»¤·¤¿Ä¾¸å¤Ë¶¯À©Åª¤Ë¥ë¡¼¥ë¤ò¼Â¹Ô
+¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢ºÇ½é¤Ë¥Ï¥ó¥É¥ë¤ËÂФ·¤Æ²¿¤«¤ò¤·¤è¤¦¤È¤¹¤ë¤È¡¢invalid large
+obj descriptor(¥é¡¼¥¸¥ª¥Ö¥¸¥§¥¯¥È¤Îµ­½Ò»Ò¤¬ÉÔÀµ)¤È¤Ê¤ê¤Þ¤¹¡£¤½¤ì¤Ç¡¢¤â¤·¡¢¥È
é¥ó¥¶¥¯¥·¥ç¥ó¤ò»È¤¦¤Î¤ò˺¤ì¤ë¤È¡¢¡Ê¾¯¤Ê¤¯¤È¤â¤Û¤È¤ó¤É¤Î»þ´Ö¡ËƯ¤¤¤Æ¤¤¤¿¥³¡¼
+¥É¤¬¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤¹¤Î¤Ç¤¹¡£
 
-¤â¤·¡¢ODBC¤Î¤è¤¦¤Ê¥¯¥é¥¤¥¢¥ó¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¤ª»È¤¤¤Ê¤é¡¢auto-commit off¤òÀß
-Äꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
+¤â¤·¡¢ODBC¤Î¤è¤¦¤Ê¥¯¥é¥¤¥¢¥ó¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¤ª»È¤¤¤Ê¤é¡¢auto-commit off
+¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
 
 4.22) ¸½ºß¤Î»þ¹ï¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¤è¤¦¤ÊÎó¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©
 
 now()¤ò»È¤¤¤Þ¤¹:
+
         CREATE TABLE test (x int, modtime timestamp DEFAULT now() );
 
 4.23) ¤Ê¤¼¡¢IN¤ò»È¤¦ÉûÌ䤤¹ç¤ï¤»¤¬¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¤¹¤«¡©
 
-¸½ºß¡¢³°ÉôÌ䤤¹ç¤ï¤»¤Î³Æ¹Ô¤Ë¤Ä¤¤¤ÆÉûÌ䤤¹ç¤ï¤»¤Î·ë²Ì¤ò½çÈ֤˥¹¥­¥ã¥ó¤¹¤ë¤³¤È¤Ë
-¤è¤ê¡¢ÉûÌ䤤¹ç¤ï¤»¤ò³°ÉôÌ䤤¹ç¤ï¤»¤Ë·ë¹ç¤·¤Æ¤¤¤Þ¤¹¡£ÅöÌ̤ÏIN¤òEXISTS¤ÇÃÖ¤­´¹¤¨
-¤ë¤³¤È¤Ç¤¹¡§
+¸½ºß¡¢³°ÉôÌ䤤¹ç¤ï¤»¤Î³Æ¹Ô¤Ë¤Ä¤¤¤ÆÉûÌ䤤¹ç¤ï¤»¤Î·ë²Ì¤ò½çÈ֤˥¹¥­¥ã¥ó¤¹¤ë¤³¤È
+¤Ë¤è¤ê¡¢ÉûÌ䤤¹ç¤ï¤»¤ò³°ÉôÌ䤤¹ç¤ï¤»¤Ë·ë¹ç¤·¤Æ¤¤¤Þ¤¹¡£ÅöÌ̤ÏIN¤òEXISTS¤ÇÃÖ¤­
+´¹¤¨¤ë¤³¤È¤Ç¤¹¡§
+
         SELECT *
         FROM tab
         WHERE col1 IN (SELECT col2 FROM TAB2)
+
 ¤ò¡¢ÃÖ¤­´¹¤¨¤Æ¡§
+
         SELECT *
         FROM tab
         WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
-¤È¤·¤Þ¤¹¡£¤³¤ÎÀ©¸Â¤Ï¾­Íè¤Î¥ê¥ê¡¼¥¹¤Çľ¤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£
+
+¤È¤·¤Þ¤¹¡£ ¤³¤ÎÀ©¸Â¤Ï¾­Íè¤Î¥ê¥ê¡¼¥¹¤Çľ¤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£
 
 4.24) ³°Éô·ë¹ç(outer join)¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«?
 
-PostgreSQL 7.1 °Ê¹ß¤Ç¤ÏSQLɸ½à¹½Ê¸¤ò»È¤¦³°Éô·ë¹ç(¥¢¥¦¥¿¡¼¥¸¥ç¥¤¥ó)¤ò¥µ¥Ý¡¼¥È¤·
-¤Þ¤¹¡£¤³¤³¤Ë¡¢ÎãÂ꤬2¤Ä¤¢¤ê¤Þ¤¹¡£
+PostgreSQL 7.1 °Ê¹ß¤Ç¤ÏSQLɸ½à¹½Ê¸¤ò»È¤¦³°Éô·ë¹ç(¥¢¥¦¥¿¡¼¥¸¥ç¥¤¥ó)¤ò¥µ¥Ý¡¼¥È
+¤·¤Þ¤¹¡£¤³¤³¤Ë¡¢ÎãÂ꤬2¤Ä¤¢¤ê¤Þ¤¹¡£
+
  SELECT *
  FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
+
 ¤¢¤ë¤¤¤Ï
+
  SELECT *
  FROM t1 LEFT OUTER JOIN t2 USING (col);
-¤³¤ì¤é¤Î¾ÝħŪ¤ÊÌ䤤¹ç¤ï¤»¤Ç¤Ï t1.col ¤ò t2.col ¤È·ë¹ç¤·¤Æ¡¢t1 ¤Î·ë¹ç¤µ¤ì¤Ê¤«¤Ã
-¤¿¹Ô(t2 ¤È°ìÃפ·¤Ê¤«¤Ã¤¿¹Ô)¤âÊÖ¤·¤Æ¤¤¤Þ¤¹¡£RIGHT ·ë¹ç¤Ï t2 ¤Î·ë¹ç¤µ¤ì¤Ê¤«¤Ã¤¿¹Ô
-¤ò²Ã¤¨¤ë¤Ç¤·¤ç¤¦¡£FULL ·ë¹ç¤Ï¡¢°ìÃפ·¤¿¹Ô¤Ë t1 ¤È t2 ¤«¤é¤Ï·ë¹ç¤µ¤ì¤Ê¤«¤Ã¤¿¹Ô¤ò
-ÊÖ¤¹¤Ç¤·¤ç¤¦¡£OUTER ¤È¤¤¤¦¸ÀÍդϥª¥×¥·¥ç¥ó¤Ç LEFT, RIGHT, ¤Þ¤¿¤Ï FULL ¤Ê¤É¤Î·ë
-¹ç¤ò²¾Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï³°Éô·ë¹ç(outer join)¤òUNION ¤È NOT IN
-¤ò»È¤Ã¤Æ¥·¥ß¥å¥ì¡¼¥È¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢tab1 ¤È tab2 ¤ò·ë¹ç¤¹¤ë¤È¤­¤Ï¡¢¼¡¤ÎÌ䤤
-¹ç¤ï¤»¤ÇÆó¤Ä¤Î¥Æ¡¼¥Ö¥ë¤ò³°Éô·ë¹ç¤·¤Þ¤¹¡£
+
+¤³¤ì¤é¤Î¾ÝħŪ¤ÊÌ䤤¹ç¤ï¤»¤Ç¤Ï t1.col ¤ò t2.col ¤È·ë¹ç¤·¤Æ¡¢t1 ¤Î·ë¹ç¤µ¤ì¤Ê
+¤«¤Ã¤¿¹Ô(t2 ¤È°ìÃפ·¤Ê¤«¤Ã¤¿¹Ô)¤âÊÖ¤·¤Æ¤¤¤Þ¤¹¡£RIGHT ·ë¹ç¤Ï t2 ¤Î·ë¹ç¤µ¤ì¤Ê
+¤«¤Ã¤¿¹Ô¤ò²Ã¤¨¤ë¤Ç¤·¤ç¤¦¡£FULL ·ë¹ç¤Ï¡¢°ìÃפ·¤¿¹Ô¤Ë t1 ¤È t2 ¤«¤é¤Ï·ë¹ç¤µ¤ì
+¤Ê¤«¤Ã¤¿¹Ô¤òÊÖ¤¹¤Ç¤·¤ç¤¦¡£OUTER ¤È¤¤¤¦¸ÀÍդϥª¥×¥·¥ç¥ó¤Ç LEFT, RIGHT, ¤Þ¤¿¤Ï
+FULL ¤Ê¤É¤Î·ë¹ç¤ò²¾Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ °ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï³°Éô·ë¹ç(outer join)¤ò
+UNION ¤È NOT IN ¤ò»È¤Ã¤Æ¥·¥ß¥å¥ì¡¼¥È¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢tab1 ¤È tab2 ¤ò·ë¹ç
+¤¹¤ë¤È¤­¤Ï¡¢¼¡¤ÎÌ䤤¹ç¤ï¤»¤ÇÆó¤Ä¤Î¥Æ¡¼¥Ö¥ë¤ò³°Éô·ë¹ç¤·¤Þ¤¹¡£
+
         SELECT tab1.col1, tab2.col2
         FROM tab1, tab2
         WHERE tab1.col1 = tab2.col1
@@ -1164,33 +1177,68 @@ PostgreSQL 7.1 
         WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)
         ORDER BY col1
 
-¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬
-                        PostgreSQL¤Î³ÈÄ¥¤Ë¤Ä¤¤¤Æ¤Î¼ÁÌä                         
+  ------------------------------------------------------------------------
 
-5.1) ¼«Ê¬¤Ç½ñ¤¤¤¿¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤ò psql ¤ÎÃæ¤Ç¼Â¹Ô¤¹¤ë¤È¥³¥¢¡¦¥À¥ó¥×¤·¤Æ¤·¤Þ¤¦¤Î
-¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
+                       PostgreSQL¤Î³ÈÄ¥¤Ë¤Ä¤¤¤Æ¤Î¼ÁÌä
 
-ÌäÂê¤Ï¿§¡¹¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£¤Þ¤ººÇ½é¤Ë¡¢ºîÀ®¤·¤¿¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤òñÆȤΥƥ¹¥È¥×¥í
-¥°¥é¥à¤Ë¤·¤Æ»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£
+5.1) ¼«Ê¬¤Ç½ñ¤¤¤¿¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤ò psql ¤ÎÃæ¤Ç¼Â¹Ô¤¹¤ë¤È¥³¥¢¡¦¥À¥ó¥×¤·¤Æ¤·¤Þ
+¤¦¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
 
-5.2) PostgreSQL ÍѤ˽ñ¤¤¤¿¿è¤Ê¿·¤·¤¤·¿¤ä´Ø¿ô¤Ï¡¢¤É¤¦¤¹¤ì¤Ð´ó£¤Ç¤­¤Þ¤¹¤«¡©
+ÌäÂê¤Ï¿§¡¹¤È¹Í¤¨¤é¤ì¤Þ¤¹¤¬¡¢¤Þ¤ººÇ½é¤Ë¡¢ºîÀ®¤·¤¿¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤òñÆȤΥƥ¹¥È
+¥×¥í¥°¥é¥à¤Ë¤·¤Æ»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£
 
-³§¤µ¤ó¤Î¹Ô¤Ê¤Ã¤¿³ÈÄ¥¤ò¡¢pgsql-hackers ¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤½¤·
-¤Æ¡¢¤æ¤¯¤æ¤¯¤Ï¤½¤¦¤·¤¿³ÈÄ¥¤¬ contrib/ ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤ËÆþ¤ë¤³¤È¤Ë¤Ê¤ë¤Ç¤·
-¤ç¤¦¡£
+5.2) PostgreSQL ÍѤ˽ñ¤¤¤¿¤Á¤ç¤Ã¤ÈÁÇŨ¤Ê¿·¤·¤¤·¿¤ä´Ø¿ô¤òÄ󶡤·¤Æ¥×¥í¥¸¥§¥¯¥È
+¤Ë¹×¸¥¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡©
+
+³§¤µ¤ó¤Î¹Ô¤Ê¤Ã¤¿³ÈÄ¥¤ò¡¢pgsql-hackers ¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤½
+¤·¤Æ¡¢¤æ¤¯¤æ¤¯¤Ï¤½¤¦¤·¤¿³ÈÄ¥¤¬ contrib/ ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤ËÆþ¤ë¤³¤È¤Ë¤Ê¤ë
+¤Ç¤·¤ç¤¦¡£
 
 5.3) ¥¿¥×¥ë¤òÊÖ¤¹ C¸À¸ì¤Î´Ø¿ô¤Ï¤É¤Î¤è¤¦¤Ë½ñ¤­¤Þ¤¹¤«¡©
 
-¸¶ÍýŪ¤Ë¤Ï²Äǽ¤Ç¤¹¤¬¡¢¤³¤ì¤Ë¤Ïµæ¶Ë¤Î̯µ»¤òÍפ·¤Þ¤¹¤Î¤Ç¡¢Ãø¼Ô¤Î¤Þ¤ï¤ê¤Ç¤Ï̤¤Àï
-¤â¤ä¤Ã¤¿¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¡£
+¸¶ÍýŪ¤Ë¤Ï²Äǽ¤Ç¤¹¤¬¡¢¤³¤ì¤Ë¤Ïµæ¶Ë¤Î̯µ»¤òÍפ·¤Þ¤¹¤Î¤Ç¡¢Ãø¼Ô¤Î¤Þ¤ï¤ê¤Ç¤Ï̤¤À
+ï¤â¤ä¤Ã¤¿¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¡£
 
-5.4) ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Þ¤·¤¿¡£ºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤âÊѲ½¤¬¸«¤é¤ì¤Ê¤¤¤Î¤Ï¤Ê¤¼
-¤Ç¤¹¤«¡©
+5.4) ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Þ¤·¤¿¡£ºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤âÊѲ½¤¬¸«¤é¤ì¤Ê¤¤¤Î¤Ï
+¤Ê¤¼¤Ç¤¹¤«¡©
+
+¤¤¤¯¤Ä¤«¤Î Makefile ¤¬¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆŬÀڤʰ͸´Ø·¸¤ò»ý¤Ã¤Æ¤¤
+¤Þ¤»¤ó¡£make clean ¤ò¤·¤Æ¤«¤é¤â¤¦°ìÅÙ make ¤ò¹Ô¤Ê¤ï¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤â
+¤·¡¢GCC ¤ò¤ª»È¤¤¤Ç¤¢¤ì¤Ð configure ¤Î --enable-depend ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥³
+¥ó¥Ñ¥¤¥é¤Ë°Í¸´Ø·¸¤ò¼«Æ°Åª¤ËÄ´¤Ù¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
+  ------------------------------------------------------------------------
 
-¤¤¤¯¤Ä¤«¤Î Makefile ¤¬¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆŬÀڤʰ͸´Ø·¸¤ò»ý¤Ã¤Æ¤¤¤Þ
-¤»¤ó¡£make clean ¤ò¤·¤Æ¤«¤é¤â¤¦°ìÅÙ make ¤ò¹Ô¤Ê¤ï¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤â¤·¡¢GCC
-¤ò¤ª»È¤¤¤Ç¤¢¤ì¤Ð configure ¤Î --enable-depend ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤Ë
-°Í¸´Ø·¸¤ò¼«Æ°Åª¤ËÄ´¤Ù¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬
 [ÌõÃí¡§
+  ÆüËܸìÈǤÎÀ½ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
+
+  ºÇ½ª¹¹¿·Æü:   2001ǯ07·î05Æü
+  ËÝÌõ¼Ô:       ·¬Â¼ ½á (Jun Kuwamura <juk@jp.postgresql.org>)
+
+  ¤³¤ÎFAQ¤ÎÏÂÌõ¤ÎºîÀ®¤Ë¤¢¤¿¤ê¶¨ÎϤò¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹(·É¾Î¤Ïά¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹):
+
+                ÅÄÃç Ì­(Minoru Tanaka <Tanaka.Minoru@keiken.co.jp>)
+                Àаæ Ã£É×(Tatsuo Ishii <t-ishii@sra.co.jp>)
+                óîÆ£ ÃοÍ(Tomohito Saitoh <tomos@elelab.nsc.co.jp>)
+                ÇϾ젠ȥ(Hajime Baba <baba@kusastro.kyoto-u.ac.jp>)
+                ²¬ËÜ °ì¹¬(Kazuyuki Okamoto <kokamoto@itg.hitachi.co.jp>)
+                ¾®¿û ¾¼°ì(Shoichi Kosuge <s-kosuge@str.hitachi.co.jp>)
+                »³²¼ µÁÇ·(Yoshiyuki Yamashita <dica@eurus.dti.ne.jp>)
+                ¶­ ¿¿ÂÀϺ(Sintaro Sakai <s_sakai@mxn.mesh.ne.jp>)
+                À¸±Û ¾»¸Ê(Masami Ogoshi <ogochan@zetabits.com>)
+                ÀÐÀî ½Ó¹Ô(Toshiyuki Ishikawa <tosiyuki@gol.com>)
+                ËÜÅÄ Ìй­(Shigehiro Honda <fwif0083@mb.infoweb.ne.jp>)
+                ¤»¤» ¤¸¤å¤ó(Jun Sese <sesejun@linet.gr.jp>)
+                ¿À렱ѹ§(Hidetaka Kamiya <hkamiya@catvmics.ne.jp>)
+
+  ¤ò¤Ï¤¸¤á¡¢¥Ý¥¹¥È¥°¥ì¥¹¤Ë´Ø¤¹¤ëÏÃÂêË­ÉÙ¤ÊÆüËܸì¥Ý¥¹¥È¥°¥ì¥¹¡¦¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¡¢
+  ÏÂÌõ¤Î¤­¤Ã¤«¤±¤òºî¤Ã¤Æ¤¯¤ì¤¿ JF(Linux Japanese FAQ Mailing List)¥×¥í¥¸¥§¥¯¥È¡¢¤½¤Î¾¡¢
+  Ä¾Àܤ¢¤ë¤¤¤Ï´ÖÀÜŪ¤Ë¤«¤«¤ï¤Ã¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹¥³¥ß¥å¥Ë¥Æ¥£¡¼¤Î
+  ³§¤µ¤ó¤Ë´¶¼Õ¤·¤Þ¤¹¡£
+
+  ÆüËܸìÈǤΤ³¤Îʸ½ñ¤Ï¡¢°Ê²¼¤«¤é¤â¤¿¤É¤ì¤Þ¤¹¡£
+        http://www.rccm.co.jp/~juk/pgsql/(FAQÏÂÌõ PostgreSQL ¤Ë¤Ä¤¤¤Æ¤è¤¯¤¢¤ë¼ÁÌä)
+        http://www.linux.or.jp/JF/(PostgreSQL-FAQ.j)
+        http://www.sra.co.jp/people/t-ishii/PostgreSQL/doc-jp/
+
+  ¤Ê¤ª¡¢¤³¤ÎÏÂÌõ¤Ë´Ø¤¹¤ë¤´°Õ¸«¤Ï(juk@jp.postgresql.org)¤Þ¤Ç¤ª´ó¤»²¼¤µ¤¤¡£
 ]
index ddfb905..6047af6 100644 (file)
@@ -5,9 +5,9 @@
 <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#A00000" ALINK="#0000FF">
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=x-euc-jp">
 <H1>
-PostgreSQL(¥Ý¥¹¥È¥°¥ì¥¹¡¦¥­¥å¡¼¡¦¥¨¥ë)¤Ë¤Ä¤¤¤Æ¤è¤¯¤¢¤ë¼ÁÌä(FAQ)</H1>
+PostgreSQL(¥Ý¥¹¥È¥°¥ì¥¹¡¦¥­¥å¡¼¡¦¥¨¥ë)¤Ë¤Ä¤¤¤Æ¤è¤¯¤¢¤ë¼ÁÌä¤È¤½¤Î²òÅú(FAQ)</H1>
 <P>
-¸¶Ê¸ºÇ½ª¹¹¿·Æü:                Mon Apr  9 15:27:47 EDT 2001
+¸¶Ê¸ºÇ½ª¹¹¿·Æü:                Tue Jul 10 21:01:47 EDT 2001
 <P>
 ¸½ºß¤Î°Ý»ý´ÉÍý¼Ô:      Bruce Momjian (<A
 HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR><P>
@@ -24,48 +24,15 @@ HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR><P>
 
 <P>
 <small><PRE>
+(°Ê²¼¡¢Ìõ¼Ô¤Ë¤è¤ëÃí¼á¤ò [ÌõÃí¡§ ¤È ] ¤È¤Ç°Ï¤ó¤Çµ­¤·¤Þ¤¹¡£)
 [ÌõÃí¡§
-       (°Ê²¼¡¢Ìõ¼Ô¤Ë¤è¤ëÃí¼á¤ò [ÌõÃí¡§ ¤È ] ¤È¤Ç°Ï¤ó¤Çµ­¤·¤Þ¤¹¡£)
+       ÆüËܸìÈÇÀ½ºî¤Ë¤Ä¤¤¤Æ¤Î¥á¥â¤ÏºÇ¸åÈø¤Ø°ÜÆ°¤·¤Þ¤·¤¿¡£
 
-         http://www.PostgreSQL.org/ ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È http://postgresql.nucba.ac.jp/
-¤Ë¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¡¢"Not Found" ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¤Ï¡¢
-               <A HREF="http://www.PostgreSQL.org/index.html">http://www.PostgreSQL.org/index.html</A>
-       ¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
+       ÆüËܸìÈǤΤ³¤Îʸ½ñ¤Ï "User's Lounge" ¤Î "Collection of FAQs" ¤Î
+       "Japanese" ¤È¤¤¤¦¸«½Ð¤·¤Î¤È¤³¤í¤Ë¤¢¤ê¤Þ¤¹¡£
+       (<A HREF="http://www.PostgreSQL.org/docs/faq-japanese.html">http://www.PostgreSQL.org/docs/faq-japanese.html</A>)
 
-
-  ÆüËܸìÈǤÎÀ½ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
-
-  ºÇ½ª¹¹¿·Æü:  2001ǯ04·î15Æü
-  ËÝÌõ¼Ô:      ·¬Â¼ ½á (<A HREF="mailto:juk@jp.postgresql.org">Jun Kuwamura &lt;juk@jp.postgresql.org&gt;</A>)
-
-  ¤³¤ÎFAQ¤ÎÏÂÌõ¤ÎºîÀ®¤Ë¤¢¤¿¤ê¶¨ÎϤò¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹(·É¾Î¤Ïά¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹):
-
-               ÅÄÃç Ì­(<A HREF="mailto:Tanaka.Minoru@keiken.co.jp">Minoru Tanaka &lt;Tanaka.Minoru@keiken.co.jp&gt;</A>)
-               Àаæ Ã£É×(<A HREF="mailto:t-ishii@sra.co.jp">Tatsuo Ishii &lt;t-ishii@sra.co.jp&gt;</A>)
-               óîÆ£ ÃοÍ(<A HREF="mailto:tomos@elelab.nsc.co.jp">Tomohito Saitoh &lt;tomos@elelab.nsc.co.jp&gt;</A>)
-               ÇϾ젠ȥ(<A HREF="mailto:baba@kusastro.kyoto-u.ac.jp">Hajime Baba &lt;baba@kusastro.kyoto-u.ac.jp&gt;</A>)
-               ²¬ËÜ °ì¹¬(<A HREF="mailto:kokamoto@itg.hitachi.co.jp">Kazuyuki Okamoto &lt;kokamoto@itg.hitachi.co.jp&gt;</A>)
-               ¾®¿û ¾¼°ì(<A HREF="mailto:s-kosuge@str.hitachi.co.jp">Shoichi Kosuge &lt;s-kosuge@str.hitachi.co.jp&gt;</A>)
-               »³²¼ µÁÇ·(<A HREF="mailto:dica@eurus.dti.ne.jp">Yoshiyuki Yamashita &lt;dica@eurus.dti.ne.jp&gt;</A>)
-               ¶­ ¿¿ÂÀϺ(<A HREF="mailto:s_sakai@mxn.mesh.ne.jp">Sintaro Sakai &lt;s_sakai@mxn.mesh.ne.jp&gt;</A>)
-               À¸±Û ¾»¸Ê(<A HREF="mailto:ogochan@zetabits.com">Masami Ogoshi &lt;ogochan@zetabits.com&gt;</A>)
-               ÀÐÀî ½Ó¹Ô(<A HREF="mailto:tosiyuki@gol.com">Toshiyuki Ishikawa &lt;tosiyuki@gol.com&gt;</A>)
-               ËÜÅÄ Ìй­(<A HREF="mailto:fwif0083@mb.infoweb.ne.jp">Shigehiro Honda &lt;fwif0083@mb.infoweb.ne.jp&gt;</A>)
-               ¤»¤» ¤¸¤å¤ó(<A HREF="mailto:sesejun@linet.gr.jp">Jun Sese &lt;sesejun@linet.gr.jp&gt;</A>)
-
-  ¤ò¤Ï¤¸¤á¡¢¥Ý¥¹¥È¥°¥ì¥¹¤Ë´Ø¤¹¤ëÏÃÂêË­ÉÙ¤Ê<A HREF="http://www.sra.co.jp/people/t-ishii/PostgreSQL/ML/info.html">ÆüËܸì¥Ý¥¹¥È¥°¥ì¥¹¡¦¥á¡¼¥ê¥ó¥°¥ê¥¹¥È</A>¡¢
-  ÏÂÌõ¤Î¤­¤Ã¤«¤±¤òºî¤Ã¤Æ¤¯¤ì¤¿ <A HREF="http://jf.linux.or.jp/">JF(Linux Japanese FAQ Mailing List)¥×¥í¥¸¥§¥¯¥È</A>¡¢¤½¤Î¾¡¢
-  Ä¾Àܤ¢¤ë¤¤¤Ï´ÖÀÜŪ¤Ë¤«¤«¤ï¤Ã¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹¥³¥ß¥å¥Ë¥Æ¥£¡¼¤Î
-  ³§¤µ¤ó¤Ë´¶¼Õ¤·¤Þ¤¹¡£
-
-  ÆüËܸìÈǤΤ³¤Îʸ½ñ¤Ï<A HREF="http://www.PostgreSQL.org/users-lounge/docs/faq-japanese.html">http://www.PostgreSQL.org/users-lounge/docs/faq-japanese.html</A>¤Ë¤¢¤ë¤Û¤«,
-  °Ê²¼¤Î¥µ¥¤¥È¤«¤é¤â¤¿¤É¤ì¤Þ¤¹¡£
-       <A HREF="http://www.jp.postgresql.org/">http://www.jp.postgresql.org/</A>
-       <A HREF="http://www.rccm.co.jp/~juk/pgsql/">http://www.rccm.co.jp/~juk/pgsql/</A>
-       <A HREF="http://www.sra.co.jp/people/t-ishii/PostgreSQL/doc-jp/">http://www.sra.co.jp/people/t-ishii/PostgreSQL/doc-jp/</A>
-       <A HREF="http://www.linux.or.jp/JF/">http://www.linux.or.jp/JF/</A>
-
-  ¤Ê¤ª¡¢¤³¤ÎÏÂÌõ¤Ë´Ø¤¹¤ë¤´°Õ¸«¤Ï(<A HREF="mailto:juk@jp.postgresql.org">juk@jp.postgresql.org</A>)¤Þ¤Ç¤ª´ó¤»²¼¤µ¤¤¡£
+       ¤³¤ÎÏÂÌõ¤Ë¤Ä¤¤¤Æ¤ªµ¤¤Å¤­¤ÎÅÀ¤Ï(<A HREF="mailto:juk@jp.postgresql.org">juk@jp.postgresql.org</A>)¤Þ¤Ç¥á¡¼¥ë¤Ç¤ª´ó¤»²¼¤µ¤¤¡£
 ]
 </PRE></small>
 
@@ -79,11 +46,11 @@ HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR><P>
 <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.5">1.5</A>)        PostgreSQL¤Ï¤É¤³¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¤«¡©<BR>
 <A HREF="#1.6">1.6</A>)        ¥µ¥Ý¡¼¥È¤Ï¤É¤³¤Ç¼õ¤±¤é¤ì¤Þ¤¹¤«¡©<BR>
-<A HREF="#1.7">1.7</A>)        ºÇ¿·ÈǤϲ¿¤Ç¤¹¤«<BR>
+<A HREF="#1.7">1.7</A>)        ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«<BR>
 <A HREF="#1.8">1.8</A>)        ¤É¤Î¤è¤¦¤Êʸ½ñ¤¬¤¢¤ê¤Þ¤¹¤«¡©<BR>
-<A HREF="#1.9">1.9</A>)        ´ûÃΤΥХ°¤ä̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡©<BR>
+<A HREF="#1.9">1.9</A>)        ´ûÃΤΥХ°¤ä̤¤À̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡©<BR>
 <A HREF="#1.10">1.10</A>)      <font size=-1>SQL</font>¤Ï¤É¤¦¤¹¤ì¤Ð³Ø¤Ù¤Þ¤¹¤«¡©<BR>
 <A HREF="#1.11">1.11</A>)      PostgreSQL¤ÏÀ¾Îñ2000ǯÌäÂê(Y2K)¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¤«¡©<BR>
 <A HREF="#1.12">1.12</A>)      ³«È¯¥Á¡¼¥à¤Ë¤Ï¤É¤Î¤è¤¦¤Ë»²²Ã¤·¤Þ¤¹¤«¡©<BR>
@@ -95,8 +62,8 @@ HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR><P>
 
 <A HREF="#2.1">2.1</A>)        PostgreSQL ¤Î <font size=-1>ODBC</font> ¥É¥é¥¤¥Ð¡¼¤Ï¤¢¤ê¤Þ¤¹¤«¡©<BR>
 <A HREF="#2.2">2.2</A>)        PostgreSQL ¤ò Web ¥Ú¡¼¥¸¤ÈÏ¢·È¤µ¤»¤ë¤Ë¤Ï¤É¤ó¤Ê¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¤«¡©<BR>
-<A HREF="#2.3">2.3</A>)        PostgreSQL ¤Ï¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ý¤Á¤Þ¤¹¤«¡©
ê¥Ý¡¼¥È¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡© Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡©<BR>
+<A HREF="#2.3">2.3</A>)        PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡©
ì¥Ý¡¼¥È¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡© Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡©<BR>
 <A HREF="#2.4">2.4</A>)        PostgreSQL ¤ÈÄÌ¿®¤¹¤ë¤Ë¤Ï¤É¤ó¤Ê¸À¸ì¤¬»È¤¨¤Þ¤¹¤«¡©<BR>
 
 
@@ -120,23 +87,24 @@ HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR><P>
 <H2><CENTER>Áàºî¾å¤Î¼ÁÌä</CENTER></H2>
 
 <A HREF="#4.1">4.1</A>)        ¤Ê¤¼¡¢¥·¥¹¥Æ¥à¤Ï¥«¥ó¥Þ¤ä¾®¿ôÅÀ¤äÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Çº®Í𤹤ë¤Î¤Ç¤¹¤«¡©<BR>
-<A HREF="#4.2">4.2</A>)        ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾ï¤Î¥«¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©<BR>
+<A HREF="#4.2">4.2</A>)        ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©<BR>
 <A HREF="#4.3">4.3</A>)        ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò <font size=-1>select</font> ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©<BR>
 <A HREF="#4.4">4.4</A>)        ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò <I>psql</I> ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©<BR>
-<A HREF="#4.5">4.5</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>)        ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¸«¤Ä¤±½Ð¤·¤Þ¤¹¤«¡©<BR>
+<A HREF="#4.8">4.8</A>)        ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±½Ð¤·¤Þ¤¹¤«¡©<BR>
 <A HREF="#4.9">4.9</A>)        Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤«¡©<BR>
 <A HREF="#4.10">4.10</A>) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤«¤ò¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©<BR>
 <A HREF="#4.11">4.11</A>) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡©<BR>
 <A HREF="#4.12">4.12</A>) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡©<BR>
-<A HREF="#4.13">4.13</A>) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«¡©<BR>
+<A HREF="#4.13">4.13</A>) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«¡©Âçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤¸¡º÷¤Î¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¤É¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¤«¡©
+<BR>
 <A HREF="#4.14">4.14</A>) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ <font size=-1>NULL</font> ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©<BR>
 <A HREF="#4.15">4.15</A>) ¿§¡¹¤Êʸ»ú·¿¤Î¤½¤ì¤¾¤ì¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©<BR>
 <A HREF="#4.16.1">4.16.1</A>) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©<BR>
-<A HREF="#4.16.2">4.16.2</A>) <font size=-1>SERIAL</font>¥¤¥ó¥µ¡¼¥È¤ÎÃͤϤɤ¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡©<BR>
+<A HREF="#4.16.2">4.16.2</A>) <font size=-1>SERIAL</font>¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡©<BR>
 <A HREF="#4.16.3">4.16.3</A>) Â¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢<I>currval()</I> ¤È <I>nextval()</I> ¤Ï»È¤ï¤Ê¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©<BR>
 <A HREF="#4.17">4.17</A>) <font size=-1>OID</font> ¤È¤Ï²¿¤Ç¤¹¤«¡© <font size=-1>TID</font> ¤È¤Ï²¿¤Ç¤¹¤«¡©<BR>
 <A HREF="#4.18">4.18</A>) PostgreSQL ¤Ç»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤ÎÍѸì¤Î°ÕÌ£¤Ï²¿¤Ç¤¹¤«¡©<BR>
@@ -150,7 +118,7 @@ HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR><P>
 <H2><CENTER>PostgreSQL¤Î³ÈÄ¥¤Ë¤Ä¤¤¤Æ¤Î¼ÁÌä</CENTER></H2>
 
 <A HREF="#5.1">5.1</A>)        ¼«Ê¬¤Ç½ñ¤¤¤¿¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤ò psql ¤ÎÃæ¤Ç¼Â¹Ô¤¹¤ë¤È¥³¥¢¡¦¥À¥ó¥×¤·¤Æ¤·¤Þ¤¦¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©<BR>
-<A HREF="#5.2">5.2</A>)        PostgreSQL ÍѤ˽ñ¤¤¤¿¿è¤Ê¿·¤·¤¤·¿¤ä´Ø¿ô¤Ï¡¢¤É¤¦¤¹¤ì¤Ð´ó£¤Ç¤­¤Þ¤¹¤«¡©<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>
 <P>
@@ -160,13 +128,13 @@ HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR><P>
 
 <H4><A NAME="1.1">1.1</A>)     PostgreSQL ¤È¤Ï²¿¤Ç¤¹¤«¡©</H4>
 
-<P>PostgreSQL ¤Ï POSTGRES ¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥·¥¹¥Æ¥à¤Î²þÎÉÈǤǡ¢¼¡À¤Âå <font size=-1>DBMS</font> ¸¦µæÍѤΥץí¥È¥¿¥¤¥×¤Ç¤¹¡£PostgreSQL ¤Ï POSTGRES ¤Î¶¯ÎϤʥǡ¼¥¿¡¦¥â¥Ç¥ë¤ÈË­É٤ʥǡ¼¥¿¡¦¥¿¥¤¥×(·¿)¤òÆâÊñ¤·¤Ä¤Ä¡¢POSTGRES ¤Ç»È¤ï¤ì¤¿ PostQuel Ì䤤¹ç¤ï¤»¸À¸ì¤ò¡¢³ÈÄ¥¤·¤¿ <font size=-1>SQL</font> ¤Î¥µ¥Ö¥»¥Ã¥È¤ËÃÖ¤­´¹¤¨¤Æ¤¤¤Þ¤¹¡£PostgreSQL ¤Ï̵ÎÁ¤Ç´°Á´¤Ê¥½¡¼¥¹¤òÍøÍѤǤ­¤Þ¤¹¡£
+<P>PostgreSQL ¤Ï¼¡À¤Âå <font size=-1>DBMS</font> ¸¦µæÍѤΥץí¥È¥¿¥¤¥×¤Ç¤¢¤Ã¤¿ POSTGRES ¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥·¥¹¥Æ¥à¤Î²þÎÉÈǤǤ¹¡£PostgreSQL ¤Ï POSTGRES ¤Î¶¯ÎϤʥǡ¼¥¿¡¦¥â¥Ç¥ë¤ÈË­É٤ʥǡ¼¥¿¡¦¥¿¥¤¥×(·¿)¤òÊÝ»ý¤·¤Ê¤¬¤é¡¢POSTGRES ¤Ç»È¤ï¤ì¤¿ PostQuel Ì䤤¹ç¤ï¤»¸À¸ì¤ò¡¢³ÈÄ¥¤·¤¿ <font size=-1>SQL</font> ¤Î¥µ¥Ö¥»¥Ã¥È¤ËÃÖ¤­´¹¤¨¤Æ¤¤¤Þ¤¹¡£PostgreSQL ¤Ï̵ÎÁ¤Ç´°Á´¤Ê¥½¡¼¥¹¤òÍøÍѤǤ­¤Þ¤¹¡£
 
-<P>PostgreSQL ¤Î¤¹¤Ù¤Æ¤Î³«È¯¤Ï¡¢PostgreSQL ³«È¯¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤·¤Æ¤¤¤ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Î³«È¯¼Ô¥Á¡¼¥à¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¸½ºß¤ÎºÂĹ¤Ï Marc G. Fournier ( <A HREF="mailto:scrappy@PostgreSQL.org">scrappy@PostgreSQL.org</A> )¤Ç¤¹¡£(°Ê²¼¤Ë»²²Ã¤Î»ÅÊý¤¬¤¢¤ê¤Þ¤¹¡£)¸½ºß¡¢¤³¤Î¥Á¡¼¥à¤¬ PostgreSQL³«È¯¤Î¤¹¤Ù¤Æ¤Î ÌÌÅݤò¸«¤Þ¤¹¡£
+<P>PostgreSQL ¤Î³«È¯¤Ï¡¢PostgreSQL ³«È¯¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤·¤Æ¤¤¤ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Î³«È¯¼Ô¥Á¡¼¥à¤Ç¤¹¤Ù¤Æ¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Þ¤¹¡£¸½ºß¤ÎºÂĹ¤Ï Marc G. Fournier ( <A HREF="mailto:scrappy@PostgreSQL.org">scrappy@PostgreSQL.org</A> )¤Ç¤¹¡£(°Ê²¼¤Ë»²²Ã¤Î»ÅÊý¤¬¤¢¤ê¤Þ¤¹¡£)¸½ºß¡¢¤³¤Î¥Á¡¼¥à¤¬ PostgreSQL ³«È¯¤Î¤¹¤Ù¤Æ¤ÎÌÌÅݤò¤ß¤Æ¤¤¤Þ¤¹¡£
 
-<P>PostgreSQL 1.01 ¤ÎÃø¼Ô¤Ï Andrew Yu ¤È Jolly Chen ¤Ç¤·¤¿¡£¤½¤Î¾ÂçÀª¤Î¿Í¡¹¤¬¤³¤Î¥³¡¼¥É¤Î°Ü¿¢¡¢¥Æ¥¹¥È¡¢¥Ç¥Ð¥°¡¢¤ª¤è¤Ó¡¢²þÎɤ˹׸¥¤·¤Þ¤·¤¿¡£PostgreSQL ¤ÎÇÉÀ¸¸µ¥³¡¼¥É¤Ç¤¢¤ë POSTGRES ¤Ï¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¥Ð¡¼¥¯¥ì¥¤¹»¤Ë¤ª¤¤¤Æ¡¢ Michael Stonebraker ¶µ¼ø¤Î»Ø´ø¤Î¤â¤È¡¢Â¿¤¯¤Î³ØÀ¸¡¢Â´¶ÈÀ¸¡¢¿¦¶È¥×¥í¥°¥é¥Þ¤¿¤Á¤ÎÅØÎϤˤè¤êºî¤é¤ì¤Þ¤·¤¿¡£
+<P>Postgres95-1.01 ¤ÎÃ濴Ū¤Ê³«È¯¼Ô¤Ï Andrew Yu ¤È Jolly Chen ¤Ç¤·¤¿¤¬¡¢¤½¤Î¾ÂçÀª¤Î¿Í¡¹¤¬¤³¤Î¥³¡¼¥É¤Î°Ü¿¢¡¢¥Æ¥¹¥È¡¢¥Ç¥Ð¥°¡¢¤ª¤è¤Ó¡¢²þÎɤ˻²²Ã¤·¤Þ¤·¤¿¡£PostgreSQL ¤ÎÇÉÀ¸¸µ¥³¡¼¥É¤Ç¤¢¤ë POSTGRES ¤Ï¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¥Ð¡¼¥¯¥ì¥¤¹»¤Ë¤ª¤¤¤Æ¡¢ Michael Stonebraker ¶µ¼ø¤Î»Ø´ø¤Î¤â¤È¡¢Â¿¤¯¤Î³ØÀ¸¡¢Â´¶ÈÀ¸¡¢ËÜ¿¦¤Î¥×¥í¥°¥é¥Þ¤¿¤Á¤ÎÅØÎϤˤè¤êºî¤é¤ì¤Þ¤·¤¿¡£
 
-<P>¥Ð¡¼¥¯¥ì¥¤¤Ë¤ª¤±¤ë¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î¤â¤È¤Î̾Á°¤Ï Postgres ¤Ç¤·¤¿¡£<FONT SIZE=-1>SQL</FONT> ¤Îµ¡Ç½¤¬Äɲ䵤줿 1995 Ç¯¤Ë¤½¤Î̾Á°¤Ï Postgres95 ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£1996 Ç¯¤Î½ª¤ê¤Ë¤½¤Î̾Á°¤Ï PostgreSQL ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£
+<P>¥Ð¡¼¥¯¥ì¥¤¤Ë¤ª¤±¤ë¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î¤â¤È¤Î̾Á°¤Ï Postgres ¤Ç¤·¤¿¤¬¡¢<FONT SIZE=-1>SQL</FONT> ¤Îµ¡Ç½¤¬Äɲ䵤줿 1995 Ç¯¤Ë¤½¤Î̾Á°¤Ï Postgres95 ¤ËÊѹ¹¤µ¤ì¡¢1996 Ç¯¤Î½ª¤ê¤Ë¤½¤Î̾Á°¤Ï PostgreSQL ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£
 
 <I>Post-Gres-Q-L.</I>(¥Ý¥¹¥È - ¥°¥ì¥¹ - ¥­¥å¡¼ - ¥¨¥ë) ¤Èȯ²»¤·¤Þ¤¹¡£
 
@@ -182,7 +150,7 @@ HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR><P>
 <P>
 PostgreSQL Data Base Management System<P>
 
-Portions copyright (c) 1996-2000, PostgreSQL Global Development Group
+Portions Copyright (c) 1996-2000, PostgreSQL Global Development Group
 Portions Copyright (c) 1994-6 Regents of the University of California<P>
 
 Permission to use, copy, modify, and distribute this software and its
@@ -254,7 +222,7 @@ MODIFICATIONS.
 
 
 <P>
-<H4><A NAME="1.5">1.5</A>)     PostgreSQL ¤Ï¤É¤³¤«¤é¼ê¤ËÆþ¤ê¤Þ¤¹¤«¡©</H4>
+<H4><A NAME="1.5">1.5</A>)     PostgreSQL ¤Ï¤É¤³¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¤«¡©</H4>
 <P> PostgreSQL ¤Î¸µ¤Î anonymous ftp ¥µ¥¤¥È¤Ç¤¹¡§
 
 <UL>
@@ -304,9 +272,9 @@ MODIFICATIONS.
 
 ¤È½ñ¤¤¤Æ <A HREF="mailto:pgsql-general-digest-request@PostgreSQL.org"> pgsql-general-digest-request@PostgreSQL.org</A> ¤ØÅŻҥ᡼¥ë¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£
 
-<P> ¥À¥¤¥¸¥§¥¹¥ÈÈǤϡ¢¥á¥¤¥ó¥ê¥¹¥È¤¬¼õ¿®¤¹¤ë¥á¥Ã¥»¡¼¥¸ 30k ÄøÅÙί¤ëËè¤Ë¥À¥¤¥¸¥§¥¹¥ÈÈǥꥹ¥È¤Î¥á¥ó¥Ð¡¼¤ËÁ÷ÉÕ¤µ¤ì¤Þ¤¹¡£
+<P> ¥À¥¤¥¸¥§¥¹¥ÈÈǤϡ¢¥á¥¤¥ó¥ê¥¹¥È¤Ç¼õ¿®¤¹¤ë¥á¥Ã¥»¡¼¥¸¤¬ 30k ÄøÅÙί¤ëËè¤Ë¥À¥¤¥¸¥§¥¹¥ÈÈǥꥹ¥È¤Î¥á¥ó¥Ð¡¼¤ËÁ÷ÉÕ¤µ¤ì¤Þ¤¹¡£
 
-<P> ¥Ð¥°¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤âÍøÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ø¤Î»²²Ã¤Ï "ËÜʸ"¤È¤¤¤Ã¤·¤ç¤Ë¡§
+<P> ¥Ð¥°¥ì¥Ý¡¼¥ÈÍѤΥ᡼¥ê¥ó¥°¥ê¥¹¥È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ø¤Î»²²Ã¤Ï "ËÜʸ"¤È¤¤¤Ã¤·¤ç¤Ë¡§
 <A
 HREF="mailto:bugs-request@PostgreSQL.org">bugs-request@PostgreSQL.org</A>
 
@@ -329,7 +297,7 @@ HREF="mailto:bugs-request@PostgreSQL.org">bugs-request@PostgreSQL.org</A>
 </BLOCKQUOTE>
 <P>
 
-IRC ¥Á¥ã¥ó¥Í¥ë¤â EFNet ¤Ë¤¢¤ê¤Þ¤¹¡£¤½¤Î¥Á¥ã¥ó¥Í¥ë¤Ï <I>#PostgreSQL</I> ¤Ç¤¹¡£
+ EFNet ¤Ë <I>#PostgreSQL</I> ¤È¤¤¤¦ IRC ¥Á¥ã¥ó¥Í¥ë¤â¤¢¤ê¤Þ¤¹¡£
 unix ¥³¥Þ¥ó¥É¤Ç<tt>irc -c '#PostgreSQL' "$USER" irc.phoenix.net</tt>
 ¤ò»È¤¤¤Þ¤¹¡£<P>
 
@@ -361,19 +329,19 @@ unix 
 
 <P>
 
-<H4><A NAME="1.7">1.7</A>)     ºÇ¿·ÈǤϲ¿¤Ç¤¹¤«</H4>
+<H4><A NAME="1.7">1.7</A>)     ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«</H4>
 
-<P> PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 7.0.3 ¤Ç¤¹¡£
+<P> PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 7.1.2 ¤Ç¤¹¡£
 <P>
 ²æ¡¹¤Ï¡¢4¥«·îËè¤Ë¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¹Ô¤Ê¤¦¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£
 <P>
 
 <H4><A NAME="1.8">1.8</A>)     ¤É¤Î¤è¤¦¤Êʸ½ñ¤¬¤¢¤ê¤Þ¤¹¤«¡©</H4>
 
-<P> ÇÛÉÕ¤ÎÃæ¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥Þ¥Ë¥å¥¢¥ë¤È¥ª¥ó¥é¥¤¥ó¡¦¥Þ¥Ë¥å¥¢¥ë(¥Þ¥Ë¥å¥¢¥ë¡¦¥Ú¡¼¥¸)¤ª¤è¤Ó¤¤¤¯¤Ä¤«¤Î¾®¤µ¤Ê¥Æ¥¹¥ÈÎãÂ꤬´Þ¤Þ¤ì¤Þ¤¹¡£<I>/doc</I> ¥Ç¥£¥ì¥¯¥È¥ê¤ò¤´Í÷²¼¤µ¤¤¡£¤Þ¤¿¡¢¥ª¥ó¥é¥¤¥ó¤Ç¤Î¥Þ¥Ë¥å¥¢¥ë¤ò¡¢<A
+<P> ÇÛÉÕ¤ÎÃæ¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥Þ¥Ë¥å¥¢¥ë¤È¥ª¥ó¥é¥¤¥ó¡¦¥Þ¥Ë¥å¥¢¥ë(¥Þ¥Ë¥å¥¢¥ë¡¦¥Ú¡¼¥¸)¤ª¤è¤Ó¤¤¤¯¤Ä¤«¤Î¾®¤µ¤Ê¥Æ¥¹¥ÈÎãÂ꤬´Þ¤Þ¤ì¤Þ¤¹¡£<I>/doc</I> ¥Ç¥£¥ì¥¯¥È¥ê¤ò¤´Í÷²¼¤µ¤¤¡£¤Þ¤¿¡¢¥Þ¥Ë¥å¥¢¥ë¤Ï¡¢<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">
@@ -391,7 +359,7 @@ http://www.PostgreSQL.org/docs/awbook.html</A><P>
 <P> ²æ¡¹¤Î Web ¥µ¥¤¥È¤Ë¤Ï¡¢¤â¤Ã¤ÈÂô»³¤Îʸ½ñ¤¬¤¢¤ê¤Þ¤¹¡£
 
 <P>
-<H4><A NAME="1.9">1.9</A>)     ´ûÃΤΥХ°¤ä̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡©
+<H4><A NAME="1.9">1.9</A>)     ´ûÃΤΥХ°¤ä̤¤À̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡©
 </H4><P>
 
 PostgreSQL¤Ï³ÈÄ¥¤µ¤ì¤¿SQL-92¤Î¥µ¥Ö¥»¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
@@ -400,7 +368,7 @@ PostgreSQL
 TODO</A> ¥ê¥¹¥È¤Ë¡¢´ûÃΤΥХ°¤ä·çÍǽ¤ä¾­Íè·×²è¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤¬¤¢¤ê¤Þ¤¹¡£
 
 <P> 
-<H3><A NAME="1.10">1.10</A>)   <font size=-1>SQL</font> ¤Ï¤É¤Î¤è¤¦¤Ë³Ø¤Ù¤ÐÎɤ¤¤Ç¤¹¤«¡©</H3>
+<H3><A NAME="1.10">1.10</A>)   <font size=-1>SQL</font> ¤Ï¤É¤¦¤¹¤ì¤Ð³Ø¤Ù¤Þ¤¹¤«¡©</H3>
 <P>
 <A HREF="http://www.PostgreSQL.org/docs/awbook.html">
 http://www.PostgreSQL.org/docs/awbook.html</A>
@@ -532,18 +500,19 @@ PostgreSQL
 <DT> <B>¥µ¥Ý¡¼¥È(Support)</B>
 <DD>
 
-²æ¡¹¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ï¡¢Áø¶ø¤¹¤ë¤É¤ó¤ÊÌäÂê¤Ë¤Ä¤¤¤Æ¤â²ò·è¤ò½õ¤±¤Æ¤¯¤ì
-¤ë¡¢³«È¯¼Ô¤ä¥æ¡¼¥¶¤ÎËÄÂç¤Ê¥°¥ë¡¼¥×¤òÍʤ·¤Æ¤¤¤Þ¤¹¡£²æ¡¹¤ÏÌäÂê¤Î²ò·è¤òÊÝ
-¾Ú¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤¬¡¢¾¦Íѥǡ¼¥¿¥Ù¡¼¥¹¤Ç¤¢¤Ã¤Æ¤â¾ï¤Ë²ò·è¤µ¤ì¤ë¤ï¤±
-¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£³«È¯¼Ôã¡¢¥æ¡¼¥¶¡¦¥³¥ß¥å¥Ë¥Æ¥£¡¢¥Þ¥Ë¥å¥¢¥ëÎà¡¢¤½¤ì¤Ë¡¢
-¥½¡¼¥¹¥³¡¼¥É¤Ê¤É¤ËľÀÜ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤³¤È¤è¤Ã¤Æ¡¢PostgreSQL¤Î¥µ¥Ý¡¼¥È¤Ï¡¢
-¾¤Î<font size=-1>DBMS</font>¥µ¥Ý¡¼¥È¤è¤ê¤âÍ¥¤ì¤¿¤â¤Î¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¸æÍ×˾¤ËÅú¤¨¤Æ¡¢»öÊÁËè
-¤Î¾¦ÍÑ¥µ¥Ý¡¼¥È¤â¤¢¤ê¤Þ¤¹¡Ê¥µ¥Ý¡¼¥ÈFAQ¹àÌܤò¤´Í÷²¼¤µ¤¤¡Ë¡£
+    ²æ¡¹¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ï¡¢Áø¶ø¤¹¤ë¤¤¤«¤Ê¤ëÌäÂê¤Ë¤Ä¤¤¤Æ¤â²ò·è¤Ø¤Î¼ê
+½õ¤±¤ò¤·¤Æ¤¯¤ì¤ë¡¢³«È¯¼Ô¤ä¥æ¡¼¥¶¤ÎÂ礭¤Ê½¸¤Þ¤ê¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£²æ¡¹¤Ï
+ÌäÂê¤Î²ò·è¤òÊݾڤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤¬¡¢¾¦Íѥǡ¼¥¿¥Ù¡¼¥¹¤Ç¤¢¤Ã¤Æ¤â¾ï¤Ë
+²ò·è¤µ¤ì¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£³«È¯¼Ô¤ä¡¢¥æ¡¼¥¶¡¦¥³¥ß¥å¥Ë¥Æ¥£¡¢¥Þ¥Ë¥å¥¢
+¥ëÎà¡¢¤½¤ì¤Ë¡¢¥½¡¼¥¹¥³¡¼¥É¤Ê¤É¤ØľÀÜ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤³¤È¤è¤Ã¤Æ¡¢
+PostgreSQL¤Î¥µ¥Ý¡¼¥È¤Ï¡¢Â¾¤Î<font size=-1>DBMS</font>¥µ¥Ý¡¼¥È¤è¤ê¤âÍ¥¤ì¤¿¤â¤Î¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
+¸æÍ×˾¤ËÅú¤¨¤Æ¡¢»öÊÁËè¤Î¾¦ÍÑ¥µ¥Ý¡¼¥È¤Ê¤É¤â¤¢¤ê¤Þ¤¹¡Ê¥µ¥Ý¡¼¥ÈFAQ¹àÌܤò¤´Í÷
+²¼¤µ¤¤¡Ë¡£
 
 <DT> <B>²Á³Ê(Price)</B>
 <DD>
 
-PostgreSQL¤Î»ÈÍѤϡ¢¾¦ÍѤǤâÈó¾¦ÍѤǤ⡢¤¹¤Ù¤Æ̵ÎÁ¤Ç¤¹¡£¾åµ­¤Ë¼¨¤·¤Æ¤¢
+PostgreSQL¤ÎÍøÍѤϡ¢¾¦ÍѤǤâÈó¾¦ÍѤǤ⡢¤¹¤Ù¤Æ̵ÎÁ¤Ç¤¹¡£¾åµ­¤Ë¼¨¤·¤Æ¤¢
 ¤ëBSD¥¹¥¿¥¤¥ë¤Î»ÈÍѵöÂú¤Ë³°¤ì¤Ê¤¤¸Â¤ê¡¢PostgreSQL¤Î¥³¡¼¥É¤òÀ©¸Â̵¤·¤Ç
 ¾¦ÉʤËÁȤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
 <BR><BR>
@@ -605,9 +574,7 @@ Programmer's Guide</A>
     ]
 </PRE></small>
 
-<P> Ê£»¨¤Ê¾ì¹ç¡¢Â¿¤¯¤Î¿Í¤Ï Perl ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È CGI.pm ¤ò»È¤¤¤Þ¤¹¡£
-
-<P> Perl ¤ò»È¤Ã¤¿ WDB ¤ò´ð¤Ë¤·¤¿ WWW ¥²¡¼¥È¥¦¥§¥¤¤Ï<A HREF="http://www.eol.ists.ca/~dunlop/wdb-p95">http://www.eol.ists.ca/~dunlop/wdb-p95</A>¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
+<P> ½èÍý¤¬Ê£»¨¤Ê¾ì¹ç¡¢Â¿¤¯¤Î¿Í¤Ï Perl ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È CGI.pm ¤ò»È¤¤¤Þ¤¹¡£
 
 <small><PRE>
     [ÌõÃí:
@@ -622,7 +589,8 @@ Programmer's Guide</A>
 </PRE></small>
 
 <P>
-<H4><A NAME="2.3">2.3</A>)     PostgreSQL ¤Ï¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤«¡© ¥ì¥Ý¡¼¥È¡¦¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡© Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡©
+<H4><A NAME="2.3">2.3</A>)     PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡©
+¥ì¥Ý¡¼¥È¡¦¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡© Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡©
 </H4>
 
 <P> <I>pgaccess</I> ¤È¸Æ¤Ð¤ì¤ëÁÇÀ²¤é¤·¤¤¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¤¢¤ê¡¢¤³¤ÎÇÛÉۤȶ¦¤Ë½Ð²Ù¤µ¤ì¤Þ¤¹¡£<I>Pgaccess</I> ¤Ë¤Ï¥ì¥Ý¡¼¥È¡¦¥¸¥§¥Í¥ì¡¼¥¿¤â¤¢¤ê¤Þ¤¹¡£Web ¥Ú¡¼¥¸¤Ï<A HREF="http://www.flex.ro/pgaccess">http://www.flex.ro/pgaccess</A>¤Ç¤¹¡£
@@ -657,6 +625,8 @@ Programmer's Guide</A>
         PgBash ¤Ï ¶­ÅÄ ²íÌÀ ¤µ¤ó¤¬ºî¤Ã¤¿ bash ¤Î PostgreSQL ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¹¡£
                <A HREF="http://www.psn.co.jp/PostgreSQL/pgbash/">http://www.psn.co.jp/PostgreSQL/pgbash/</A>
        Bash¥³¥Þ¥ó¥É¥é¥¤¥ó¤Çpostgres ¤ËÌ䤤¹ç¤ï¤»¤Ç¤­¤Þ¤¹¡£
+       Perl ¤Î¥â¥¸¥å¡¼¥ë¤Ï¸Å¤¯¤«¤é¤¢¤ë Pg ¤È DBI ¥É¥é¥¤¥Ð¤Î DBD::Pg ¤È¤¬¤¢¤ê¡¢
+       ¤¤¤º¤ì¤â Edmund Mergl »á¤Ë¤è¤ë¤â¤Î¤Ç <A HREF="http://www.cpan.org/">CPAN ¥µ¥¤¥È</A>¤Ë¤¢¤ê¤Þ¤¹¡£
     ]
 </PRE></small>
 
@@ -706,7 +676,7 @@ PostgreSQL Administrator's Gide 
 <P> ´ûÄê¤ÎÀßÄê¤Ç¤Ï¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤é¤Î unix ¥É¥á¥¤¥ó¤Î¥½¥±¥Ã¥ÈÀܳ¤·¤«µö¤·¤Þ¤»¤ó¡£TCP/IP Àܳ¤ò²Äǽ¤Ë¤¹¤ë¤Ë¤Ï postmaster ¤¬ <I>-i</I> ¥ª¥×¥·¥ç¥ó¤Ç³«»Ï¤µ¤ì¤Æ¤¤¤Æ¡¢<I>pgsql/data/pg_hba.conf</I> ¥Õ¥¡¥¤¥ë¤ËŬÀڤʥۥ¹¥È¤Îµ­ºÜ¤¬Äɲ䵤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
 
 <P>
-<H4><A NAME="3.7">3.7</A>)     ¤è¤ê¤è¤¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¡¢¤É¤Î¤è¤¦¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤òÄ´À°¤Ç¤­¤Þ¤¹¤«¡©
+<H4><A NAME="3.7">3.7</A>)     ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì¤ÐÎɤ¤¤Ç¤¹¤«¡©
 </H4>
 
 <P> ³Î¤«¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÏÌ䤤¹ç¤ï¤»¤Î®ÅÙ¤òÁý¤·¤Þ¤¹¡£<font size=-1>EXPLAIN</font>¥³¥Þ¥ó¥É¤Ç PostgreSQL ¤¬¤É¤Î¤è¤¦¤Ë¤¢¤Ê¤¿¤ÎÌ䤤¹ç¤ï¤»¤òËÝÌõ¤·¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¡¢¤½¤·¤Æ¡¢¤É¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
@@ -770,7 +740,7 @@ PostgreSQL
 
 <P> Ì䤤¹ç¤ï¤»¼Â¹Ô¥â¥¸¥å¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Î㤨¤Ð¡¢¤â¤· <font size=-1>ORDER BY</font> ¶ç¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ð¥Ã¥¯¥¨¥ó¥É¤Î <I>-S</I> ¥Ñ¥é¥á¡¼¥¿¤Çµö²Ä¤·¤¿Ãͤè¤ê¤âÂ礭¤Ê¥¹¥Ú¡¼¥¹¤¬¥½¡¼¥È¤ÎºÝ¤ËɬÍפÀ¤È¤¹¤ë¤È¡¢°î¤ì¤¿¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤¬¤¤¤¯¤Ä¤«À¸À®¤µ¤ì¤Þ¤¹¡£
 <P>
-°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ï¼«Æ°Åª¤Ë¾Ã¤·µî¤é¤ì¤ë¤Ï¤º¤Ç¤¹¤¬¡¢¤â¤·¡¢¥½¡¼¥È¤ÎÅÓÃæ¤Ç¥Ð¥Ã¥¯¥¨¥ó¥É¤¬ÄÙ¤ì¤Æ¤·¤Þ¤¦¤È¤½¤¦¤Ê¤ê¤Þ¤»¤ó¡£¤â¤·¡¢¤½¤Î¤È¤­¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¤Ò¤È¤Ä¤âÁö¤Ã¤Æ¤Ê¤±¤ì¤Ð¡¢pg_tempNNN.NN¥Õ¥¡¥¤¥ë¤ò¾Ã¤·¤Æ¤â°ÂÁ´¤Ç¤¹¡£
+°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ï¼«Æ°Åª¤Ë¾Ã¤·µî¤é¤ì¤ë¤Ï¤º¤Ç¤¹¤¬¡¢¤â¤·¡¢¥½¡¼¥È¤ÎÅÓÃæ¤Ç¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¥¯¥é¥Ã¥·¥å¤·¤Æ¤·¤Þ¤¦¤È¤½¤¦¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤½¤Î¤È¤­¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¤Ò¤È¤Ä¤âÁö¤Ã¤Æ¤Ê¤±¤ì¤Ð¡¢pg_tempNNN.NN¥Õ¥¡¥¤¥ë¤ò¾Ã¤·¤Æ¤âÂç¾æÉפǤ¹¡£
 
 
 <small><PRE>
@@ -798,13 +768,13 @@ PostgreSQL
 <P> ¥í¥±¡¼¥ë¤ÎÀßÄê¤ò³Î¤«¤á¤Æ²¼¤µ¤¤¡£PostgreSQL ¤Ï <I>postmaster</I> ¥×¥í¥»¥¹¤òÁö¤é¤»¤¿¥æ¡¼¥¶¡¼¤Î¥í¥±¡¼¥ë¤ÎÀßÄê¤ò»È¤¤¤Þ¤¹¡£postgres ¤Èpsql ¤Ë¤Ï SET ¥³¥Þ¥ó¥É¤¬¤¢¤ê¡¢¥Ç¡¼¥¿½ñ¼°¤òÀ©¸æ¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤ò¤¢¤Ê¤¿¤ÎÁàºî´Ä¶­¤Ë¹ç¤ï¤»¤ÆÀßÄꤷ¤Æ²¼¤µ¤¤¡£
 
 <P>
-<H4><A NAME="4.2">4.2</A>)     ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾ï¤Î¥«¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
+<H4><A NAME="4.2">4.2</A>)     ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
 </H4>
 
 <P> ¾Ü½Ò¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç <font size=-1>DECLARE</font> ¤ò¸«¤Æ²¼¤µ¤¤¡£
 
 <P>
-<H4><A NAME="4.3">4.3</A>)     Ì䤤¹ç¤ï¤»¤ÎºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò <font size=-1>SELECT</font> ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
+<H4><A NAME="4.3">4.3</A>)     ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò <font size=-1>SELECT</font> ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
 </H4>
 
 <P> ¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç<font size=-1>FETCH</font>¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£¤¢¤ë¤¤¤Ï¡¢SELECT ... LIMIT....¤ò»È¤Ã¤Æ¤ß¤Æ²¼¤µ¤¤¡£
@@ -817,12 +787,12 @@ PostgreSQL
 </H4>
 
 <P>
-  <I>psql</I>¤Î¥½¡¼¥¹¥³¡¼¥É¤¬½ñ¤«¤ì¤¿ <I>pgsql/src/bin/psql/describe.c</I> ¥Õ¥¡¥¤¥ë¤òÆɤळ¤È¤¬¤Ç¤­¤Þ¤¹¡£
+  <I>psql</I>¤Î¥½¡¼¥¹¥³¡¼¥É¤È¤·¤Æ½ñ¤«¤ì¤¿ <I>pgsql/src/bin/psql/describe.c</I> ¥Õ¥¡¥¤¥ë¤òÆɤळ¤È¤¬¤½¤ÎÅú¤¨¤Ç¤¹¡£
 ¤½¤³¤Ë¤Ï¡¢psql¤Î¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¥³¥Þ¥ó¥É¤Ë¤è¤ë½ÐÎϤΤ¿¤á¤Î<font size=-1>SQL</font>¥³¥Þ¥ó¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ <I>psql</I> ¤Ë <I>-E</I> ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤¹¤ì¤Ð¡¢Í¿¤¨¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ÎÌ䤤¹ç¤ï¤»¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
 <P>
 
 
-<H4><A NAME="4.5">4.5</A>)     ¥Æ¡¼¥Ö¥ë¤«¤é¤ÎÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
+<H4><A NAME="4.5">4.5</A>)     ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
 </H4>
 
 <P> <font size=-1>ALTER TABLE DROP COLUMN</font> ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤½¤ÎÂå¤ï¤ê¤Ë¤³¤¦¤·¤Þ¤¹:
@@ -855,7 +825,7 @@ PostgreSQL
 
 <P> ¤â¤Á¤í¤ó¡¢¤³¤ì¤é¤Ï¼ÂºÝ¤Ï̵À©¸Â¤Ç¤Ï¤Ê¤¯¡¢¥Ç¥£¥¹¥¯ÍÆÎ̤ȥá¥â¥ê¡¼¤ä¥¹¥ï¥Ã¥×¥¹¥Ú¡¼¥¹¤ÎÂ礭¤µ¤Ë¤è¤êÀ©¸Â¤µ¤ì¤Þ¤¹¡£À­Ç½¤Ï¤³¤ì¤é¤ÎÃͤ¬¤³¤È¤Î¤Û¤«Â礭¤Ê»þ¤ËÀú¤ê¤ò¼õ¤±¤Þ¤¹¡£
 
-<P> ºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤Î16TB¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥é¡¼¥¸¡¦¥Õ¥¡¥¤¥ë¥µ¥Ý¡¼¥È¤ÏɬÍפȤ·¤Þ¤»¤ó¡£¥é¡¼¥¸¡¦¥Æ¡¼¥Ö¥ë¤ÏÊ£¿ô¤Î1GB¤Î¥Õ¥¡¥¤¥ë¤Î¤è¤¦¤ËÊݸ¤µ¤ì¤Þ¤¹¡£
+<P> ºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤Î16TB¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤ëµðÂç¥Õ¥¡¥¤¥ë¤Î¥µ¥Ý¡¼¥È¤ÏɬÍפȤ·¤Þ¤»¤ó¡£µðÂç¤Ê¥Æ¡¼¥Ö¥ë¤ÏÊ£¿ô¤Î1GB¤Î¥Õ¥¡¥¤¥ë¤Ëʬ¤±¤ÆÊݸ¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÀ©¸Â¤Ï½ÅÍפǤϤ¢¤ê¤Þ¤»¤ó¡£
 
 <P> ¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò32k¤Ë¤¹¤ë¤ÈºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤ÈºÇÂ祫¥é¥à¿ô¤È¤¬Áý²Ã¤·¤Þ¤¹¡£
 
@@ -891,7 +861,7 @@ PostgreSQL 
 ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢¤³¤ì¤Û¤É¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤ÏÍ׵ᤷ¤Þ¤»¤ó¤¬¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹ÉÕ¤±¤µ¤ì¤ë¥Ç¡¼¥¿¤ò´Þ¤à°Ê¾å¡¢¤½¤ì¤Ê¤ê¤ËÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£
 
 <P>
-<H4><A NAME="4.8">4.8</A>)     ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¸«¤Ä¤±½Ð¤·¤Þ¤¹¤«¡©
+<H4><A NAME="4.8">4.8</A>)     ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±½Ð¤·¤Þ¤¹¤«¡©
 </H4>
 
 <P> <I>psql</I> ¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¡¦¥³¥Þ¥ó¥É¤¬¤¢¤ê¡¢¤³¤¦¤·¤¿¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¡¦¥³¥Þ¥ó¥É¤Î¼ïÎà¤ò¸«¤ë¤Ë¤Ï \? ¤ò»È¤Ã¤Æ²¼¤µ¤¤¡£
@@ -905,7 +875,7 @@ PostgreSQL 
 
 <P> ÎóÆÃÄê¤ÎºÇŬ²½Åý·×¤Î¤¿¤á¤Ë<font size=-1>VACUUM ANALYZE</font>¤ò»È¤¤¤Þ¤¹¡£<font size=-1>VACUUM ANALYZE</font>¤ÏÊ£»¨¤ÊÊ£¹ç·ë¹ç(multi-join)Ì䤤¹ç¤ï¤»¤Î¤¿¤á¤ËÂçÀڤǤ¹¤Î¤Ç¡¢¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤«¤éÊÖ¤µ¤ì¤ë¹Ô¤Î¿ô¤ò¸«ÀѤ뤳¤È¤¬¤Ç¤­¡¢ÆÃÄê¤Î·ë¹ç½ç½ø¤òÁª¤Ó¤Þ¤¹¡£¥Ð¥Ã¥¯¥¨¥ó¥É¤Ï¤½¤ì¼«¿È¤Ç¤ÏÎó¤ÎÅý·×¤òÊÝ»ý¤·¤Ê¤¤¤Î¤Ç¡¢Äê´üŪ¤Ë¤½¤ì¤é¤ò½¸¤á¤ë¤¿¤á¤Ë¤Ï <font size=-1>VACUUM ANALYZE</font> ¤òÁö¤é¤»¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
 
-<P> ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï <font size=-1>ORDER BY</font> Áàºî¤Î¤¿¤á¤Ë¤ÏÉáÄ̤ϻȤï¤ì¤Þ¤»¤ó¡£¤¹¤Ê¤ï¤Á¡¢½ç¼¡¥¹¥­¥ã¥ó¤Ë³¤¯ÌÀ¼¨Åª¥½¡¼¥È¤Ï¡¢¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤¬¤è¤ê¾¯¤Ê¤¯¤ÆºÑ¤à¤Î¤Ç¡¢µðÂç¤Ê¥Æ¡¼¥Ö¥ë¤ÎÁ´·ï¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¥¹¥­¥ã¥ó¤¹¤ë¤è¤ê¤â¹â®¤Ç¤¹¡£
+<P> ÉáÄÌ¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï <font size=-1>ORDER BY</font> ¤ä·ë¹ç¤ÎÁàºî¤Î¤¿¤á¤Ë¤Ï»È¤ï¤ì¤Þ¤»¤ó¡£¥é¥ó¥À¥à¤Ê¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤Ï¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¡¢½ç¼¡¥¹¥­¥ã¥ó¤Ë³¤¯ÌÀ¼¨Åª¥½¡¼¥È¤Ï¡¢µðÂç¤Ê¥Æ¡¼¥Ö¥ë¤ÎÁ´·ï¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¥¹¥­¥ã¥ó¤¹¤ë¤è¤ê¤â¹â®¤Ç¤¹¡£
 
 <P> <font size=-1>LIKE</font> ¤¢¤ë¤¤¤Ï <I>~</I> ¤Î¤è¤¦¤Ê¥ï¥¤¥ë¥É¥«¡¼¥É±é»»»Ò(wild-card  operators)¤ò»È¤¦¤È¤­¡¢¸¡º÷¤Î³«»Ï¤¬Ê¸»úÎó¤Î»Ï¤á¤ÎÉôʬ¤Ë¸ÇÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤Î¤ß¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Þ¤¹¡£
 ¤½¤¦¤¤¤¦¤ï¤±¤Ç¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢<font size=-1>LIKE</font> ¸¡º÷¤Ç¤Ï<I>%</I>¤Ç»Ï¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¡¢¤Þ¤¿¡¢<I>~</I>(Àµµ¬É½¸½¸¡º÷)¤Ï<I>^</I> ¤Ç»Ï¤á¤ë¤è¤¦¤Ë¤¹¤ë¤Ù¤­¤Ç¤¹¡£
@@ -962,13 +932,31 @@ Proc of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.
 <P> GEQO ¥â¥¸¥å¡¼¥ë¤Ï¡¢Âô»³¤Î¥Æ¡¼¥Ö¥ë¤ò·ë¹ç¤¹¤ë¤È¤­¤Ë¡¢°äÅÁŪ¥¢¥ë¥´¥ê¥º¥à(GA)¤ÇÌä¹ç¤ï¤»¤ò¹â®²½¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤·¤é¤ß¤Ä¤Ö¤·¤Ëõº÷¤ò¹Ô¤Ê¤ï¤Ê¤¯¤Æ¤â¡¢Â礭¤Ê·ë¹ç(join queries)¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
 
 <P>
-<H4><A NAME="4.13">4.13</A>)   Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«¡©
+<H4><A NAME="4.13">4.13</A>)   Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«¡©Âçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤¸¡º÷¤Î¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¤É¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¤«¡©
 </H4>
 
 <P>
 <I>~</I>±é»»»Ò¤ÏÀµµ¬É½¸½¾È¹ç¤ò¹Ô¤Ê¤¤¡¢<I>~*</I> ¤ÏÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤(case-insensitive)Àµµ¬É½¸½¾È¹ç¤ò¹Ô¤¤¤Þ¤¹¡£ PostgreSQL 7.1 °Ê¹ß¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤ <font size=-1>LIKE</font> ±é»»»Ò¤ò <font size=-1>ILIKE</font> ¤È¤¤¤¤¤Þ¤¹¡£
 
 
+<P>Âçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤ÅùÃÍÈæ³Ó¼¡¤Î¤è¤¦¤Ëɽ¸½¤Ç¤­¤ë¡§
+   
+    <PRE>
+    SELECT *
+    FROM tab
+    WHERE lower(col) = 'abc'
+    </PRE>
+
+ɸ½à¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤Ï»È¤ï¤ì¤º¡¢¤·¤«¤·¤Ê¤¬¤é¡¢¤â¤·´Ø¿ô¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò
+ºî¤Ã¤¿¤Ê¤é¤½¤ì¤¬»È¤ï¤ì¤ë¤Ç¤·¤ç¤¦¡£
+
+   <PRE>
+   CREATE INDEX tabindex on tab (lower(col));
+   </PRE>
+
+
+
+
 <PRE>
        WHERE lower(textfield) LIKE lower(pattern)
 </PRE>
@@ -1026,18 +1014,16 @@ BYTEA           bytea           
  Bruce Momjian ¤Î<A HREF="http://www.PostgreSQL.org/docs/aw_pgsql_book">(http://www.PostgreSQL.org/docs/aw_pgsql_book)¤Î Numbering Rows</A>¤Î¾Ï¤Ë¤¢¤ê¤¢¤Þ¤¹¡£
 
 
-<H4><A NAME="4.16.2">4.16.2</A>)       <font size=-1>SERIAL</font>¥¤¥ó¥µ¡¼¥È¤ÎÃͤϤɤ¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡©
+<H4><A NAME="4.16.2">4.16.2</A>)       <font size=-1>SERIAL</font>¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡©
 </H4><P>
-
- ¤Ò¤È¤Ä¤ÎÊýË¡¤Ï¡¢<I>nextval()</I> ´Ø¿ô¤ÇÁÞÆþ¤¹¤ë<I>Á°¤Ë(before)</I> SEQUENCE¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¼¡¤Î<font size=-1>SERIAL</font>Ãͤò¼è¤ê½Ð¤·¡¢¤½¤ì¤«¤é¼ÂºÝ¤ËÁÞÆþ¤ò¤¹¤ë¤³¤È¤Ç¤·¤ç¤¦¡£
-<A HREF="#4.16.1">4.16.1</A>¤ÎÎã¤Ç»È¤Ã¤¿¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
+  ¤Ò¤È¤Ä¤ÎÊýË¡¤Ï¡¢<I>nextval()</I> ´Ø¿ô¤ò»È¤Ã¤Æ¤½¤ÎÃͤòÁÞÆþ¤¹¤ë<I>Á°(before)¤Ë</I> SEQUENCE ¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¼¡¤Î <font size=-1>SERIAL</font> Ãͤò¼è¤ê½Ð¤·¡¢¤½¤ì¤«¤é¼ÂºÝ¤ËÁÞÆþ¤ò¤¹¤ë¤³¤È¤Ç¤¹¡£ <A HREF="#4.16.1">4.16.1</A> ¤ÎÎã¤Ç»È¤Ã¤¿¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
 
 <PRE>
        $newSerialID = nextval('person_id_seq');
        INSERT INTO person (id, name) VALUES ($newSerialID, 'Blaise Pascal');
 </PRE>
 
-¤½¤¦¤·¤Æ¡¢<tt>$newSerialID</tt> ¤ËÊݸ¤·¤¿¿·¤·¤¤Ãͤò¾¤ÎÌ䤤¹ç¤ï¤»¤Ë(¤¿¤È¤¨¤Ð¡¢<tt>person</tt> ¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ë³°Éô¸°(foreign key)¤Î¤è¤¦¤Ë)»È¤¦¤È¤è¤¤¤Ç¤·¤ç¤¦¡£¼«Æ°Åª¤Ëºî¤é¤ì¤¿<font size=-1>SEQUENCE</font>¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢&lt;<I>table</I>&gt;_&lt;<I>serialcolumn</I>&gt;_<I>seq</I> ¤Î¤è¤¦¤Ë¤Ê¤ê¡¢¤³¤Î¤¦¤Á¡¢<I>table</I> ¤È <I>serialcolumn</I> ¤Ï¤½¤ì¤¾¤ì¥Æ¡¼¥Ö¥ë¤Î̾Á°¤È<font size=-1>SERIAL</font>Îó¤Î̾Á°¤Ç¤¹¡£
+¤½¤¦¤·¤Æ¡¢<tt>$newSerialID</tt> ¤ËÊݸ¤·¤¿¿·¤·¤¤Ãͤò¾¤ÎÌ䤤¹ç¤ï¤»¤Ë(¤¿¤È¤¨¤Ð¡¢<tt>person</tt> ¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ë³°Éô¥­¡¼(foreign key)¤Î¤è¤¦¤Ë)»È¤¦¤È¤è¤¤¤Ç¤·¤ç¤¦¡£¼«Æ°Åª¤Ëºî¤é¤ì¤¿<font size=-1>SEQUENCE</font>¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢&lt;<I>table</I>&gt;_&lt;<I>serialcolumn</I>&gt;_<I>seq</I> ¤Î¤è¤¦¤Ë¤Ê¤ê¡¢¤³¤Î¤¦¤Á¡¢<I>table</I> ¤È <I>serialcolumn</I> ¤Ï¤½¤ì¤¾¤ì¥Æ¡¼¥Ö¥ë¤Î̾Á°¤È<font size=-1>SERIAL</font>Îó¤Î̾Á°¤Ç¤¹¡£
 <P>
 
 ¤¢¤ë¤¤¤Ï¡¢Í¿¤¨¤é¤ì¤¿<font size=-1>SERIAL</font>Ãͤò¡¢¤½¤ì¤¬´ûÄêÃͤȤ·¤ÆÁÞÆþ¤µ¤ì¤¿<I>¸å¤Ç(after)</I>¡¢ <I>currval</I>() ´Ø¿ô¤ò»È¤Ã¤Æ¼è¤ê½Ð¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
@@ -1047,27 +1033,29 @@ BYTEA           bytea           
        $newID = currval('person_id_seq');
 </PRE>
 
-ºÇ¸å¤Ë¡¢<font size=-1>INSERT</font>ʸ¤«¤éÊÖ¤ë<A HREF="#4.17"><font size=-1>OID</font></A>¤ò»È¤Ã¤Æ¡¢´ûÄêÃͤò¤ß¤Ä¤±¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤·¤«¤·¡¢¤³¤ì¤ÏºÇ¤â°Ü¿¢À­¤ÎÄ㤤¤ä¤êÊý¤Ç¤·¤ç¤¦¡£Perl¤ÎDBI¤Ç Edmund Mergl ¤Î DBD::Pg ¥â¥¸¥å¡¼¥ë¤ò»È¤¨¤Ð¡¢$sth->execute() ¤Î¸å¤Ë $sth-&gt{pg_oid_status} ¤ò·Ðͳ¤·¤Æ¤½¤Î OID Ãͤò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¡£
+ºÇ¸å¤Ë¡¢<font size=-1>INSERT</font>ʸ¤«¤éÊÖ¤ë<A HREF="#4.17"><font size=-1>OID</font></A>¤ò»È¤Ã¤Æ¡¢´ûÄêÃͤò¤ß¤Ä¤±¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤·¤«¤·¡¢¤³¤ì¤ÏºÇ¤â°Ü¿¢À­¤ÎÄ㤤¤ä¤êÊý¤Ç¤·¤ç¤¦¡£Perl¤ÎDBI¤Ç Edmund Mergl ¤Îºî¤Ã¤¿ DBD::Pg ¥â¥¸¥å¡¼¥ë¤ò»È¤¨¤Ð¡¢$sth->execute() ¤Î¸å¤Ë $sth-&gt{pg_oid_status} ¤ò·Ðͳ¤·¤Æ¤½¤Î OID Ãͤò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¡£
 
 <P> 
 <H4><A NAME="4.16.3">4.16.3</A>)       Â¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢<I>currval()</I> ¤È <I>nextval()</I> ¤Ï»È¤ï¤Ê¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
 </H4><P>
 
-¤¢¤ê¤Þ¤»¤ó¡£¥Ð¥Ã¥¯¥¨¥ó¥É¤Ç½èÍý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¾å¼ê¤Ë½èÍý¤¹¤ë¤Î¤Ç¡¢¶¥¹ç¾õÂ֤ˤʤ뤳¤È¤ÏÍ­¤ê¤Þ¤»¤ó¡£
 
 
 <P> 
 <H4><A NAME="4.17">4.17</A>)   <font size=-1>OID</font> ¤È¤Ï²¿¤Ç¤¹¤«¡© <font size=-1>TID</font> ¤È¤Ï²¿¤Ç¤¹¤«¡©
 </H4>
 
-<P> <font size=-1>OID</font> ¤È¤Ï°ì°Õ¤Î¹Ô ID ¤ËÂФ¹¤ë PostgreSQL ¤ÎÅú¤¨¤Ç¤¹¡£PostgreSQL ¤ÎÃæ¤Ç¤Ä¤¯¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¹Ô¤Ï°ì°Õ¤Î <font size=-1>OID</font> ¤òÆÀ¤Þ¤¹¡£<I>initdb</I> ¤Ç(<I>backend/access/transam.h</I> ¤«¤é)ȯÀ¸¤µ¤ì¤ë <font size=-1>OID</font> ¤Ï¤¹¤Ù¤Æ 16384¤è¤ê¾®¤µ¤ÊÃͤǤ¹¡£<I>initdb</I> ¸å¤Î¤¹¤Ù¤Æ¤Î <font size=-1>OID</font> (¥æ¡¼¥¶ºîÀ®)¤Ï¤½¤ì°Ê¾å¤ÎÃͤˤʤê¤Þ¤¹¡£´ûÄê¤Ç¤Ï¡¢¤³¤ì¤é¤¹¤Ù¤Æ¤Î <font size=-1>OID</font> ¤Ï¥Æ¡¼¥Ö¥ëÆâ¤ä¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ëα¤Þ¤é¤º¡¢PostgreSQL ¤Î¤½¤Î¥¤¥ó¥¹¥È¥ì¡¼¥·¥ç¥óÁ´ÂÎÆâ¤Ç°ì°Õ¤Ç¤¢¤ê¤Þ¤¹¡£
+<P> <font size=-1>OID</font> ¤È¤Ï°ì°Õ¤Î¹Ô ID ¤ËÂФ¹¤ë PostgreSQL ¤ÎÅú¤¨¤Ç¤¹¡£PostgreSQL ¤ÎÃæ¤Ç¤Ä¤¯¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¹Ô¤Ï°ì°Õ¤Î <font size=-1>OID</font> ¤òÆÀ¤Þ¤¹¡£<I>initdb</I> ¤ÇȯÀ¸¤µ¤ì¤ë <font size=-1>OID</font> ¤Ï¤¹¤Ù¤Æ 16384 (<I>backend/access/transam.h</I> ¤«¤é)¤è¤ê¾®¤µ¤ÊÃͤǤ¹¡£<I>initdb</I> ¸å¤Î¤¹¤Ù¤Æ¤Î <font size=-1>OID</font> (¥æ¡¼¥¶ºîÀ®)¤Ï¤½¤ì°Ê¾å¤ÎÃͤˤʤê¤Þ¤¹¡£
+´ûÄê¤Ç¤Ï¡¢¤³¤ì¤é¤¹¤Ù¤Æ¤Î <font size=-1>OID</font>¤Ï°ì¤Ä¤Î¥Ç¡¼¥Ö¥ë¤ä¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ëα¤Þ¤é¤º¡¢PostgreSQL ¥¤¥ó¥¹¥È¥ì¡¼¥·¥ç¥óÁ´ÂΤÎÃæ¤Ç°ì°Õ¤Ç¤¹¡£
 
 <P> PostgreSQL ¤Ï¥Æ¡¼¥Ö¥ë´Ö¤Î¹Ô¤ò·ë¤Ó¤Ä¤±¤ë¤¿¤á¤Ë¡¢¤½¤Î¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ëÆâ¤Ë <font size=-1>OID</font> ¤ò»È¤¤¤Þ¤¹¡£¤³¤Î <font size=-1>OID</font> ¤ÏÆÃÄê¤Î¥æ¡¼¥¶¤Î¹Ô¤ò¼±Ê̤¹¤ë¤¿¤á¤ä·ë¹ç¤ÎÃæ¤Ç»È¤ï¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£<font size=-1>OID</font> ¤ÎÃͤòÊݸ¤¹¤ë¤¿¤á¤Ë¤Ï <I>OID</I> ·¿¤òÎó¤Ë»È¤¦¤³¤È¤ò¾©¤á¤Þ¤¹¡£¤è¤ê®¤¯¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë <I>OID</I> ¥Õ¥£¡¼¥ë¥É¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
 
-<P> O<font size=-1>ID</font> ¤Ï¡¢Á´¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é»È¤ï¤ì¤ëÃæ±ûÎΰ褫¤é¡¢Á´¤Æ¤Î¿·¤·¤¤¹Ô¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£<font size=-1>OID</font> ¤ò¾¤Î²¿¤«¤ËÊѤ¨¤¿¤¤¡¢¤â¤·¤¯¤Ï¸µ¤Î <font size=-1>OID</font> ¤Ç¥Æ¡¼¥Ö¥ë¤ò¥³¥Ô¡¼¤·¤¿¤¤¤Î¤Ê¤é¡¢¤½¤¦¤Ç¤­¤Ê¤¤Íýͳ¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+  O<font size=-1>ID</font> ¤Ï¡¢Á´¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç»È¤ï¤ì¤ëÃæ±ûÎΰ褫¤é¡¢Á´¤Æ¤Î¿·¤·¤¤¹Ô¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£<font size=-1>OID</font> ¤ò¾¤Î²¿¤«¤ËÊѤ¨¤¿¤¤¡¢¤¢¤ë¤¤¤Ï¸µ¤Î <font size=-1>OID</font> ¤â¥Æ¡¼¥Ö¥ë¤È°ì½ï¤Ë¥³¥Ô¡¼¤·¤¿¤¤¤Î¤Ê¤é¡¢¤Ç¤­¤Ê¤¯¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+
 
 <PRE>
-        CREATE TABLE new_table(old_oid oid, mycol int);
+        CREATE TABLE new (old_oid oid, mycol int);
         SELECT old_oid, mycol INTO new FROM old;
         COPY new TO '/tmp/pgtable';
         DELETE FROM new;
@@ -1108,9 +1096,9 @@ http://www.comptechnews.com/~reaster/dbdesign.html</a>
 <H4><A NAME="4.19">4.19</A>) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ <I>"ERROR: Memory exhausted in AllocSetAlloc()"</I>¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
 </H4>
 <P>
-¥·¥¹¥Æ¥à¤Î²¾ÁÛ¥á¥â¥ê¡¼¤òÁ´¤Æ»È¤¤²Ì¤¿¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¡¢¤¢¤ë¤¤¤Ï
-¥«¡¼¥Í¥ë¤¬¤¢¤ë¥ê¥½¡¼¥¹¤Ë¤Ä¤¤¤ÆÄ㤤À©¸ÂÃͤò»ý¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
-<I>postmaster</I> ¤ò³«»Ï¤¹¤ëÁ°¤Ë¤³¤ì¤ò»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡§
+¤â¤·¡¢7.1 ¤è¤ê¤â¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ò¤ª»È¤¤¤Î¾ì¹ç¤Ï¡¢¥¢¥Ã¥×¥Ç¡¼¥È¤Ë¤è¤Ã¤Æ¤³¤ÎÌäÂê¤ò
+²ò·è¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£¤½¤ì¤È¡¢¥·¥¹¥Æ¥à¤Î²¾ÁÛ¥á¥â¥ê¡¼¤òÁ´¤Æ»È¤¤²Ì¤¿¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¡¢¥«¡¼¥Í¥ë¤¬¤¢¤ë¥ê¥½¡¼¥¹¤Ë¤Ä¤¤¤Æ¤â¤ÄÀ©¸ÂÃͤ¬Ä㤹¤®¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
+<I>postmaster</I> ¤ò»ÏÆ°¤¹¤ëÁ°¤Ë¤³¤ì¤ò»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡§
 
 <PRE>
        ulimit -d 262144
@@ -1202,11 +1190,11 @@ PostgreSQL 7.1 
 <H4><A NAME="5.1">5.1</A>)     ¼«Ê¬¤Ç½ñ¤¤¤¿¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤ò psql ¤ÎÃæ¤Ç¼Â¹Ô¤¹¤ë¤È¥³¥¢¡¦¥À¥ó¥×¤·¤Æ¤·¤Þ¤¦¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
 </H4>
 
-<P> ÌäÂê¤Ï¿§¡¹¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£¤Þ¤ººÇ½é¤Ë¡¢ºîÀ®¤·¤¿¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤òñÆȤΥƥ¹¥È¥×¥í¥°¥é¥à¤Ë¤·¤Æ»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£
+<P> ÌäÂê¤Ï¿§¡¹¤È¹Í¤¨¤é¤ì¤Þ¤¹¤¬¡¢¤Þ¤ººÇ½é¤Ë¡¢ºîÀ®¤·¤¿¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤òñÆȤΥƥ¹¥È¥×¥í¥°¥é¥à¤Ë¤·¤Æ»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£
 
 
 <P>
-<H4><A NAME="5.2">5.2</A>)     PostgreSQL ÍѤ˽ñ¤¤¤¿¿è¤Ê¿·¤·¤¤·¿¤ä´Ø¿ô¤Ï¡¢¤É¤¦¤¹¤ì¤Ð´ó£¤Ç¤­¤Þ¤¹¤«¡©
+<H4><A NAME="5.2">5.2</A>)     PostgreSQL ÍѤ˽ñ¤¤¤¿¤Á¤ç¤Ã¤ÈÁÇŨ¤Ê¿·¤·¤¤·¿¤ä´Ø¿ô¤òÄ󶡤·¤Æ¥×¥í¥¸¥§¥¯¥È¤Ë¹×¸¥¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡©
 </H4>
 
 <P> ³§¤µ¤ó¤Î¹Ô¤Ê¤Ã¤¿³ÈÄ¥¤ò¡¢<I>pgsql-hackers</I> ¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤½¤·¤Æ¡¢¤æ¤¯¤æ¤¯¤Ï¤½¤¦¤·¤¿³ÈÄ¥¤¬ <I>contrib/</I> ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤ËÆþ¤ë¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
@@ -1227,6 +1215,39 @@ PostgreSQL 7.1 
 
 <small><PRE>
 [ÌõÃí¡§
+  ÆüËܸìÈǤÎÀ½ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
+
+  ºÇ½ª¹¹¿·Æü:  2001ǯ07·î05Æü
+  ËÝÌõ¼Ô:      ·¬Â¼ ½á (<A HREF="mailto:juk@jp.postgresql.org">Jun Kuwamura &lt;juk@jp.postgresql.org&gt;</A>)
+
+  ¤³¤ÎFAQ¤ÎÏÂÌõ¤ÎºîÀ®¤Ë¤¢¤¿¤ê¶¨ÎϤò¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹(·É¾Î¤Ïά¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹):
+
+               ÅÄÃç Ì­(<A HREF="mailto:Tanaka.Minoru@keiken.co.jp">Minoru Tanaka &lt;Tanaka.Minoru@keiken.co.jp&gt;</A>)
+               Àаæ Ã£É×(<A HREF="mailto:t-ishii@sra.co.jp">Tatsuo Ishii &lt;t-ishii@sra.co.jp&gt;</A>)
+               óîÆ£ ÃοÍ(<A HREF="mailto:tomos@elelab.nsc.co.jp">Tomohito Saitoh &lt;tomos@elelab.nsc.co.jp&gt;</A>)
+               ÇϾ젠ȥ(<A HREF="mailto:baba@kusastro.kyoto-u.ac.jp">Hajime Baba &lt;baba@kusastro.kyoto-u.ac.jp&gt;</A>)
+               ²¬ËÜ °ì¹¬(<A HREF="mailto:kokamoto@itg.hitachi.co.jp">Kazuyuki Okamoto &lt;kokamoto@itg.hitachi.co.jp&gt;</A>)
+               ¾®¿û ¾¼°ì(<A HREF="mailto:s-kosuge@str.hitachi.co.jp">Shoichi Kosuge &lt;s-kosuge@str.hitachi.co.jp&gt;</A>)
+               »³²¼ µÁÇ·(<A HREF="mailto:dica@eurus.dti.ne.jp">Yoshiyuki Yamashita &lt;dica@eurus.dti.ne.jp&gt;</A>)
+               ¶­ ¿¿ÂÀϺ(<A HREF="mailto:s_sakai@mxn.mesh.ne.jp">Sintaro Sakai &lt;s_sakai@mxn.mesh.ne.jp&gt;</A>)
+               À¸±Û ¾»¸Ê(<A HREF="mailto:ogochan@zetabits.com">Masami Ogoshi &lt;ogochan@zetabits.com&gt;</A>)
+               ÀÐÀî ½Ó¹Ô(<A HREF="mailto:tosiyuki@gol.com">Toshiyuki Ishikawa &lt;tosiyuki@gol.com&gt;</A>)
+               ËÜÅÄ Ìй­(<A HREF="mailto:fwif0083@mb.infoweb.ne.jp">Shigehiro Honda &lt;fwif0083@mb.infoweb.ne.jp&gt;</A>)
+               ¤»¤» ¤¸¤å¤ó(<A HREF="mailto:sesejun@linet.gr.jp">Jun Sese &lt;sesejun@linet.gr.jp&gt;</A>)
+               ¿À렱ѹ§(<A HREF="mailto:hkamiya@catvmics.ne.jp">Hidetaka Kamiya &lt;hkamiya@catvmics.ne.jp&gt;</A>)
+
+  ¤ò¤Ï¤¸¤á¡¢¥Ý¥¹¥È¥°¥ì¥¹¤Ë´Ø¤¹¤ëÏÃÂêË­ÉÙ¤Ê<A HREF="http://www.sra.co.jp/people/t-ishii/PostgreSQL/ML/info.html">ÆüËܸì¥Ý¥¹¥È¥°¥ì¥¹¡¦¥á¡¼¥ê¥ó¥°¥ê¥¹¥È</A>¡¢
+  ÏÂÌõ¤Î¤­¤Ã¤«¤±¤òºî¤Ã¤Æ¤¯¤ì¤¿ <A HREF="http://jf.linux.or.jp/">JF(Linux Japanese FAQ Mailing List)¥×¥í¥¸¥§¥¯¥È</A>¡¢¤½¤Î¾¡¢
+  Ä¾Àܤ¢¤ë¤¤¤Ï´ÖÀÜŪ¤Ë¤«¤«¤ï¤Ã¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹¥³¥ß¥å¥Ë¥Æ¥£¡¼¤Î
+  ³§¤µ¤ó¤Ë´¶¼Õ¤·¤Þ¤¹¡£
+
+
+  ÆüËܸìÈǤΤ³¤Îʸ½ñ¤Ï¡¢°Ê²¼¤«¤é¤â¤¿¤É¤ì¤Þ¤¹¡£
+       <A HREF="http://www.rccm.co.jp/~juk/pgsql/">http://www.rccm.co.jp/~juk/pgsql/</A>(FAQÏÂÌõ PostgreSQL ¤Ë¤Ä¤¤¤Æ¤è¤¯¤¢¤ë¼ÁÌä)
+       <A HREF="http://www.linux.or.jp/JF/">http://www.linux.or.jp/JF/</A>(PostgreSQL-FAQ.j)
+       <A HREF="http://www.sra.co.jp/people/t-ishii/PostgreSQL/doc-jp/">http://www.sra.co.jp/people/t-ishii/PostgreSQL/doc-jp/</A>
+
+  ¤Ê¤ª¡¢¤³¤ÎÏÂÌõ¤Ë´Ø¤¹¤ë¤´°Õ¸«¤Ï(<A HREF="mailto:juk@jp.postgresql.org">juk@jp.postgresql.org</A>)¤Þ¤Ç¤ª´ó¤»²¼¤µ¤¤¡£
 ]
 </PRE></small>
 
index 42078e2..682eede 100644 (file)
@@ -8,17 +8,22 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.62 2001/08/17 15:44:17 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.63 2001/08/21 00:33:27 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 
 #include "postgres.h"
 
-#include <sys/types.h>                 /* needed by in.h on Ultrix */
+#include <sys/types.h>
+#include <sys/socket.h>                        /* for SCM_CREDS */
+#ifdef SCM_CREDS
+#include <sys/uio.h>                   /* for struct iovec */
+#include <sys/ucred.h>
+#include <errno.h>
+#endif
 #include <netinet/in.h>
 #include <arpa/inet.h>
-
 #include "libpq/auth.h"
 #include "libpq/crypt.h"
 #include "libpq/hba.h"
 #include "miscadmin.h"
 
 static void sendAuthRequest(Port *port, AuthRequest areq);
-
 static int     checkPassword(Port *port, char *user, char *password);
 static int     old_be_recvauth(Port *port);
 static int     map_old_to_new(Port *port, UserAuth old, int status);
 static void auth_failed(Port *port);
-
 static int     recv_and_check_password_packet(Port *port);
 static int     recv_and_check_passwordv0(Port *port);
 
@@ -493,6 +496,26 @@ ClientAuthentication(Port *port)
                        break;
 
                case uaIdent:
+#if !defined(SO_PEERCRED) && defined(SCM_CREDS)
+                       /*
+                        *      If we are doing ident on unix-domain sockets,
+                        *      use SCM_CREDS only if it is defined and SO_PEERCRED isn't.
+                        */
+#ifdef fc_uid
+                       /* Receive credentials on next message receipt, BSD/OS */
+                       {
+                               int on = 1;
+                               if (setsockopt(port->sock, 0, LOCAL_CREDS, &on, sizeof(on)) < 0)
+                               {
+                                       elog(FATAL,
+                                                "pg_local_sendauth: can't do setsockopt: %s\n", strerror(errno));
+                                       return;
+                               }
+                       }
+#endif
+                       if (port->raddr.sa.sa_family == AF_UNIX)
+                               sendAuthRequest(port, AUTH_REQ_SCM_CREDS);
+#endif
                        status = authident(port);
                        break;
 
@@ -676,3 +699,4 @@ map_old_to_new(Port *port, UserAuth old, int status)
 
        return status;
 }
+
index cfafa71..26a56e5 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.64 2001/08/16 16:24:15 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.65 2001/08/21 00:33:27 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 
 #include <errno.h>
 #include <pwd.h>
-#include <sys/types.h>
 #include <fcntl.h>
-#include <sys/socket.h>
+#include <sys/types.h>
+#include <sys/socket.h>                        /* for SCM_CREDS */
+#ifdef SCM_CREDS
+#include <sys/uio.h>                   /* for struct iovec */
+#include <sys/ucred.h>
+#endif
 #include <netinet/in.h>
 #include <arpa/inet.h>
 #include <unistd.h>
@@ -876,39 +880,103 @@ ident_unix(int sock, char *ident_user)
        {
                /* We didn't get a valid credentials struct. */
                snprintf(PQerrormsg, PQERRORMSG_LENGTH,
-                                "Could not get valid credentials from the UNIX socket: %s\n",
+                                "ident_unix: error receiving credentials: %s\n",
                                 strerror(errno));
                fputs(PQerrormsg, stderr);
                pqdebug("%s", PQerrormsg);
                return false;
        }
 
-       /* Convert UID to user login name */
        pass = getpwuid(peercred.uid);
 
        if (pass == NULL)
        {
-               /* Error - no username with the given uid */
                snprintf(PQerrormsg, PQERRORMSG_LENGTH,
-                                "There is no entry in /etc/passwd with the socket's uid\n");
+                        "ident_unix: unknown local user with uid %d\n",
                fputs(PQerrormsg, stderr);
                pqdebug("%s", PQerrormsg);
                return false;
        }
 
-       StrNCpy(ident_user, pass->pw_name, IDENT_USERNAME_MAX);
+       StrNCpy(ident_user, pass->pw_name, IDENT_USERNAME_MAX+1);
 
        return true;
 
-#else /* not SO_PEERCRED */
+#elif defined(SCM_CREDS)
+       struct msghdr msg;
+
+/* Credentials structure */
+#ifndef fc_uid
+       typedef struct cmsgcred Cred;
+#define cruid cmcred_uid
+#else
+       typedef struct fcred Cred;
+#define cruid fc_uid
+#endif
+       Cred *cred;
+
+       /* Compute size without padding */
+       char cmsgmem[sizeof(struct cmsghdr) + sizeof(Cred)];
+       /* Point to start of first structure */
+       struct cmsghdr *cmsg = (struct cmsghdr *)cmsgmem;
+
+       struct iovec iov;
+       char buf;
+       struct passwd *pw;
+
+       memset(&msg, 0, sizeof(msg));
+       msg.msg_iov = &iov;
+       msg.msg_iovlen = 1;
+       msg.msg_control = (char *)cmsg;
+       msg.msg_controllen = sizeof(cmsgmem);
+       memset(cmsg, 0, sizeof(cmsgmem));
+
+       /*
+        * The one character which is received here is not meaningful;
+        * its purposes is only to make sure that recvmsg() blocks
+        * long enough for the other side to send its credentials.
+        */
+       iov.iov_base = &buf;
+       iov.iov_len = 1;
+
+       if (recvmsg(sock, &msg, 0) < 0 ||
+               cmsg->cmsg_len < sizeof(cmsgmem) ||
+               cmsg->cmsg_type != SCM_CREDS)
+       {
+               snprintf(PQerrormsg, PQERRORMSG_LENGTH,
+                                "ident_unix: error receiving credentials: %s\n",
+                                strerror(errno));
+               fputs(PQerrormsg, stderr);
+               pqdebug("%s", PQerrormsg);
+               return false;
+       }
+
+       cred = (Cred *)CMSG_DATA(cmsg);
 
+       pw = getpwuid(cred->fc_uid);
+       if (pw == NULL)
+       {
+               snprintf(PQerrormsg, PQERRORMSG_LENGTH,
+                        "ident_unix: unknown local user with uid %d\n",
+                        cred->fc_uid);
+               fputs(PQerrormsg, stderr);
+               pqdebug("%s", PQerrormsg);
+               return false;
+       }
+
+       StrNCpy(ident_user, pw->pw_name, IDENT_USERNAME_MAX+1);
+
+       return true;
+
+#else
        snprintf(PQerrormsg, PQERRORMSG_LENGTH,
-                        "IDENT auth is not supported on local connections on this platform\n");
+                        "'ident' auth is not supported on local connections on this platform\n");
        fputs(PQerrormsg, stderr);
        pqdebug("%s", PQerrormsg);
+
        return false;
 
-#endif /* SO_PEERCRED */
+#endif
 }
 
 /*
index d749871..9605dfb 100644 (file)
 #   ident:     For TCP/IP connections, authentication is done by contacting
 #              the ident server on the client host.  (CAUTION: this is only
 #              as secure as the client machine!)  On machines that support
-#              SO_PEERCRED socket requests, this method also works for
-#              local Unix-domain connections.  AUTH_ARGUMENT is required:
-#              it determines how to map remote user names to Postgres user
-#              names.  The AUTH_ARGUMENT is a map name found in the
-#              $PGDATA/pg_ident.conf file. The connection is accepted if
-#              that file contains an entry for this map name with the
+#              SO_PEERCRED or SCM_CREDS socket requests, this method also
+#              works for local Unix-domain connections.  AUTH_ARGUMENT is 
+#              required: it determines how to map remote user names to
+#              Postgres user names.  The AUTH_ARGUMENT is a map name found
+#              in the $PGDATA/pg_ident.conf file. The connection is accepted
+#              if that file contains an entry for this map name with the
 #              ident-supplied username and the requested Postgres username.
 #              The special map name "sameuser" indicates an implied map
 #              (not in pg_ident.conf) that maps each ident username to the
index 57a7e79..48e304d 100644 (file)
@@ -9,7 +9,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pqcomm.h,v 1.57 2001/08/16 04:27:18 momjian Exp $
+ * $Id: pqcomm.h,v 1.58 2001/08/21 00:33:27 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -133,6 +133,7 @@ typedef struct StartupPacket
 #define AUTH_REQ_PASSWORD      3       /* Password */
 #define AUTH_REQ_CRYPT         4       /* crypt password */
 #define AUTH_REQ_MD5           5       /* md5 password */
+#define AUTH_REQ_SCM_CREDS     6       /* transfer SCM credentials */
 
 typedef uint32 AuthRequest;
 
index e26a9c2..72c37bd 100644 (file)
@@ -10,7 +10,7 @@
  * exceed INITIAL_EXPBUFFER_SIZE (currently 256 bytes).
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.55 2001/08/17 15:40:07 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.56 2001/08/21 00:33:27 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -30,6 +30,7 @@
 
 #include "postgres_fe.h"
 
+/* XXX is there a reason these appear before the system defines? */
 #include "libpq-fe.h"
 #include "libpq-int.h"
 #include "fe-auth.h"
 #else
 #include <unistd.h>
 #include <fcntl.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/socket.h>                        /* for SCM_CREDS */
+#ifdef SCM_CREDS
+#include <sys/uio.h>                   /* for struct iovec */
+#include <sys/ucred.h>
+#endif
 #include <sys/param.h>                 /* for MAXHOSTNAMELEN on most */
 #ifndef  MAXHOSTNAMELEN
 #include <netdb.h>                             /* for MAXHOSTNAMELEN on some */
@@ -428,6 +436,53 @@ pg_krb5_sendauth(char *PQerrormsg, int sock,
 
 #endif  /* KRB5 */
 
+#ifdef SCM_CREDS
+static int
+pg_local_sendauth(char *PQerrormsg, PGconn *conn)
+{
+       char buf;
+       struct iovec iov;
+       struct msghdr msg;
+#ifndef fc_uid
+       /* Prevent padding */
+       char cmsgmem[sizeof(struct cmsghdr) + sizeof(struct cmsgcred)];
+       /* Point to start of first structure */
+    struct cmsghdr *cmsg = (struct cmsghdr *)cmsgmem;
+#endif
+
+       /*
+        * The backend doesn't care what we send here, but it wants
+        * exactly one character to force recvmsg() to block and wait
+        * for us.
+        */
+       buf = '\0';
+       iov.iov_base = &buf;
+       iov.iov_len = 1;
+
+       memset(&msg, 0, sizeof(msg));
+       msg.msg_iov = &iov;
+       msg.msg_iovlen = 1;
+
+#ifndef fc_uid
+       /* Create control header, FreeBSD */
+       msg.msg_control = cmsg;
+       msg.msg_controllen = sizeof(cmsgmem);
+       memset(cmsg, 0, sizeof(cmsgmem));
+       cmsg.hdr.cmsg_len = sizeof(cmsgmem);
+       cmsg.hdr.cmsg_level = SOL_SOCKET;
+       cmsg.hdr.cmsg_type = SCM_CREDS;
+#endif
+
+       if (sendmsg(conn->sock, &msg, 0) == -1)
+       {
+               snprintf(PQerrormsg, PQERRORMSG_LENGTH,
+                        "pg_local_sendauth: sendmsg: %s\n", strerror(errno));
+               return STATUS_ERROR;
+       }
+       return STATUS_OK;
+}
+#endif
+
 static int
 pg_password_sendauth(PGconn *conn, const char *password, AuthRequest areq)
 {
@@ -473,12 +528,13 @@ pg_password_sendauth(PGconn *conn, const char *password, AuthRequest areq)
                        crypt_pwd = crypt(password, salt);
                        break;
                }
-               default:
+               case AUTH_REQ_PASSWORD:
                        /* discard const so we can assign it */
                        crypt_pwd = (char *)password;
                        break;
+               default:
+                       return STATUS_ERROR;
        }
-
        ret = pqPacketSend(conn, crypt_pwd, strlen(crypt_pwd) + 1);
        if (areq == AUTH_REQ_MD5)
                free(crypt_pwd);
@@ -551,6 +607,18 @@ fe_sendauth(AuthRequest areq, PGconn *conn, const char *hostname,
                                return STATUS_ERROR;
                        }
                        break;
+
+               case AUTH_REQ_SCM_CREDS:
+#ifdef SCM_CREDS
+                       if (pg_local_sendauth(PQerrormsg, conn) != STATUS_OK)
+                               return STATUS_ERROR;
+#else
+                       snprintf(PQerrormsg, PQERRORMSG_LENGTH,
+                                        libpq_gettext("SCM_CRED authentication method not supported\n"));
+                       return STATUS_ERROR;
+#endif
+                       break;
+
                default:
                        snprintf(PQerrormsg, PQERRORMSG_LENGTH,
                                         libpq_gettext("authentication method %u not supported\n"), areq);
index 1e61670..54e4488 100644 (file)
@@ -726,6 +726,11 @@ CC_connect(ConnectionClass *self, char do_password)
                                                        self->errornumber = CONN_AUTH_TYPE_UNSUPPORTED;
                                                        return 0;
 
+                                               case AUTH_REQ_SCM_CREDS:
+                                                       self->errormsg = "Unix socket credential authentication not supported";
+                                                       self->errornumber = CONN_AUTH_TYPE_UNSUPPORTED;
+                                                       return 0;
+
                                                default:
                                                        self->errormsg = "Unknown authentication type";
                                                        self->errornumber = CONN_AUTH_TYPE_UNSUPPORTED;
index 67fb38d..11379e4 100644 (file)
@@ -94,6 +94,7 @@ typedef enum
 #define AUTH_REQ_PASSWORD                                                      3
 #define AUTH_REQ_CRYPT                                                         4
 #define AUTH_REQ_MD5                                                           5
+#define AUTH_REQ_SCM_CREDS                                                     6
 
 /*     Startup Packet sizes */
 #define SM_DATABASE                                                                    64