From 707cf12f1bd95b204c79a732db195782981959d2 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 6 Apr 2002 03:39:50 +0000 Subject: [PATCH] Update Japanese FAQ. Jun Kuwamura --- doc/FAQ_japanese | 398 +++++++++++++----------- doc/src/FAQ/FAQ_japanese.html | 552 ++++++++++++++++++++-------------- 2 files changed, 556 insertions(+), 394 deletions(-) diff --git a/doc/FAQ_japanese b/doc/FAQ_japanese index 34c84dc713..12fb7cbdd0 100644 --- a/doc/FAQ_japanese +++ b/doc/FAQ_japanese @@ -1,13 +1,14 @@ PostgreSQL(¥Ý¥¹¥È¥°¥ì¥¹¡¦¥­¥å¡¼¡¦¥¨¥ë)¤Ë¤Ä¤¤¤Æ¤è¤¯¤¢¤ë¼ÁÌä¤È¤½¤Î²òÅú(FAQ) -¸¶Ê¸ºÇ½ª¹¹¿·Æü: Sat Sep 22 20:07:41 EDT 2001 +¸¶Ê¸ºÇ½ª¹¹¿·Æü: Mon Mar 18 14:34:57 EST 2002 ¸½ºß¤Î°Ý»ý´ÉÍý¼Ô: Bruce Momjian (pgman@candle.pha.pa.us) +Maintainer of Japanese Translation: Jun Kuwamura (juk@postgresql.jp) ¤³¤Îʸ½ñ¤ÎºÇ¿·ÈÇ¤Ï http://www.PostgreSQL.org/docs/faq-english.html ¤Ç¸«¤ë¤³¤È¤¬ ¤Ç¤­¤Þ¤¹¡£ -¥×¥é¥Ã¥È¥Û¡¼¥à¤ËÆÃÍ­¤Î¼ÁÌä¤Ë¤Ä¤¤¤Æ¤Ï:http://www.PostgreSQL.org/users-lounge/ +¥×¥é¥Ã¥È¥Û¡¼¥à¤ËÆÃÍ­¤Î¼ÁÌä¤Ë¤Ä¤¤¤Æ¤Ï: http://www.PostgreSQL.org/users-lounge/ docs/faq.html ¤Ë²óÅú¤¬¤¢¤ê¤Þ¤¹¡£ @@ -28,7 +29,7 @@ docs/faq.html ¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬ °ìÈÌŪ¤Ê¼ÁÌä -1.1) PostgreSQL¤È¤Ï²¿¤Ç¤¹¤«¡© +1.1) PostgreSQL¤È¤Ï²¿¤Ç¤¹¤«¡©²¿¤ÈÆɤߤޤ¹¤«¡© 1.2) PostgreSQL¤ÎÃøºî¸¢¤Ï¤É¤¦¤Ê¤Ã¤Æ¤Þ¤¹¤«¡© 1.3) PostgreSQL¤ÎÆ°ºî¤¹¤ëUnix¥×¥é¥Ã¥È¥Û¡¼¥à¤Ï¡© 1.4) Unix°Ê³°¤Î°Ü¿¢ÈǤǻȤ¨¤ë¤â¤Î¤Ï¡© @@ -42,13 +43,14 @@ docs/faq.html 1.12) ³«È¯¥Á¡¼¥à¤Ë¤Ï¤É¤Î¤è¤¦¤Ë»²²Ã¤·¤Þ¤¹¤«¡© 1.13) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡© 1.14) ¾¤ÎDBMS¤Î¤ÈÈæ¤Ù¤ÆPostgreSQL¤Ï¤É¤¦¤Ê¤Î¤Ç¤¹¤«¡© +1.15) PostgreSQL¤ò»ñ¶âÌ̤DZç½õ¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤«¡© ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÁÌä 2.1) PostgreSQL ¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤Ï¤¢¤ê¤Þ¤¹¤«¡© 2.2) PostgreSQL ¤ò Web ¥Ú¡¼¥¸¤ÈÏ¢·È¤µ¤»¤ë¤Ë¤Ï¤É¤ó¤Ê¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¤«¡© 2.3) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡©¥ì¥Ý¡¼¥È¥¸ -¥§¥Í¥ì¡¼¥¿¤Ï¡©Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡© +¥§¥Í¥ì¡¼¥¿¤äËä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡© 2.4) PostgreSQL ¤ÈÄÌ¿®¤¹¤ë¤Ë¤Ï¤É¤ó¤Ê¸À¸ì¤¬»È¤¨¤Þ¤¹¤«¡© ´ÉÍý¾å¤Î¼ÁÌä @@ -60,55 +62,54 @@ docs/faq.html ¤«¡© 3.4) postmaster¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢ IpcSemaphoreCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç ¤¹¤«¡© -3.5) ¾¤Î¥Û¥¹¥È¤«¤é¼«Ê¬¤ÎPostgreSQL¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤òËɤ°¤Ë¤Ï¤É¤¦¤·¤Þ¤¹ -¤«¡© -3.6) ¤Ê¤¼¡¢Â¾¤Î¥Þ¥·¥ó¤«¤é¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤Ç¤­¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«¡© -3.7) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì¤ÐÎÉ +3.5) ¾¤Î¥Û¥¹¥È¤«¤é¤ÎÀܳ¤Ï¤É¤Î¤è¤¦¤ËÀ©¸æ¤·¤Þ¤¹¤«¡© +3.6) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì¤ÐÎÉ ¤¤¤Ç¤¹¤«¡© -3.8) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡© -3.9) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡© -3.10) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX ¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹¤« +3.7) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡© +3.8) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© +3.9) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX ¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹¤« ¡© Áàºî¾å¤Î¼ÁÌä -4.1) ¤Ê¤¼¡¢¥·¥¹¥Æ¥à¤Ï¥«¥ó¥Þ¤ä¾®¿ôÅÀ¤äÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Çº®Í𤹤ë¤Î¤Ç¤¹¤«¡© -4.2) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡© -4.3) ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò select ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© -4.4) ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò psql ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© -4.5) ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡© -4.6) ¹Ô¡¢¥Æ¡¼¥Ö¥ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º¤Ï¡© -4.7) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯ÍÆ +4.1) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡© +4.2) ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò select ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +4.3) ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò psql ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +4.4) ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡© +4.5) ¹Ô¡¢¥Æ¡¼¥Ö¥ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º¤Ï¡© +4.6) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯ÍÆ Î̤ϤɤΤ¯¤é¤¤É¬ÍפǤ¹¤«¡© -4.8) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±½Ð¤· +4.7) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±½Ð¤· ¤Þ¤¹¤«¡© -4.9) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤« +4.8) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤« ¡© -4.10) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤«¤ò¸«¤ë¤Ë¤Ï¤É¤¦ -¤·¤Þ¤¹¤«¡© -4.11) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡© -4.12) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡© -4.13) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â +4.9) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤«¤ò¸«¤ë¤Ë¤Ï¤É¤¦¤· +¤Þ¤¹¤«¡© +4.10) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡© +4.11) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡© +4.12) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â ¸½¤·¤Þ¤¹¤«¡©Âçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤¸¡º÷¤Î¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¤É¤Î¤è¤¦¤Ë»È ¤¤¤Þ¤¹¤«¡© -4.14) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤« +4.13) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤« ¡© -4.15) ¿§¡¹¤Êʸ»ú·¿¤Î¤½¤ì¤¾¤ì¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡© -4.16.1) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡© -4.16.2) SERIAL¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡© -4.16.3) ¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È¤ï¤Ê +4.14) ¿§¡¹¤Êʸ»ú·¿¤Î¤½¤ì¤¾¤ì¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡© +4.15.1) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡© +4.15.2) SERIAL¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡© +4.15.3) ¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È¤ï¤Ê ¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡© -4.17) OID ¤È¤Ï²¿¤Ç¤¹¤«¡© TID ¤È¤Ï²¿¤Ç¤¹¤«¡© -4.18) PostgreSQL ¤Ç»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤ÎÍѸì¤Î°ÕÌ£¤Ï²¿¤Ç¤¹¤«¡© -4.19) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î¤Ï¤Ê +4.15.4) ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬ÃæÃǤ·¤¿¤È¤­¤Ë¤â¤¦¤¤¤Á¤É¥·¡¼¥±¥ó¥¹Èֹ椬»È¤ï¤ì¤Ê¤¤¤Î +¤Ï¤Ê¤¼¤Ç¤¹¤«¡©¥·¡¼¥±¥ó¥¹¡¿SERIAL¥«¥é¥à¤Ë¶õ¤­¤¬¤¢¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© +4.16) OID ¤È¤Ï²¿¤Ç¤¹¤«¡© TID ¤È¤Ï²¿¤Ç¤¹¤«¡© +4.17) PostgreSQL ¤Ç»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤ÎÍѸì¤Î°ÕÌ£¤Ï²¿¤Ç¤¹¤«¡© +4.18) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î¤Ï¤Ê ¤¼¤Ç¤¹¤«¡© -4.20) ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤òÁö¤é¤»¤Æ¤¤¤ë¤Î¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© -4.21) ¥é¡¼¥¸¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Ç¡¢invalid large obj descriptor¤È½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç +4.19) ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤òÁö¤é¤»¤Æ¤¤¤ë¤Î¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +4.20) ¥é¡¼¥¸¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Ç¡¢invalid large obj descriptor¤È½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç ¤¹¤«¡© -4.22) ¸½ºß¤Î»þ¹ï¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¤è¤¦¤ÊÎó¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡© -4.23) ¤Ê¤¼¡¢IN¤ò»È¤¦ÉûÌ䤤¹ç¤ï¤»¤¬¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¤¹¤«¡© -4.24) ³°Éô·ë¹ç(outer join)¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«? -4.25) Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»È¤¦Ì䤤¹ç¤ï¤»¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤Ç¤­¤Þ¤¹¤«¡© +4.21) ¸½ºß¤Î»þ¹ï¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¤è¤¦¤ÊÎó¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡© +4.22) ¤Ê¤¼¡¢IN¤ò»È¤¦ÉûÌ䤤¹ç¤ï¤»¤¬¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¤¹¤«¡© +4.23) ³°Éô·ë¹ç(outer join)¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«? +4.24) Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»È¤¦Ì䤤¹ç¤ï¤»¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤Ç¤­¤Þ¤¹¤«¡© PostgreSQL¤Î³ÈÄ¥¤Ë¤Ä¤¤¤Æ¤Î¼ÁÌä @@ -125,6 +126,8 @@ docs/faq.html 1.1) PostgreSQL ¤È¤Ï²¿¤Ç¤¹¤«¡© +Post-Gres-Q-L.(¥Ý¥¹¥È - ¥°¥ì¥¹ - ¥­¥å¡¼ - ¥¨¥ë) ¤Èȯ²»¤·¤Þ¤¹¡£ + PostgreSQL ¤Ï¼¡À¤Âå DBMS ¸¦µæÍѤΥץí¥È¥¿¥¤¥×¤Ç¤¢¤Ã¤¿ POSTGRES ¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý ¥·¥¹¥Æ¥à¤Î²þÎÉÈǤǤ¹¡£PostgreSQL ¤Ï POSTGRES ¤Î¶¯ÎϤʥǡ¼¥¿¡¦¥â¥Ç¥ë¤ÈË­É٤ʥǡ¼ ¥¿¡¦¥¿¥¤¥×(·¿)¤òÊÝ»ý¤·¤Ê¤¬¤é¡¢POSTGRES ¤Ç»È¤ï¤ì¤¿ PostQuel Ì䤤¹ç¤ï¤»¸À¸ì¤ò¡¢³È @@ -144,8 +147,7 @@ PostgreSQL ¥Ð¡¼¥¯¥ì¥¤¤Ë¤ª¤±¤ë¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î¤â¤È¤Î̾Á°¤Ï Postgres ¤Ç¤·¤¿¤¬¡¢SQL ¤Îµ¡Ç½ ¤¬Äɲ䵤줿 1995 ǯ¤Ë¤½¤Î̾Á°¤Ï Postgres95 ¤ËÊѹ¹¤µ¤ì¡¢1996 ǯ¤Î½ª¤ê¤Ë¤½¤Î̾Á° -¤Ï PostgreSQL ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£ Post-Gres-Q-L.(¥Ý¥¹¥È - ¥°¥ì¥¹ - ¥­¥å¡¼ - ¥¨ -¥ë) ¤Èȯ²»¤·¤Þ¤¹¡£ +¤Ï PostgreSQL ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£ 1.2) PostgreSQL ¤ÎÃøºî¸¢¤Ï¤É¤¦¤Ê¤Ã¤Æ¤Þ¤¹¤«¡© @@ -157,7 +159,7 @@ PostgreSQL PostgreSQL Data Base Management System -Portions Copyright (c) 1996-2000, PostgreSQL Global Development Group Portions +Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group Portions Copyright (c) 1994-6 Regents of the University of California Permission to use, copy, modify, and distribute this software and its @@ -179,7 +181,7 @@ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. POSTGRESQL ¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥·¥¹¥Æ¥à - ÉôʬŪÃøºî¸¢ (c) 1996-2001, PostgreSQL¹ñºÝ³«È¯¥Á¡¼¥à + ÉôʬŪÃøºî¸¢ (c) 1996-2002, PostgreSQL¹ñºÝ³«È¯¥Á¡¼¥à ÉôʬŪÃøºî¸¢ (c) 1994-6 ¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³ØËܹ» @@ -205,6 +207,10 @@ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. ] +¾åµ­¤ÏBSD¥é¥¤¥»¥ó¥¹¤Ç¸Å¤­¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î¥é¥¤¥»¥ó¥¹¤Ç¤¹¡£¥½¡¼¥¹¥³¡¼¥É¤¬¤É¤Î¤è¤¦ +¤Ë»È¤ï¤ì¤è¤¦¤È¤âÀ©¸Â¤·¤Þ¤»¤ó¡£¹¥¤Þ¤·¤¤¤³¤È¤Ê¤Î¤Ç¡¢²æ¡¹¤â¤½¤ì¤òÊѤ¨¤ë¤Ä¤â¤ê¤Ï¤¢ +¤ê¤Þ¤»¤ó¡£ + 1.3) PostgreSQL ¤ÎÆ°ºî´Ä¶­¤Ï¡© Ãø¼Ô¤é¤Ï PostgreSQL ¤Î¥³¥ó¥Ñ¥¤¥ë¤È¥Æ¥¹¥È¤ò¼¡¤Î¥×¥é¥Ã¥È¥Û¡¼¥à¾å¤Ç¹Ô¤Ê¤¤¤Þ¤·¤¿¡£ @@ -308,13 +314,14 @@ PostgreSQL http://www.PostgreSQL.org -EFNet ¤Ë #PostgreSQL ¤È¤¤¤¦ IRC ¥Á¥ã¥ó¥Í¥ë¤â¤¢¤ê¤Þ¤¹¡£ unix ¥³¥Þ¥ó¥É¤Çirc -c '# -PostgreSQL' "$USER" irc.phoenix.net/ ¤ò»È¤¤¤Þ¤¹¡£ +EFNet ¤Ë #PostgreSQL ¤È¤¤¤¦ IRC ¥Á¥ã¥ó¥Í¥ë¤â¤¢¤ê¤Þ¤¹¡£ UNIX ¥³¥Þ¥ó¥É¤Çirc -c '# +PostgreSQL' "$USER" irc.phoenix.net ¤ò»È¤¤¤Þ¤¹¡£ [ÌõÃí: 1999ǯ7·î23Æü¡¢ÆüËÜPostgreSQL¥æ¡¼¥¶¡¼²ñ(¤Ë¤Û¤ó ¤Ý¤¹¤È¤°¤ì¤¹ ¤æ¡¼¤¶¡¼ ¤«¤¤)¡¢Î¬¾ÎJPUG¤¬ÀßΩ¤µ¤ì¤Þ¤·¤¿¡£ JPUG ¤ÏÈó±ÄÍøÁÈ¿¥¤Ç¡¢PostgreSQL¤òÍøÍѤ¹¤ë¿Íã¤ÎÁê¸ß¶¨ÎϤξì¤Ç¤¹¡£ - Àµ²ñ°÷¤Î²ñÈñ¤Ï̵ÎÁ¤Ç¤¹¤¬¡¢²ñ°÷¤ÎÀѶËŪ¤Ê¹×¸¥¤¬²ñ¤Î±¿±Ä¤ò½õ¤±¤Æ¤¤¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¡¢JPUG¤ÎWeb ¥µ¥¤¥È: + Àµ²ñ°÷¤Î²ñÈñ¤Ï̵ÎÁ¤Ç¤¹¤¬¡¢¶¨»¿²ñ°÷¤Î²ñÈñ¤È²ñ°÷¤ÎÀѶËŪ¤Ê¹×¸¥¤¬²ñ¤Î±¿±Ä¤ò½õ¤±¤Æ¤¤¤Þ¤¹¡£ + ¾Ü¤·¤¯¤Ï¡¢JPUG ¤ÎWeb ¥µ¥¤¥È: http://www.postgresql.jp/ ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£²ñ°÷ÅÐÏ¿¤â²Äǽ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ 1990ǯÂåÃ椴¤í¤è¤ê¡¢¥Ý¥¹¥È¥°¥ì¥¹¤ÎÆüËܸì¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤òÀаæ ãÉפµ¤ó¤¬¼çºÅ¤·¤Æ¤¤¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢ @@ -336,7 +343,7 @@ commercial-support.html 1.7) ºÇ¿·ÈǤϤɤì¤Ç¤¹¤« -PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 7.2 ¤Ç¤¹¡£ +PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 7.2.1 ¤Ç¤¹¡£ ²æ¡¹¤Ï¡¢4¥«·îËè¤Ë¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¹Ô¤Ê¤¦¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£ @@ -346,14 +353,22 @@ PostgreSQL ¤è¤Ó¤¤¤¯¤Ä¤«¤Î¾®¤µ¤Ê¥Æ¥¹¥ÈÎãÂ꤬´Þ¤Þ¤ì¤Þ¤¹¡£/doc ¥Ç¥£¥ì¥¯¥È¥ê¤ò¤´Í÷²¼¤µ¤¤¡£¤Þ¤¿ ¡¢¥Þ¥Ë¥å¥¢¥ë¤Ï¡¢ http://www.PostgreSQL.org/users-lounge/docs/ ¤Ç¥ª¥ó¥é¥¤¥ó¤Ç¤â ±ÜÍ÷¤Ç¤­¤Þ¤¹¡£ + [ÌõÃí: + ¡Ê³ô¡ËSRA¤ÈÆüËܥݥ¹¥È¥°¥ì¥¹¥æ¡¼¥¶¡¼²ñ¤ÇËÝÌõ¤µ¤ì¡¢ + ¡ÖPostgreSQL ¥ª¥Õ¥£¥·¥ã¥ë¥Þ¥Ë¥å¥¢¥ë¡× + ¤È¤·¤Æ½ÐÈǤµ¤ì¤Æ¤¤¤Þ¤¹¡£ + ] -PostgreSQL ¤ÎËܤ⤢¤ê¤Þ¤¹¡£ http://www.PostgreSQL.org/docs/awbook.html +¥ª¥ó¥é¥¤¥ó¤Ç»²¾È¤Ç¤­¤ë PostgreSQL ¤ÎËܤâ2ºý¤¢¤ê¤Þ¤¹¡£http://www.PostgreSQL.org/ +docs/awbook.html [ÌõÃí: - ÆüËܥݥ¹¥È¥°¥ì¥¹¥æ¡¼¥¶¡¼²ñ¤ÎPostgreSQL BookËÝÌõʬ²Ê²ñ¤Ç¡¢ - ËÝÌõºî¶È¤¬¿Ê¹ÔÃæ¡£ + ÆüËܥݥ¹¥È¥°¥ì¥¹¥æ¡¼¥¶¡¼²ñ¤Î ¡ÖPostgreSQL BookËÝÌõʬ²Ê²ñ¡× + ¤Ë¤ÆËÝÌõ¤µ¤ì¤Þ¤·¤¿¡£ ] - +¤ª¤è¤Ó¡¢ http://www.commandprompt.com/ppbook/ ¤Ç¤¹¡£¹ØÆþ²Äǽ¤Ê½ñÀÒ¤ÎÌÜÏ¿¤Ï¡¢ +http://www.postgresql.org/books/ ¤Ë¤¢¤ê¤Þ¤¹¡£ PostgreSQL µ»½Ñ¾ðÊóµ­»ö¤â¡¢http:/ +/techdocs.postgresql.org/ ¤Ë¤¢¤ê¤Þ¤¹¡£ psql ¤â¡¢·¿¡¢±é»»»Ò¡¢´Ø¿ô¡¢½¸Ì󡢤½¤Î¾¤Î¾ðÊó¤ò¤ª¸«¤»¤¹¤ë¡¢¤¤¤¯¤Ä¤«¤ÎÁÇÀ²¤é¤·¤¤ \d ¥³¥Þ¥ó¥É¤ò»ý¤Á¤Þ¤¹¡£ @@ -369,12 +384,19 @@ PostgreSQL http://www.PostgreSQL.org/docs/awbook.html ¤Ë¤¢¤ëPostgreSQLËÜ¤Ç SQL ¤ò¶µ¤¨¤Æ¤¤ ¤Þ¤¹¡£ + [ÌõÃí: + ÆüËܥݥ¹¥È¥°¥ì¥¹¥æ¡¼¥¶¡¼²ñ¤Î ¡ÖPostgreSQL BookËÝÌõʬ²Ê²ñ¡× + ¤Ë¤ÆËÝÌõ¤µ¤ì½ÐÈǤµ¤ì¤Æ¤¤¤Þ¤¹¡£ + ] + -ÁÇÀ²¤é¤·¤¤³Ø½¬½ñ¤Ë¤Ï¡¢ http://w3.one.net/~jhoffman/sqltut.htm ¤È http:// -ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM. +¤½¤Î¾¤Ë¤â PostgreSQLËܤȤ·¤Æ¡¢http://www.commandprompt.com/ppbook ¤¬¤¢¤ê¤Þ¤¹¡£ +ÁÇÀ²¤é¤·¤¤¼ê°ú½ñ¤Ï¡¢http://www.intermedia.net/support/sql/sqltut.shtm, http:// +ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM, ¤½¤·¤Æ¡¢http:// +sqlcourse.com ¤Ë¤¢¤ê¤Þ¤¹¡£ -¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¾¤Ë¡¢ "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., @@ -392,7 +414,7 @@ McGraw-Hill ¤Ç¤Ï¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Î¸¡º÷¤¬¤Ç¤­¤Þ¤¹¡£ ´Ý»³ÉÔÆóÉ×»á¤ÎUNIX ¥Ç¡¼¥¿¥Ù¡¼¥¹ÆþÌç http://www.wakhok.ac.jp/DB/DB.html - ¤Ï¥ª¥ó¥é¥¤¥ó¤ÇÆɤळ¤È¤¬¤Ç¤­¤Þ¤¹¡£ + ¤â¥ª¥ó¥é¥¤¥ó¤ÇÆɤळ¤È¤¬¤Ç¤­¤Þ¤¹¡£ ] 1.11) PostgreSQL¤ÏÀ¾Îñ2000ǯÌäÂê(Y2K)¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¤«¡© @@ -412,8 +434,8 @@ pgsql-patches 1.13) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡© -"bug-template" ¥Õ¥¡¥¤¥ë¤Î¹àÌܤòËþ¤¿¤·¤Æ¡¢pgsql-bugs@PostgreSQL.org¤ËÁ÷¤Ã¤Æ²¼¤µ -¤¤¡£ +¥Ð¥°¤òÊó¹ð¤¹¤ë»ÅÊý¤Ë¤Ä¤¤¤Æ¤Î¥¬¥¤¥É¥é¥¤¥ó¤ÈÊý¸þ¤Å¤±¤¬¤¢¤ëPostgreSQL BugTool (¥Ð +¥°¥Ä¡¼¥ë)¤Î¥Ú¡¼¥¸¤òˬ¤ì¤Æ¤ß¤Æ²¼¤µ¤¤¡£ ¤½¤ÎÁ°¤Ë http://postgreSQL.org¤Ë¤¢¤ëºÇ¿·¤Î FAQ ¤ò¥Á¥§¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£ @@ -426,13 +448,11 @@ pgsql-patches ¤Ç¤¹¡£ µ¡Ç½(Features) - PostgreSQL¤Ï¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¢ÉûÌ䤤¹ç¤ï¤»¤ä¥È¥ê¥¬¡¼¤ä¥Ó¥å¡¼¤ä³°Éô¥­¡¼»² - ¾È¤ä¡¢¤½¤·¤Æ¡¢ÀöÎý¤µ¤ì¤¿¥í¥Ã¥¯µ¡¹½¤Ê¤É¡¢Â絬ÌϾ¦ÍÑDBMS¤¬»ý¤Äµ¡Ç½¤ò¤Û¤È¤ó¤É - »ý¤Ã¤Æ¤¤¤Þ¤¹¡£PostgreSQL¤Ï¡¢¤µ¤é¤Ë¡¢¥æ¡¼¥¶ÄêµÁ·¿¤ä·Ñ¾µ¤ä¥Þ¥ë¥Á- ¥Ð¡¼¥¸¥ç¥ó - ¡¦¥³¥ó¥Æ¥ó¥·¥ç¥ó¤Ê¤É¡¢¾¦ÍÑDBMS¤¬»ý¤Á¹ç¤ï¤»¤Ê¤¤µ¡Ç½¤ò¤¤¤¯¤Ä¤«»ý¤Á¹ç¤ï¤»¤Æ¤¤ - ¤Þ¤¹¡£³°Éô¥­¡¼¤Î»²¾ÈÀ°¹çÀ­(foreign key referential integrity)¤ä¥í¥Ã¥¯¡¦¥³¥ó - ¥Æ¥ó¥·¥ç¥ó¤ò¸º¤é¤¹¤¿¤á¤Î³°Éô¶¥¹ç¾õÂÖÀ©¸æ (outer concurrency control)¤Ï»ý¤Á - ¹ç¤ï¤»¤Þ¤»¤ó¡£ + PostgreSQL¤Ï¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¢ÉûÌ䤤¹ç¤ï¤»¡¢¥È¥ê¥¬¡¼¡¢¥Ó¥å¡¼¡¢³°Éô¥­¡¼À° + ¹çÀ­»²¾È¡¢¤ª¤è¤Ó¡¢ÀöÎý¤µ¤ì¤¿¥í¥Ã¥¯µ¡¹½¤Ê¤É¡¢Â絬ÌϾ¦ÍÑ DBMS¤¬»ý¤Äµ¡Ç½¤ò¤Û¤È + ¤ó¤É»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë PostgreSQL¤Ï¡¢¥æ¡¼¥¶ÄêµÁ·¿¡¢·Ñ¾µ¡¢¥ë¡¼¥ë¡¢¤½¤ì¤«¤é + ¡¢¥í¥Ã¥¯¶¥¹ç¤ò½Ì¾®¤¹¤ë¥Þ¥ë¥Á¥Ð¡¼¥¸¥ç¥óƱ»þÀ­À©¸æ¤Ê¤É¡¢¾¦ÍÑDBMS¤â»ý¤Á¹ç¤ï¤» + ¤Ê¤¤¤è¤¦¤Êµ¡Ç½¤ò¤¤¤¯¤Ä¤«»ý¤Á¹ç¤ï¤»¤Æ¤¤¤Þ¤¹¡£ À­Ç½(Performance) @@ -482,7 +502,26 @@ pgsql-patches ¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +1.15) PostgreSQL¤ò»ñ¶âÌ̤DZç½õ¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤«¡© + +PostgreSQL¤Ï¡¢²æ¡¹¤¬6ǯÁ°¤Ë»Ï¤á¤¿¤È¤­°ÊÍè¡¢ºÇ¹â¥¯¥é¥¹¤Î´ðÈפò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤ì +¤Ï¤¹¤Ù¤Æ¡¢Marc Fournie¤µ¤ó¤Î¤ª¤«¤²¤Ç¡¢Èà¤Ï¤³¤Î´ðÈפò²¿Ç¯¤Ë¤â¤ï¤¿¤Ã¤ÆÁϤ¤·´ÉÍý +¤·¤Æ¤­¤Þ¤·¤¿¡£ + +¼Á¤ÎÎɤ¤´ðÈפϥª¡¼¥×¥ó¥½¡¼¥¹¡¦¥×¥í¥¸¥§¥¯¥È¤Ë¤È¤Ã¤Æ¤Ï¤È¤Æ¤âÂçÀڤʤâ¤Î¤Ç¡¢Á°¿Ê¤¹ +¤ëÀª¤¤¤ò¼º¤¦¥×¥í¥¸¥§¥¯¥È¤ÎʬÎö¤ò²óÈò¤·¤Þ¤¹¡£ + +¤â¤Á¤í¤ó¡¢¤³¤Î´ðÈפϰ¤¤¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£°Ý»ý¤·Â³¤±¤ë¤¿¤á¤Ë¤ÏËè·î¤¢¤ë¤¤¤Ï°ì +»þ¤Î·ÐÈñ¤¬¤«¤«¤ê¤Þ¤¹¡£¤â¤·¡¢¤¢¤Ê¤¿¤ä¤¢¤Ê¤¿¤Î²ñ¼Ò¤Ë¡¢¤³¤¦¤·¤¿ÅØÎϤΤ¿¤á¤Î»ñ¶â¤ò +½õ¤±¤ë¤¿¤á¤Ë»Ü¤¹¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ç¤·¤¿¤é¡¢http://www.pgsql.com/pg_goodies ¤«¤é +´óÉÕ¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£ + +¤Þ¤¿¡¢Web¥Ú¡¼¥¸¤Ë¤Ï PostgreSQL,Inc ¤È¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤³¤Î"µÁ±ç (contributions)"¥¢ +¥¤¥Æ¥à¤Ï PostgreSQL ¥×¥í¥¸¥§¥¯¥È¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤À¤±¤Î¤¿¤á¤Ç¡¢·è¤·¤ÆÆÃÄê¤Î²ñ +¼Ò¤Î¤¿¤á¤Î»ñ¶â¤Î¤¿¤á¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤â¤·¡¢¼ê·Á (check)¤ÎÊý¤¬ÅԹ礬¤è¤±¤ì¤ÐÏ¢Íí +Àè¤Î½»½ê¤Ø¤ªÁ÷¤ê²¼¤µ¤¤¡£ ¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬ + ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÁÌä 2.1) PostgreSQL ¤Î¤¿¤á¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤Ï¤¢¤ê¤Þ¤¹¤«¡© @@ -503,13 +542,14 @@ OpenLink ODBC 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 ¥Ú¡¼¥¸¤ÈÏ¢·È¤µ¤»¤ë¤Ë¤Ï¤É¤ó¤Ê¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¤«¡© ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò΢¤Ë»ý¤Ä Web ¥Ú¡¼¥¸¤Ë¤Ä¤¤¤Æ¤ÎÁÇÀ²¤é¤·¤¤¾Ò²ð¤¬¡¢ -http://www.webtools.com ¤Ë¤¢¤ê¤Þ¤¹¡£ +http://www.webreview.com¤Ë¤¢¤ê¤Þ¤¹¡£ http://www.phone.net/home/mwm/hotlist/¤Ë¤â¡¢¤â¤¦°ì¤Ä¤¢¤ê¤Þ¤¹¡£ @@ -519,7 +559,7 @@ www.php.net/ PHP¤Ë´Ø¤¹¤ëÆüËܸì¤Î¾ðÊó¤Ï¡¢2000ǯ4·î19Æü¤Ëȯ­¤·¤¿ÆüËÜPHP¥æ¡¼¥¶²ñ¤Î¥µ¥¤¥È http://www.php.gr.jp/ ¤¢¤ë¤¤¤Ï¡¢×¢Àî Îव¤ó¤Î¥µ¥¤¥È - http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html + http://www.geocities.jp/rui_hirokawa/php/ ¤Ë¤«¤Ê¤ê¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£ Á°ÅÄ ½¼¹¨¤µ¤ó¤Ë¤è¤êºî¤é¤ì¤¿PHP/FI¤ÎÆüËܸì¥Ñ¥Ã¥Á¤¬ÍÍ¡¹¤Ê¿Í¤Î¼ê¤ò·Ð¤ÆPHP3.0.7¤ËŬÍѤµ¤ì¤Þ¤·¤¿¡£ ¸½ºß¤ÏPHPJ-DEV¤Ë¤Æ¡¢ @@ -544,8 +584,8 @@ www.php.net/ ] -2.3) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡©¥ì¥Ý¡¼¥È¡¦ -¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡©Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡© +2.3) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡©¥ì¥Ý¡¼¥È¥¸ +¥§¥Í¥ì¡¼¥¿¤äËä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡© pgaccess ¤È¸Æ¤Ð¤ì¤ëÁÇÀ²¤é¤·¤¤¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¤¢¤ê¡¢¤³¤Î ÇÛÉۤȶ¦¤Ë½Ð²Ù¤µ¤ì¤Þ¤¹¡£Pgaccess ¤Ë¤Ï¥ì¥Ý¡¼¥È¡¦¥¸¥§¥Í¥ì¡¼¥¿¤â¤¢¤ê¤Þ¤¹¡£Web ¥Ú¡¼ @@ -617,12 +657,14 @@ Postgres À©¸Â¤ò¤¹¤ë¤³¤È¤Ç¤¹¡£´ûÄêÃͤÎ32¤è¤ê¾®¤µ¤Ê¿ô¤Î¥Ñ¥é¥á¡¼¥¿¤ò-N¤Ç»È¤¤¤Þ¤¹¡£¤è¤ê¹±µ× Ū¤Ê²ò·èºö¤Ï¡¢¥«¡¼¥Í¥ë¤ÎSEMMNS ¤È SEMMNI ¥Ñ¥é¥á¡¼¥¿¤òÁý¤ä¤¹¤³¤È¤Ç¤¹¡£ +ÁàºîÉÔǽ¤Î¥»¥Þ¥Õ¥©¤â²áÅ٤ʥǡ¼¥¿¥Ù¡¼¥¹¥¢¥¯¥»¥¹¤Î´Ö¤Ë¥¯¥é¥Ã¥·¥å¤òµ¯¤³¤¹²ÄǽÀ­¤¬ +¤¢¤ê¤Þ¤¹¡£ + ¤â¤·¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬¤Ê¤Ë¤«Â¾¤Î¤â¤Î¤Ç¤¢¤ì¤Ð¡¢¥«¡¼¥Í¥ë¤Î¹½À®¤Ç¤Þ¤Ã¤¿¤¯¥»¥Þ¥Õ ¥©¤Î¥µ¥Ý¡¼¥È¤ò¤·¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ PostgreSQL Administrator's Gide ¤Ë¶¦Í­ ¥á¥â¥ê¡¼¤È¥»¥Þ¥Õ¥©¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Î¾ÜºÙ¤¬¤¢¤ê¤Þ¤¹¡£ -3.5) ¾¤Î¥Û¥¹¥È¤«¤é¼«Ê¬¤Î PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤òËɤ°¤Ë¤Ï¤É¤¦¤·¤Þ -¤¹¤«¡© +3.5) ¾¤Î¥Û¥¹¥È¤«¤é¤ÎÀܳ¤Ï¤É¤Î¤è¤¦¤ËÀ©¸æ¤·¤Þ¤¹¤«¡© ´ûÄêÃͤǤϡ¢PostgreSQL ¤Ï unix ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò»È¤¦¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤é¤ÎÀܳ¤· ¤«µö¤·¤Þ¤»¤ó¡£postmaster µ¯Æ°¤Ë -i ¥Õ¥é¥Ã¥°¤ò²Ã¤¨¡¢$PGDATA/pg_hba.conf ¥Õ¥¡¥¤¥ë @@ -632,14 +674,7 @@ Postgres ÁàºîÉÔǽ¤Ê¥»¥Þ¥Õ¥©¤â²áÅ٤Υǡ¼¥¿¥Ù¡¼¥¹¥¢¥¯¥»¥¹Ãæ¤Ë¥¯¥é¥Ã¥·¥å¤ò°ú¤­µ¯¤³¤¹¤³¤È¤¬ ¤¢¤ê¤Þ¤¹¡£ -3.6) ¾¤Î¥Þ¥·¥ó¤«¤é¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤Ç¤­¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© - -´ûÄê¤ÎÀßÄê¤Ç¤Ï¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤é¤Î unix ¥É¥á¥¤¥ó¤Î¥½¥±¥Ã¥ÈÀܳ¤·¤«µö¤·¤Þ¤»¤ó¡£ -TCP/IP Àܳ¤ò²Äǽ¤Ë¤¹¤ë¤Ë¤Ï postmaster ¤¬ -i ¥ª¥×¥·¥ç¥ó¤Ç³«»Ï¤µ¤ì¤Æ¤¤¤Æ¡¢pgsql/ -data/pg_hba.conf ¥Õ¥¡¥¤¥ë¤ËŬÀڤʥۥ¹¥È¤Îµ­ºÜ¤¬Äɲ䵤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À -¤µ¤¤¡£ - -3.7) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì¤ÐÎÉ +3.6) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì¤ÐÎÉ ¤¤¤Ç¤¹¤«¡© ³Î¤«¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÏÌ䤤¹ç¤ï¤»¤Î®ÅÙ¤òÁý¤·¤Þ¤¹¡£EXPLAIN¥³¥Þ¥ó¥É¤Ç PostgreSQL ¤¬ @@ -672,7 +707,7 @@ postmaster -B ¥°¥ë¡¼¥×²½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç CLUSTER ¤ò¸«¤Æ²¼ ¤µ¤¤¡£ -3.8) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡© +3.7) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡© PostgreSQL ¤Ï¡¢¥Ç¥Ð¥°¤Î¤¿¤á¤Ë°ÕÌ£¤Î¤¢¤ë¡¢¾õÂÖ¾ðÊó¤òÊó¹ð¤¹¤ë¤¤¤¯¤Ä¤«¤Îµ¡Ç½¤ò»ý¤Á ¤Þ¤¹¡£ @@ -701,12 +736,13 @@ Postmaster ¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢ÆÈΩ¤Ê´Ä¶­¤ÇÁö¤Ã¤Æ¤¤¤ë¤Î¤Ç¤Ï¤Ê¤¯¥í¥Ã¥¯¡¿¥Ð¥Ã¥¯¥¨¥ó¥É¤È¤ÎÂÐÏà ¤ÎÌäÂ꤬½ÅÊ£¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -¤â¤·¡¢postmaster¤¬Áö¤Ã¤Æ¤¤¤ì¤Ð¡¢¤¢¤ë¥¦¥£¥ó¥É¥¦¤Çpsql¤ò³«»Ï¤¹¤ë¤È¡¢psql ¤Ç»È¤ï¤ì -¤ë postgres¥×¥í¥»¥¹¤ÎPID¤¬¸«¤Ä¤«¤ê¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ò»È¤Ã¤Æpostgres¤ÎPID¤Ë¥¢¥¿¥Ã¥Á -(attach)¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ÎÃ椫¤é¥Ö¥ì¡¼¥¯¡¦¥Ý¥¤¥ó¥È¤ò¥»¥Ã¥È¤·¡¢psql¤«¤éÌ䤤¹ç¤ï -¤»¤òȯ¹Ô¤·¤Þ¤¹¡£¥Ç¥Ð¥°¤Î¤¿¤á¤Ëpostgres¤ò»ÏÆ°¤¹¤ë¾ì¹ç¤Ï¡¢PGOPTIONS="-W n" ¤òÀßÄê -¤Ç¤­¡¢¤½¤ì¤«¤é¡¢psql ¤ò³«»Ï¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢n Éó«»Ï¤òÃ٤餻¤ë¤Ï¤º¤Ê¤Î¤Ç¡¢¥Ç -¥Ð¥Ã¥¬¤Ç¥¢¥¿¥Ã¥Á¤·¤Æ»ÏÆ°¤ò½ç¤òÄɤäƸ«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +¤â¤·¡¢postmaster¤¬Áö¤Ã¤Æ¤¤¤ì¤Ð¡¢¤¢¤ë¥¦¥£¥ó¥É¥¦¤Ç psql¤ò³«»Ï¤¹¤ë¤È¡¢psql ¤Ç»È¤ï +¤ì¤ë postgres ¥×¥í¥»¥¹¤ÎPID¤¬¸«¤Ä¤«¤ê¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ò»È¤Ã¤Æ postgres¤ÎPID¤Ë¥¢¥¿ +¥Ã¥Á(attach)¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ÎÃ椫¤é¥Ö¥ì¡¼¥¯¡¦¥Ý¥¤¥ó¥È¤ò¥»¥Ã¥È¤·¡¢psql ¤«¤éÌ䤤 +¹ç¤ï¤»¤òȯ¹Ô¤·¤Þ¤¹¡£¥Ç¥Ð¥°¤Î¤¿¤á¤Ëpostgres¤ò»ÏÆ°¤¹¤ë¾ì¹ç¤Ï¡¢PGOPTIONS="-W n" ¤ò +ÀßÄê¤Ç¤­¡¢¤½¤ì¤«¤é¡¢psql ¤ò³«»Ï¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢n Éó«»Ï¤òÃ٤餻¤ë¤Ï¤º¤Ê¤Î¤Ç +¡¢¥Ç¥Ð¥Ã¥¬¤Ç¥×¥í¥»¥¹¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¡¢³«»Ï¤«¤é½ç¤òÄɤà +¤Æ¸«¤Æ¤æ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ postgreSQL ¥×¥í¥°¥é¥à¤Ë¤Ï¡¢¥Ç¥Ð¥°¤ÈÀ­Ç½Â¬Äê¤Ë¤È¤Æ¤âÌò¤ËΩ¤Ä -s¤ä -A¤ä -t Åù¤Î¥ª ¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ @@ -716,7 +752,7 @@ postgreSQL ¥ë¡¦¥Õ¥¡¥¤¥ë¤Ï pgsql/data/base/dbname ¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£¥¯¥é¥¤ ¥¢¥ó¥È¤Î¥×¥í¥Õ¥£¡¼¥ë¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¸½¹Ô¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ë¤Ç¤·¤ç¤¦¡£ -3.9) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡© +3.8) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© postmaster¤¬Æ±»þ»ÏÆ°¤Ç¤­¤ë¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤ËÂФ¹¤ëÀ©¸Â¿ô¤òÁý¤ä¤¹É¬Íפ¬¤¢¤ê ¤Þ¤¹¡£ @@ -741,10 +777,9 @@ config.h ¤Ë¤Ï¡¢include/storage/sinvaladt.h¤ÎÃæ¤ÎMaxBackendIdÄê¿ô¤ò½¤Àµ¤·¤¿¸å¤ËºÆ¹½ÃÛ¤¬É¬ ÍפǤ·¤¿¡£ -3.10) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹¤« -¡© +3.9) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹¤«¡© -Ì䤤¹ç¤ï¤»¼Â¹Ô¥â¥¸¥å¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Î㤨¤Ð¡¢¤â¤· +Ì䤤¹ç¤ï¤»¼Â¹Ô¥â¥¸¥å¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Î㤨¤Ð¡¢¤â¤· ORDER BY ¶ç¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ð¥Ã¥¯¥¨¥ó¥É¤Î -S ¥Ñ¥é¥á¡¼¥¿¤Çµö²Ä¤·¤¿Ãͤè¤ê¤âÂ礭¤Ê¥¹ ¥Ú¡¼¥¹¤¬¥½¡¼¥È¤ÎºÝ¤ËɬÍפÀ¤È¤¹¤ë¤È¡¢°î¤ì¤¿¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë°ì»þŪ¤Ê¥Õ¥¡¥¤ ¥ë¤¬¤¤¤¯¤Ä¤«À¸À®¤µ¤ì¤Þ¤¹¡£ @@ -766,17 +801,11 @@ ORDER BY ¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬ Áàºî¾å¤Î¼ÁÌä -4.1) ¤Ê¤¼¡¢¥·¥¹¥Æ¥à¤Ï¥«¥ó¥Þ¤ä¾®¿ôÅÀ¤äÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Çº®Í𤹤ë¤Î¤Ç¤¹¤«¡© - -¥í¥±¡¼¥ë¤ÎÀßÄê¤ò³Î¤«¤á¤Æ²¼¤µ¤¤¡£PostgreSQL ¤Ï postmaster ¥×¥í¥»¥¹¤òÁö¤é¤»¤¿¥æ¡¼ -¥¶¡¼¤Î¥í¥±¡¼¥ë¤ÎÀßÄê¤ò»È¤¤¤Þ¤¹¡£postgres ¤Èpsql ¤Ë¤Ï SET ¥³¥Þ¥ó¥É¤¬¤¢¤ê¡¢¥Ç¡¼¥¿ -½ñ¼°¤òÀ©¸æ¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤ò¤¢¤Ê¤¿¤ÎÁàºî´Ä¶­¤Ë¹ç¤ï¤»¤ÆÀßÄꤷ¤Æ²¼¤µ¤¤¡£ - -4.2) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡© +4.1) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡© ¾Ü½Ò¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç DECLARE ¤ò¸«¤Æ²¼¤µ¤¤¡£ -4.3) ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò SELECT ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +4.2) ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò SELECT ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© ¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤ÇFETCH¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£¤¢¤ë¤¤¤Ï¡¢SELECT ... LIMIT....¤ò»È¤Ã ¤Æ¤ß¤Æ²¼¤µ¤¤¡£ @@ -787,14 +816,14 @@ ORDER BY ¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤Ç¤Ê¤ì¤Ð¡¢PostgreSQL ¤Ï°Õ¿Þ¤·¤¿¹Ô¤¬À¸À®¤µ¤ì¤ë¤Þ¤Ç¤¹¤Ù¤Æ¤Î ¹Ô¤òɾ²Á¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ -4.4) ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò psql ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +4.3) ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò psql ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© psql¤Î¥½¡¼¥¹¥³¡¼¥É¤È¤·¤Æ½ñ¤«¤ì¤¿ pgsql/src/bin/psql/describe.c ¥Õ¥¡¥¤¥ë¤òÆɤळ ¤È¤¬¤½¤ÎÅú¤¨¤Ç¤¹¡£¤½¤³¤Ë¤Ï¡¢psql¤Î¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¥³¥Þ¥ó¥É¤Ë¤è¤ë½ÐÎϤΤ¿¤á¤ÎSQL ¥³¥Þ¥ó¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ psql ¤Ë -E ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤¹¤ì¤Ð¡¢Í¿¤¨¤¿¥³¥Þ ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ÎÌ䤤¹ç¤ï¤»¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -4.5) ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡© +4.4) ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡© ALTER TABLE DROP COLUMN ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤½¤ÎÂå¤ï¤ê¤Ë¤³¤¦¤·¤Þ¤¹: SELECT ... -- ºï½ü¤·¤¿¤¤Îó°Ê³°¤ÎÎó¤ò¤¹¤Ù¤ÆÁªÂò¤·¤Þ¤¹¡£ @@ -804,10 +833,10 @@ ALTER TABLE DROP COLUMN ALTER TABLE new_table RENAME TO old_table; [ÌõÃí¡§Îó¤ÎÄÉ²Ã¤Ï ALTER TABLE ADD COLUMN ¤Ç¹Ô¤¨¤Þ¤¹¡£] -4.6) ¹Ô¡¢¥Æ¡¼¥Ö¥ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º¤Ï¡© +4.5) ¹Ô¡¢¥Æ¡¼¥Ö¥ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º¤Ï¡© À©¸Â¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ -¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º? À©¸Â̵¤· (60GB ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤â¸ºß¤·¤Þ¤¹) +¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º? À©¸Â̵¤· (500GB ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤â¸ºß¤·¤Þ¤¹) ¥Æ¡¼¥Ö¥ë¤ÎºÇÂ祵¥¤¥º? 16TB ¹Ô¤ÎºÇÂ祵¥¤¥º? 7.1°Ê¹ß¤ÇÀ©¸Â̵¤· ¥Õ¥£¡¼¥ë¥É¤ÎºÇÂ祵¥¤¥º? 7.1°Ê¹ß¤Ç1GB @@ -826,37 +855,38 @@ ALTER TABLE DROP COLUMN ¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò32k¤Ë¤¹¤ë¤ÈºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤ÈºÇÂ祫¥é¥à¿ô¤È¤¬Áý²Ã ¤·¤Þ¤¹¡£ -4.7) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯ÍÆ +4.6) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯ÍÆ Î̤ϤɤΤ¯¤é¤¤É¬ÍפǤ¹¡© -PostgreSQL ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢ÉáÄ̤Υե¡¥¤¥ë¤ÎÌó6.5ÇܤΥǥ£¥¹¥¯ÍÆÎÌ -¤òɬÍפȤ·¤Þ¤¹¡£ +ÉáÄ̤Υƥ­¥¹¥È¥Õ¥¡¥¤¥ë¤ò PostgreSQL ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢ºÇÂç¤ÇÌó5ÇܤΠ+¥Ç¥£¥¹¥¯ÍÆÎ̤òɬÍפȤ·¤Þ¤¹¡£ -³Æ¹Ô¤ËÆó¤Ä¤º¤ÄÀ°¿ô¤ò»ý¤Ä 300,000¹Ô¤Î¥Õ¥¡¥¤¥ë¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£¤¿¤À¤Î¥Õ¥¡¥¤¥ë -¤Ç¤Ï 2.4MB ¤Ç¤¹¡£¤³¤Î¥Ç¡¼¥¿¤ò´Þ¤à PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ¤Ï¼¡¤Î -¤è¤¦¤ËÌó14MB¤È¸«ÀѤâ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§ +ÎãÂê¤È¤·¤Æ¡¢³Æ¹Ô¤ËÀ°¿ô¤È¥Æ¥­¥¹¥Èµ­½Ò¤ò»ý¤Ä 100,000¹Ô¤Î¥Õ¥¡¥¤¥ë¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç +¤¦¡£¥Æ¥­¥¹¥È¤Îʸ»úÎó¤ÎÊ¿¶ÑŤµ¤ò20¥Ð¥¤¥È¤È²¾Äꤹ¤ë¤È¡¢¥Õ¥é¥Ã¥È¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ +¤ÏÌó2.8MB ¤Ç¤¹¡£¤³¤Î¥Ç¡¼¥¿¤ò´Þ¤à PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ¤Ï¼¡¤Î +¤è¤¦¤ËÌó6.4MB¤È¸«ÀѤâ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§ 36 bytes: ³Æ¹Ô¤Î¥Ø¥Ã¥À(³µ»») - + 8 bytes: ³Æ4¥Ð¥¤¥È¤ÎÆó¤Ä¤ÎÀ°¿ô(int)¥Õ¥£¡¼¥ë¥É + 24 bytes: À°¿ô(int)¥Õ¥£¡¼¥ë¥É¤È¥Æ¥­¥¹¥È(text)¥Õ¥£¡¼¥ë¥É + 4 bytes: ¥Ú¡¼¥¸¾å¤Î¥¿¥Ã¥×¥ë¤Ø¤Î¥Ý¥¤¥ó¥¿ ---------------------------------------- - 48 bytes per row + 64 bytes per row PostgreSQL ¤Î¥Ç¡¼¥¿¥Ú¡¼¥¸¥µ¥¤¥º¤Ï 8192¥Ð¥¤¥È(8KB)¤Ê¤Î¤Ç: 8192 bytes per page - ------------------- = 171 rows per database page (ÀÚ¤ê¾å¤²) - 48 bytes per row + ------------------- = 128 rows per database page (ÀÚ¤ê¾å¤²) + 64 bytes per row - 300000 data rows - -------------------- = 1755 database pages - 171 rows per page + 100000 data rows + -------------------- = 782 database pages + 128 rows per page -1755 database pages * 8192 bytes per page = 14,376,960 bytes (14MB) +782 database pages * 8192 bytes per page = 6,406,144 bytes (6.4 MB) ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢¤³¤ì¤Û¤É¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤ÏÍ׵ᤷ¤Þ¤»¤ó¤¬¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹ÉÕ¤±¤µ¤ì¤ë ¥Ç¡¼¥¿¤ò´Þ¤à°Ê¾å¡¢¤½¤ì¤Ê¤ê¤ËÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£ -4.8) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±½Ð¤· +4.7) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±½Ð¤· ¤Þ¤¹¤«¡© psql ¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¡¦¥³¥Þ¥ó¥É¤¬¤¢¤ê¡¢¤³¤¦¤·¤¿¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ @@ -866,37 +896,40 @@ psql »³¤Î SELECT ʸ¤Ë¤è¤êɬÍפʾðÊó¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¡¦¥Æ¡¼¥Ö¥ë¤«¤é¼è¤ê½Ð¤·¤Æ Î㼨¤·¤Æ¤¯¤ì¤Þ¤¹¡£ -4.9) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤« +4.8) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤« ¡© -PostgreSQL ¤ÏÅý·×¾ðÊó¤ò¼«Æ°Åª¤Ë¤ÏÊݼ餷¤Þ¤»¤ó¡£Åý·×¾ðÊó¤ò¹¹¿·¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ -VACUUM ¤òÁö¤é¤»¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£Åý·×¾ðÊ󤬹¹¿·¤µ¤ì¤¿¸å¤Ï¡¢¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¥Æ -¡¼¥Ö¥ë¤Ë²¿¹Ô¤¢¤ë¤«¤òÃΤäơ¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ù¤­¤«¤Î·èÄê¤ò¤è¤êÎɤ¯²¼¤·¤Þ¤¹¡£ -¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¥Æ¡¼¥Ö¥ë¤¬¾®¤µ¤¯¤ÆϢ³¥¹¥­¥ã¥ó¤ÎÊý¤¬Â®¤¤¤Ç¤¢¤í¤¦¾ì¹ç¤Ï¥¤¥ó¥Ç¥Ã -¥¯¥¹¤ò»È¤ï¤Ê¤¤¤³¤È¤Ë¤´Ãí°Õ²¼¤µ¤¤¡£ - -ÎóÆÃÄê¤ÎºÇŬ²½Åý·×¤Î¤¿¤á¤ËVACUUM ANALYZE¤ò»È¤¤¤Þ¤¹¡£VACUUM ANALYZE¤ÏÊ£»¨¤ÊÊ£¹ç -·ë¹ç(multi-join)Ì䤤¹ç¤ï¤»¤Î¤¿¤á¤ËÂçÀڤǤ¹¤Î¤Ç¡¢¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¤½¤ì¤¾¤ì¤Î¥Æ¡¼ -¥Ö¥ë¤«¤éÊÖ¤µ¤ì¤ë¹Ô¤Î¿ô¤ò¸«ÀѤ뤳¤È¤¬¤Ç¤­¡¢ÆÃÄê¤Î·ë¹ç½ç½ø¤òÁª¤Ó¤Þ¤¹¡£¥Ð¥Ã¥¯¥¨¥ó -¥É¤Ï¤½¤ì¼«¿È¤Ç¤ÏÎó¤ÎÅý·×¤òÊÝ»ý¤·¤Ê¤¤¤Î¤Ç¡¢Äê´üŪ¤Ë¤½¤ì¤é¤ò½¸¤á¤ë¤¿¤á¤Ë¤Ï VACUUM -ANALYZE ¤òÁö¤é¤»¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ - -ÉáÄÌ¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï ORDER BY ¤ä·ë¹ç¤ÎÁàºî¤Î¤¿¤á¤Ë¤Ï»È¤ï¤ì¤Þ¤»¤ó¡£¥é¥ó¥À¥à¤Ê¥Ç -¥£¥¹¥¯¥¢¥¯¥»¥¹¤Ï¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¡¢½ç¼¡¥¹¥­¥ã¥ó¤Ë³¤¯ÌÀ¼¨Åª¥½¡¼¥È¤Ï¡¢µðÂç¤Ê¥Æ¡¼¥Ö -¥ë¤ÎÁ´·ï¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¥¹¥­¥ã¥ó¤¹¤ë¤è¤ê¤â¹â®¤Ç¤¹¡£ +¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¼«Æ°Åª¤Ë¤¹¤Ù¤Æ¤ÎÌ䤤¹ç¤ï¤»¤Ç»È¤ï¤ì¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥Æ¡¼¥Ö¥ë +¤¬ºÇ¾®¥µ¥¤¥º¤è¤êÂ礭¤¯¡¢Ì䤤¹ç¤ï¤»¤Ç¤½¤Î¤ï¤º¤«¤Ê¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¤Î¹Ô¤òÁªÂò¤¹¤ë»þ +¤À¤±¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï»È¤ï¤ì¤Þ¤¹¡£¤³¤ì¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¥¹¥­¥ã¥ó¤Ë¤è¤êµ¯¤³¤µ¤ì¤ë¥é¥ó +¥À¥à¤Ê¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ò¥¹¥È¥ì¡¼¥È¤ËÆɤà½ç¼¡Áöºº¤è¤ê¤âÃÙ¤¯¤Ê¤ë¤³¤È +¤¬¤È¤­¤É¤­¤¢¤ë¤«¤é¤Ç¤¹¡£ + +¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢PostgreSQL ¤Ï¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¤ÎÅý·×¾ðÊó¤ò +»ý¤¿¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ÎÅý·×¾ðÊó¤Ï¡¢VACUUM ANALYZE¤Þ¤¿¤Ï¡¢Ã±¤Ë ANALYZE ¤ò»È +¤Ã¤Æ¼ý½¸¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Åý·×¾ðÊó¤ò»È¤Ã¤Æ¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¥Æ¡¼¥Ö¥ë¤ÎÃæ¤Ë²¿¹Ô +¤¢¤ë¤«¤òÃΤꡢ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ù¤­¤«¤Î¤Î·èÄê¤ò¤è¤êÀµ¤·¤¯¤Ç¤­¤Þ¤¹¡£Åý·×¾ðÊó¤Ï +ºÇŬ¤Ê·ë¹ç½ç¤ä·ë¹çÊýË¡¤ò·è¤á¤ë¾å¤Ç¤âµ®½Å¤Ê¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£Åý·×¾ðÊó¤Î¼ý½¸¤Ï¡¢¥Æ +¡¼¥Ö¥ë¤ÎÆâÍƤ¬¤«¤ï¤ë¤ÈËè¤Ë·«ÊÖ¤·¤Ê¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ + +¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢Ä̾ï ORDER BY ¤ä·ë¹ç¤ò¹Ô¤Ê¤¦¤¿¤á¤Ë¤Ï»È¤ï¤ì¤Þ¤»¤ó¡£½ç¼¡¥¹¥­¥ã¥ó +¤Ë³¤¯ÌÀ¼¨Åª¥½¡¼¥È¤Ï¡¢µðÂç¤Ê¥Æ¡¼¥Ö¥ë¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¥¹¥­¥ã¥ó¤è¤ê¤âÉáÄ̤Ϲ⮤Ǥ¹ +¡£ +¤·¤«¤·¡¢ORDER BY¤ÈÁȤ߹ç¤ï¤µ¤ì¤¿LIMIT ¤Ï¡¢¥Æ¡¼¥Ö¥ë¤Î¾®¤µ¤ÊÉôʬ¤òÊÖ¤¹¤¿¤á¤Ë¤¿¤Ó +¤¿¤Ó¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ç¤·¤ç¤¦¡£ -LIKE ¤¢¤ë¤¤¤Ï ~ ¤Î¤è¤¦¤Ê¥ï¥¤¥ë¥É¥«¡¼¥É±é»»»Ò(wild-card operators)¤ò»È¤¦¤È¤­¡¢¸¡ -º÷¤Î³«»Ï¤¬Ê¸»úÎó¤Î»Ï¤á¤ÎÉôʬ¤Ë¸ÇÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤Î¤ß¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Þ -¤¹¡£¤½¤¦¤¤¤¦¤ï¤±¤Ç¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢LIKE ¸¡º÷¤Ç¤Ï%¤Ç»Ï¤á¤Ê¤¤¤è¤¦¤Ë -¤·¤Æ¡¢¤Þ¤¿¡¢~(Àµµ¬É½¸½¸¡º÷)¤Ï^ ¤Ç»Ï¤á¤ë¤è¤¦¤Ë¤¹¤ë¤Ù¤­¤Ç¤¹¡£ [ÌõÃí¡§¶¯À©Åª¤Ë¥¤¥ó -¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ë¤Ï SET enable_seqscan = off ¤ò¼Â¹Ô¤·¤Þ¤¹] +LIKE ¤¢¤ë¤¤¤Ï ~ ¤Î¤è¤¦¤Ê¥ï¥¤¥ë¥É¥«¡¼¥É±é»»»Ò¤ò»È¤¦¤È¤­¡¢¸¡º÷¤Î³«»Ï¤¬Ê¸»úÎó¤Î»Ï +¤á¤ÎÉôʬ¤Ë¸ÇÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤Î¤ß¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Þ¤¹¡£¤½¤¦¤¤¤¦¤ï¤±¤Ç¡¢ +¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢ LIKE ¥Ñ¥¿¡¼¥ó¤Ï%¤Ç»Ï¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¡¢¤Þ¤¿¡¢ ~(Àµ +µ¬É½¸½)¥Ñ¥¿¡¼¥ó¤Ï^ ¤Ç»Ï¤á¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ [ÌõÃí¡§¶¯À©Åª¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦ +¤Ë¤Ï SET enable_seqscan = off ¤ò¼Â¹Ô¤·¤Þ¤¹ ] -4.10) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤Î¤«¤ò¸«¤ë¤Ë¤Ï¤É -¤¦¤·¤Þ¤¹¤«¡© +4.9) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤Î¤«¤ò¸«¤ë¤Ë¤Ï¤É¤¦ +¤·¤Þ¤¹¤«¡© ¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç EXPLAIN ¤ò¸«¤Æ²¼¤µ¤¤¡£ -4.11) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡© +4.10) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡© R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¶õ´ÖŪ¤Ê¥Ç¡¼¥¿¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÉÕ¤±¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£¥Ï¥Ã ¥·¥å¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤ÏÈϰϤθ¡º÷¤¬¤Ç¤­¤Þ¤»¤ó¡£¤Þ¤¿¡¢B-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤Ï¡¢£±¼¡ @@ -907,8 +940,8 @@ R-tree R-Tree ¤ÎÀ߷פθ¶Åµ¤È¤Ê¤ë¸¢°Ò¤¢¤ëÏÀʸ¤Ï: -Guttman, A. "R-Trees: A Dynamic Index Structure for Spatial Searching." Proc of -the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57. +Guttman, A. "R-Trees: A Dynamic Index Structure for Spatial Searching." +Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57. ¤³¤ÎÏÀʸ¤Ï¡¢Stonebraker ¶µ¼ø¤Î "Readings in Database Systems" ¤Ç¤â¼è¤ê¾å¤²¤é¤ì ¤Æ¤¤¤Þ¤¹¡£ @@ -933,13 +966,13 @@ the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57. ] -4.12) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡© +4.11) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡© GEQO ¥â¥¸¥å¡¼¥ë¤Ï¡¢Âô»³¤Î¥Æ¡¼¥Ö¥ë¤ò·ë¹ç¤¹¤ë¤È¤­¤Ë¡¢°äÅÁŪ¥¢¥ë¥´¥ê¥º¥à(GA)¤ÇÌä¹ç ¤ï¤»¤ò¹â®²½¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤·¤é¤ß¤Ä¤Ö¤·¤Ëõº÷¤ò¹Ô¤Ê¤ï¤Ê¤¯¤Æ¤â¡¢Â礭¤Ê·ë¹ç (join queries)¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -4.13) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â +4.12) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â ¸½¤·¤Þ¤¹¤«¡©Âçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤¸¡º÷¤Î¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¤É¤Î¤è¤¦¤Ë»È ¤¤¤Þ¤¹¤«¡© @@ -958,12 +991,12 @@ GEQO WHERE lower(textfield) LIKE lower(pattern) -4.14) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤« +4.13) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤« ¡© -IS NULL¤Î¥«¥é¥à¤ò IS NOT NULL ¤Ç»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£ +¥«¥é¥à¤ò IS NULL ¤È IS NOT NULL ¤È¤Ç»î¤·¤Æ¤ß¤Þ¤¹¡£ -4.15) ÍÍ¡¹¤Êʸ»ú·¿¤Î¤½¤ì¤¾¤ì¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡© +4.14) ÍÍ¡¹¤Êʸ»ú·¿¤Î¤½¤ì¤¾¤ì¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡© Type Internal Name Notes -------------------------------------------------- @@ -971,7 +1004,7 @@ Type Internal Name Notes CHAR(#) bpchar »ØÄꤵ¤ì¤¿¸ÇÄêĹ¤È¤Ê¤ë¤è¤¦¤Ë¶õÇò¤¬µÍ¤á¤é¤ì¤ë VARCHAR(#) varchar Ťµ¤Î¾å¸Â¤Î̵¤¤¥Æ¥­¥¹¥È TEXT text Ťµ¤ÎÀ©¸Â¤ÏºÇÂç¹ÔŤˤè¤ë -BYTEA bytea ²ÄÊÑĹ¤Î¥Ð¥¤¥ÈÇÛÎó +BYTEA bytea ²ÄÊÑĹ¤Î¥Ð¥¤¥ÈÇÛÎó(null-byte safe) ÆâÉô̾¤Ë¤ªÌܤˤ«¤«¤ë¤Î¤Ï¡¢¥·¥¹¥Æ¥à¡¦¥«¥¿¥í¥°¤òÄ´¤Ù¤ë¤È¤­¤ä¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò ¼õ¤±¼è¤ë¤È¤­¤Ç¤¹¡£ @@ -982,7 +1015,12 @@ BYTEA bytea ¤ì¤¿¤êÊ£¿ô¹Ô¤ËÅϤäÆÊݸ¤µ¤ì¤¿¤ê¤·¤Æ¡¢¥Ç¥£¥¹¥¯¾å¤Î¶õ´Ö¤Ï»×¤Ã¤¿¤è¤ê¾®¤µ¤¯¤Ê¤ê¤Þ ¤¹¡£ -4.16.1) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡© +CHAR()¤Ï¤¤¤Ä¤âŤµ¤¬Æ±¤¸Ê¸»úÎó¤òÊݸ¤¹¤ë¤Î¤ËºÇŬ¤Ç¤¹¡£VARCHAR() ¤Ï²ÄÊÑŤÎʸ»ú +Îó¤òÊݸ¤¹¤ë¤Î¤ËºÇŬ¤Ç¤¹¤¬¡¢Êݸ¤Ç¤­¤ëʸ»úÎó¤ÎŤµ¤ËÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£TEXT ¤ÏŤµ +¤ËÀ©¸Â¤Î̵¤¤Ê¸»úÎó¤ÎÊݸ¤¿¤á¤Î¤â¤Î¤Ç¡¢ºÇÂç1¥®¥¬¥Ð¥¤¥È¤Ç¤¹¡£ BYTEA¤Ï¡¢ÉôʬŪ¤Ë +NULL ¤Î¥Ð¥¤¥È¤ò´Þ¤à¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£ + +4.15.1) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡© PostgreSQL ¤Ï SERIAL ¥Ç¡¼¥¿·¿¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£Îó¾å¤ËÄÌÈ֤ȥ¤¥ó¥Ç¥Ã¥¯¥¹¤ò¼«Æ°ºî À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ @@ -1006,33 +1044,41 @@ pg_dump ¤ê¤Þ¤¹¡£ Bruce Momjian ¤Î(http://www.PostgreSQL.org/docs/aw_pgsql_book)¤Î Numbering Rows¤Î¾Ï¤Ë¤¢¤ê¤¢¤Þ¤¹¡£ -4.16.2) SERIAL¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡© +4.15.2) SERIAL¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡© ¤Ò¤È¤Ä¤ÎÊýË¡¤Ï¡¢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¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢__seq ¤Î¤è¤¦¤Ë¤Ê¤ê¡¢¤³¤Î¤¦ -¤Á¡¢table ¤È serialcolumn ¤Ï¤½¤ì¤¾¤ì¥Æ¡¼¥Ö¥ë¤Î̾Á°¤ÈSERIALÎó¤Î̾Á°¤Ç¤¹¡£ +¥Ö¥¸¥§¥¯¥È¤«¤é¼¡¤Î SERIAL Ãͤò¼è¤ê½Ð¤·¡¢¤½¤ì¤«¤é¼ÂºÝ¤ËÁÞÆþ¤ò¤¹¤ë¤³¤È¤Ç¤¹¡£ +4.16.1 ¤ÎÎã¤Ç»È¤Ã¤¿¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤È¤¹¤ë¤È¡¢Perl ¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ + new_id = output of "SELECT nextval('person_id_seq')" + INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal'); +¤½¤¦¤·¤Æ¡¢new_id ¤ËÊݸ¤·¤¿¿·¤·¤¤Ãͤò¾¤ÎÌ䤤¹ç¤ï¤»¤Ë(¤¿¤È¤¨¤Ð¡¢person ¥Æ¡¼¥Ö¥ë +¤ËÂФ¹¤ë³°Éô¥­¡¼(foreign key)¤Î¤è¤¦¤Ë)»È¤¦¤È¤è¤¤¤Ç¤·¤ç¤¦¡£¼«Æ°Åª¤Ëºî¤é¤ì¤¿ +SEQUENCE¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢
__seq ¤Î¤è¤¦¤Ë¤Ê¤ê¡¢¤³¤Î¤¦¤Á +¡¢table ¤È serialcolumn ¤Ï¤½¤ì¤¾¤ì¥Æ¡¼¥Ö¥ë¤Î̾Á°¤ÈSERIALÎó¤Î̾Á°¤Ç¤¹¡£ ¤¢¤ë¤¤¤Ï¡¢Í¿¤¨¤é¤ì¤¿SERIALÃͤò¡¢¤½¤ì¤¬´ûÄêÃͤȤ·¤ÆÁÞÆþ¤µ¤ì¤¿¸å¤Ç(after)¡¢ currval() ´Ø¿ô¤ò»È¤Ã¤Æ¼è¤ê½Ð¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ INSERT INTO person (name) VALUES ('Blaise Pascal'); - $newID = currval('person_id_seq'); + new_id = currval('person_id_seq'); ºÇ¸å¤Ë¡¢INSERTʸ¤«¤éÊÖ¤ëOID¤ò»È¤Ã¤Æ¡¢´ûÄêÃͤò¤ß¤Ä¤±¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤·¤«¤·¡¢ ¤³¤ì¤ÏºÇ¤â°Ü¿¢À­¤ÎÄ㤤¤ä¤êÊý¤Ç¤·¤ç¤¦¡£Perl¤ÎDBI¤Ç Edmund Mergl ¤Îºî¤Ã¤¿ DBD::Pg ¥â¥¸¥å¡¼¥ë¤ò»È¤¨¤Ð¡¢$sth->execute() ¤Î¸å¤Ë $sth->{pg_oid_status} ¤ò·Ðͳ¤·¤Æ¤½¤Î OID Ãͤò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¡£ -4.16.3) ¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È¤ï¤Ê +4.15.3) ¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È¤ï¤Ê ¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡© -¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¾å¼ê¤Ë½èÍý¤¹¤ë¤Î¤Ç¡¢¶¥¹ç¾õÂ֤ˤʤ뤳¤È¤ÏÍ­¤ê¤Þ¤»¤ó¡£ +¤½¤ì¤Ï¤¢¤ê¤Þ¤»¤ó¡£Currval() ¤Ï¡¢¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¤¢¤Ê¤¿¤Î¥Ð¥Ã¥¯ +¥¨¥ó¥É¤ËÍ¿¤¨¤é¤ì¤¿¸½ºß¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£ + +4.15.4) ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬ÃæÃǤ·¤¿¤È¤­¤Ë¤â¤¦¤¤¤Á¤É¥·¡¼¥±¥ó¥¹Èֹ椬»È¤ï¤ì¤Ê¤¤¤Î +¤Ï¤Ê¤¼¤Ç¤¹¤«¡©¥·¡¼¥±¥ó¥¹¡¿SERIAL¥«¥é¥à¤Ë¶õ¤­¤¬¤¢¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© + +Ʊ»þÀ­¤ò²þÁ±¤¹¤ë¤¿¤á¤Ë¡¢¼Â¹ÔÃæ¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ë¡¢É¬Íפǥȥé¥ó¥¶¥¯¥·¥ç¥ó¤¬½ª +λ¤¹¤ë¤Þ¤Ç¥í¥Ã¥¯¤µ¤ì¤Ê¤¤¥·¡¼¥±¥ó¥¹ÃͤòÍ¿¤¨¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤¿¤á¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬ +ÃæÃǤµ¤ì¤ë¤ÈÈÖ¹æ³ä¤êÅö¤Æ¤Ë¥®¥ã¥Ã¥×¤òÀ¸¤¸¤Þ¤¹¡£ -4.17) OID ¤È¤Ï²¿¤Ç¤¹¤«¡© TID ¤È¤Ï²¿¤Ç¤¹¤«¡© +4.16) OID ¤È¤Ï²¿¤Ç¤¹¤«¡© TID ¤È¤Ï²¿¤Ç¤¹¤«¡© OID ¤È¤Ï°ì°Õ¤Î¹Ô ID ¤ËÂФ¹¤ë PostgreSQL ¤ÎÅú¤¨¤Ç¤¹¡£PostgreSQL ¤ÎÃæ¤Ç¤Ä¤¯¤é¤ì¤ë ¤¹¤Ù¤Æ¤Î¹Ô¤Ï°ì°Õ¤Î OID ¤òÆÀ¤Þ¤¹¡£initdb ¤ÇȯÀ¸¤µ¤ì¤ë OID ¤Ï¤¹¤Ù¤Æ 16384 @@ -1062,7 +1108,7 @@ TID ¤Ï¹Ô¤¬½¤Àµ¤µ¤ì¤¿¤êºÆ¥í¡¼¥É¤µ¤ì¤ë¤ÈÊѤï¤ê¤Þ¤¹¡£¤½¤ì¤é¤Î TID ¤Ï¡¢ÊªÍý¹Ô¤ò»Ø¤¹¤¿¤á ¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹µ­ºÜ¤Ç»È¤ï¤ì¤Þ¤¹¡£ -4.18) PostgreSQL ¤Ç»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤ÎÍѸì¤Î°ÕÌ£¤Ï²¿¤Ç¤¹¤«¡© +4.17) PostgreSQL ¤Ç»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤ÎÍѸì¤Î°ÕÌ£¤Ï²¿¤Ç¤¹¤«¡© ¤¤¤¯¤Ä¤«¤Î¥½¡¼¥¹¥³¡¼¥É¤ä¸Å¤¤Ê¸½ñ¤ÎÃæ¤Ë¤Ï¡¢¤½¤ì¤¾¤ÎÀìÌçʬÌî¤ÎÃæ¤Ç¤â¤Ã¤È°ìÈÌŪ¤Ë »È¤ï¤ì¤ëÀìÌçÍѸ줬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ @@ -1081,7 +1127,7 @@ TID °ìÈÌŪ¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹ÍѸì¤Î¥ê¥¹¥È¤Ï¡§ http://www.comptechnews.com/~reaster/ dbdesign.html ¤Ç¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£ -4.19) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î¤Ï¤Ê +4.18) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î¤Ï¤Ê ¤¼¤Ç¤¹¤«¡© ¤â¤·¡¢7.1 ¤è¤ê¤â¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ò¤ª»È¤¤¤Î¾ì¹ç¤Ï¡¢¥¢¥Ã¥×¥Ç¡¼¥È¤Ë¤è¤Ã¤Æ¤³¤ÎÌäÂê¤ò @@ -1098,11 +1144,11 @@ dbdesign.html ¥¢¥ó¥È¤ÇÌäÂ꤬³¤¤¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò³«»Ï¤¹¤ëÁ°¤Ë¤³¤ì¤ò»î¤·¤Æ¤ß¤Æ ¤¯¤À¤µ¤¤¡£ -4.20) ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤òÁö¤é¤»¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +4.19) ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤òÁö¤é¤»¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© psql ¤«¤é select version(); ¤ò¥¿¥¤¥×¤·¤Þ¤¹¡£ -4.21) ¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Çinvalid large obj descriptor ¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿ +4.20) ¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Çinvalid large obj descriptor ¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿ ¡£¤Ê¤¼¤Ç¤·¤ç¤¦¤«¡© ¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÁàºî¤ò¤¹¤ë¤È¤­¤Ï¡¢Á°¸å¤ËBEGIN WORK¤ÈCOMMIT¤òÉÕ¤±¤ëɬÍפ¬¤¢ @@ -1118,12 +1164,12 @@ descriptor( ¤â¤·¡¢ODBC¤Î¤è¤¦¤Ê¥¯¥é¥¤¥¢¥ó¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¤ª»È¤¤¤Ê¤é¡¢auto-commit off¤òÀß Äꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ -4.22) ¸½ºß¤Î»þ¹ï¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¤è¤¦¤ÊÎó¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡© +4.21) ¸½ºß¤Î»þ¹ï¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¤è¤¦¤ÊÎó¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡© -now()¤ò»È¤¤¤Þ¤¹: - CREATE TABLE test (x int, modtime timestamp DEFAULT now() ); +CURRENT_TIMESTAMP¤ò»È¤¤¤Þ¤¹: + CREATE TABLE test (x int, modtime timestamp DEFAULT >CURRENT_TIMESTAMP ); -4.23) ¤Ê¤¼¡¢IN¤ò»È¤¦ÉûÌ䤤¹ç¤ï¤»¤¬¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¤¹¤«¡© +4.22) ¤Ê¤¼¡¢IN¤ò»È¤¦ÉûÌ䤤¹ç¤ï¤»¤¬¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¤¹¤«¡© ¸½ºß¡¢³°ÉôÌ䤤¹ç¤ï¤»¤Î³Æ¹Ô¤Ë¤Ä¤¤¤ÆÉûÌ䤤¹ç¤ï¤»¤Î·ë²Ì¤ò½çÈ֤˥¹¥­¥ã¥ó¤¹¤ë¤³¤È¤Ë ¤è¤ê¡¢ÉûÌ䤤¹ç¤ï¤»¤ò³°ÉôÌ䤤¹ç¤ï¤»¤Ë·ë¹ç¤·¤Æ¤¤¤Þ¤¹¡£ÅöÌ̤ÏIN¤òEXISTS¤ÇÃÖ¤­´¹¤¨ @@ -1137,7 +1183,7 @@ now() WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2) ¤È¤·¤Þ¤¹¡£¤³¤ÎÀ©¸Â¤Ï¾­Íè¤Î¥ê¥ê¡¼¥¹¤Çľ¤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£ -4.24) ³°Éô·ë¹ç(outer join)¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«? +4.23) ³°Éô·ë¹ç(outer join)¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«? PostgreSQL 7.1 °Ê¹ß¤Ç¤ÏSQLɸ½à¹½Ê¸¤ò»È¤¦³°Éô·ë¹ç(¥¢¥¦¥¿¡¼¥¸¥ç¥¤¥ó)¤ò¥µ¥Ý¡¼¥È¤· ¤Þ¤¹¡£¤³¤³¤Ë¡¢ÎãÂ꤬2¤Ä¤¢¤ê¤Þ¤¹¡£ @@ -1162,7 +1208,7 @@ UNION ALL WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2) ORDER BY col1 -4.25) Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»È¤¦Ì䤤¹ç¤ï¤»¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤Ç¤­¤Þ¤¹¤«¡© +4.24) Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»È¤¦Ì䤤¹ç¤ï¤»¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤Ç¤­¤Þ¤¹¤«¡© ¸½¹Ô(current)¤ò½ü¤¤¤Æ¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤ÎÌ䤤¹ç¤ï¤»ÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤È¤¤¤¦¤Î¤â PostgreSQL¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹»ÅÍͤΥ·¥¹¥Æ¥à¥«¥¿¥í¥°¤òÆɤ߹þ¤à¤¿¤á¤Ç¡¢¤½¤³¤Ë¤Ï¡¢¤¿¤È @@ -1204,7 +1250,7 @@ PostgreSQL [ÌõÃí¡§ ÆüËܸìÈǤÎÀ½ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ - ºÇ½ª¹¹¿·Æü: 2001ǯ12·î10Æü + ºÇ½ª¹¹¿·Æü: 2002ǯ04·î05Æü ËÝÌõ¼Ô: ·¬Â¼ ½á (Jun Kuwamura ) ¤³¤ÎFAQ¤ÎÏÂÌõ¤ÎºîÀ®¤Ë¤¢¤¿¤ê¶¨ÎϤò¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹(·É¾Î¤Ïά¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹): diff --git a/doc/src/FAQ/FAQ_japanese.html b/doc/src/FAQ/FAQ_japanese.html index 9ff3bcf23e..fb5a4ee389 100644 --- a/doc/src/FAQ/FAQ_japanese.html +++ b/doc/src/FAQ/FAQ_japanese.html @@ -7,10 +7,12 @@

PostgreSQL(¥Ý¥¹¥È¥°¥ì¥¹¡¦¥­¥å¡¼¡¦¥¨¥ë)¤Ë¤Ä¤¤¤Æ¤è¤¯¤¢¤ë¼ÁÌä¤È¤½¤Î²òÅú(FAQ)

-¸¶Ê¸ºÇ½ª¹¹¿·Æü: Sat Sep 22 20:07:41 EDT 2001 +¸¶Ê¸ºÇ½ª¹¹¿·Æü: Mon Mar 18 14:34:57 EST 2002

¸½ºß¤Î°Ý»ý´ÉÍý¼Ô: Bruce Momjian (pgman@candle.pha.pa.us)

+HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us)
+Maintainer of Japanese Translation: Jun Kuwamura (juk@postgresql.jp)

¤³¤Îʸ½ñ¤ÎºÇ¿·ÈÇ¤Ï @@ -18,8 +20,9 @@ http://www.PostgreSQL.org/docs/faq-english.html ¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

-¥×¥é¥Ã¥È¥Û¡¼¥à¤ËÆÃÍ­¤Î¼ÁÌä¤Ë¤Ä¤¤¤Æ¤Ï:http://www.PostgreSQL.org/users-lounge/docs/faq.html +¥×¥é¥Ã¥È¥Û¡¼¥à¤ËÆÃÍ­¤Î¼ÁÌä¤Ë¤Ä¤¤¤Æ¤Ï: + + http://www.PostgreSQL.org/users-lounge/docs/faq.html
¤Ë²óÅú¤¬¤¢¤ê¤Þ¤¹¡£

@@ -45,7 +48,7 @@ http://www.PostgreSQL.org/docs/faq-english.html

°ìÈÌŪ¤Ê¼ÁÌä

-1.1) PostgreSQL¤È¤Ï²¿¤Ç¤¹¤«¡©
+1.1) PostgreSQL¤È¤Ï²¿¤Ç¤¹¤«¡© ²¿¤ÈÆɤߤޤ¹¤«¡©
1.2) PostgreSQL¤ÎÃøºî¸¢¤Ï¤É¤¦¤Ê¤Ã¤Æ¤Þ¤¹¤«¡©
1.3) PostgreSQL¤ÎÆ°ºî¤¹¤ëUnix¥×¥é¥Ã¥È¥Û¡¼¥à¤Ï¡©
1.4) Unix°Ê³°¤Î°Ü¿¢ÈǤǻȤ¨¤ë¤â¤Î¤Ï¡©
@@ -54,19 +57,20 @@ http://www.PostgreSQL.org/docs/faq-english.html 1.7) ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«
1.8) ¤É¤Î¤è¤¦¤Êʸ½ñ¤¬¤¢¤ê¤Þ¤¹¤«¡©
1.9) ´ûÃΤΥХ°¤ä̤¤À̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡©
-1.10) SQL¤Ï¤É¤¦¤¹¤ì¤Ð³Ø¤Ù¤Þ¤¹¤«¡©
+1.10) SQL¤Ï¤É¤¦¤¹¤ì¤Ð³Ø¤Ù¤Þ¤¹¤«¡©
1.11) PostgreSQL¤ÏÀ¾Îñ2000ǯÌäÂê(Y2K)¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¤«¡©
1.12) ³«È¯¥Á¡¼¥à¤Ë¤Ï¤É¤Î¤è¤¦¤Ë»²²Ã¤·¤Þ¤¹¤«¡©
1.13) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡©
-1.14) ¾¤ÎDBMS¤Î¤ÈÈæ¤Ù¤ÆPostgreSQL¤Ï¤É¤¦¤Ê¤Î¤Ç¤¹¤«¡©
+1.14) ¾¤ÎDBMS¤Î¤ÈÈæ¤Ù¤ÆPostgreSQL¤Ï¤É¤¦¤Ê¤Î¤Ç¤¹¤«¡©
+1.15) PostgreSQL¤ò»ñ¶âÌ̤DZç½õ¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤«¡©

¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÁÌä

-2.1) PostgreSQL ¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤Ï¤¢¤ê¤Þ¤¹¤«¡©
+2.1) PostgreSQL ¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤Ï¤¢¤ê¤Þ¤¹¤«¡©
2.2) PostgreSQL ¤ò Web ¥Ú¡¼¥¸¤ÈÏ¢·È¤µ¤»¤ë¤Ë¤Ï¤É¤ó¤Ê¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¤«¡©
2.3) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡© -¥ì¥Ý¡¼¥È¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡© Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡©
+¥ì¥Ý¡¼¥È¥¸¥§¥Í¥ì¡¼¥¿¤äËä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡©
2.4) PostgreSQL ¤ÈÄÌ¿®¤¹¤ë¤Ë¤Ï¤É¤ó¤Ê¸À¸ì¤¬»È¤¨¤Þ¤¹¤«¡©
@@ -79,45 +83,43 @@ http://www.PostgreSQL.org/docs/faq-english.html IpcMemoryCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡©
3.4) postmaster¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢ IpcSemaphoreCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡©
-3.5) ¾¤Î¥Û¥¹¥È¤«¤é¼«Ê¬¤ÎPostgreSQL¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤òËɤ°¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
-3.6) ¤Ê¤¼¡¢Â¾¤Î¥Þ¥·¥ó¤«¤é¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤Ç¤­¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
-3.7) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì¤ÐÎɤ¤¤Ç¤¹¤«¡©
-3.8) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡©
-3.9) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡©
-3.10) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX ¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹¤«¡©
+3.5) ¾¤Î¥Û¥¹¥È¤«¤é¤ÎÀܳ¤Ï¤É¤Î¤è¤¦¤ËÀ©¸æ¤·¤Þ¤¹¤«¡©
+3.6) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì¤ÐÎɤ¤¤Ç¤¹¤«¡©
+3.7) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡©
+3.8) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
+3.9) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX ¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹¤«¡©
+

Áàºî¾å¤Î¼ÁÌä

-4.1) ¤Ê¤¼¡¢¥·¥¹¥Æ¥à¤Ï¥«¥ó¥Þ¤ä¾®¿ôÅÀ¤äÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Çº®Í𤹤ë¤Î¤Ç¤¹¤«¡©
-4.2) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
-4.3) ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò select ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
-4.4) ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò psql ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
-4.5) ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
-4.6) ¹Ô¡¢¥Æ¡¼¥Ö¥ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º¤Ï¡©
-4.7) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢ -¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤ϤɤΤ¯¤é¤¤É¬ÍפǤ¹¤«¡©
-4.8) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±½Ð¤·¤Þ¤¹¤«¡©
-4.9) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤«¡©
-4.10) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤«¤ò¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
-4.11) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡©
-4.12) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡©
-4.13) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«¡©Âçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤¸¡º÷¤Î¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¤É¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¤«¡© -
-4.14) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
-4.15) ¿§¡¹¤Êʸ»ú·¿¤Î¤½¤ì¤¾¤ì¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
-4.16.1) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©
-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.22) ¸½ºß¤Î»þ¹ï¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¤è¤¦¤ÊÎó¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©
-4.23) ¤Ê¤¼¡¢IN¤ò»È¤¦ÉûÌ䤤¹ç¤ï¤»¤¬¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¤¹¤«¡©
-4.24) ³°Éô·ë¹ç(outer join)¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«?
-4.25) Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»È¤¦Ì䤤¹ç¤ï¤»¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤Ç¤­¤Þ¤¹¤«¡© +4.1) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
+4.2) ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò select ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
+4.3) ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò psql ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
+4.4) ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
+4.5) ¹Ô¡¢¥Æ¡¼¥Ö¥ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º¤Ï¡©
+4.6) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤ϤɤΤ¯¤é¤¤É¬ÍפǤ¹¤«¡©
+4.7) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±½Ð¤·¤Þ¤¹¤«¡©
+4.8) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤«¡©
+4.9) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤«¤ò¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
+4.10) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡©
+4.11) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡©
+4.12) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«¡©Âçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤¸¡º÷¤Î¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¤É¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¤«¡©
+4.13) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
+4.14) ¿§¡¹¤Êʸ»ú·¿¤Î¤½¤ì¤¾¤ì¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©
+4.15.1) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©
+4.15.2) SERIAL¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡©
+4.15.3) ¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È¤ï¤Ê¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
+4.15.4) ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬ÃæÃǤ·¤¿¤È¤­¤Ë¤â¤¦¤¤¤Á¤É¥·¡¼¥±¥ó¥¹Èֹ椬»È¤ï¤ì¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©¥·¡¼¥±¥ó¥¹¡¿SERIAL¥«¥é¥à¤Ë¶õ¤­¤¬¤¢¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
+4.16) OID ¤È¤Ï²¿¤Ç¤¹¤«¡© TID ¤È¤Ï²¿¤Ç¤¹¤«¡©
+4.17) PostgreSQL ¤Ç»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤ÎÍѸì¤Î°ÕÌ£¤Ï²¿¤Ç¤¹¤«¡©
+4.18) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
+4.19) ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤òÁö¤é¤»¤Æ¤¤¤ë¤Î¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
+4.20) ¥é¡¼¥¸¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Ç¡¢invalid large obj descriptor¤È½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
+4.21) ¸½ºß¤Î»þ¹ï¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¤è¤¦¤ÊÎó¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©
+4.22) ¤Ê¤¼¡¢IN¤ò»È¤¦ÉûÌ䤤¹ç¤ï¤»¤¬¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¤¹¤«¡©
+4.23) ³°Éô·ë¹ç(outer join)¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«?
+4.24) Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»È¤¦Ì䤤¹ç¤ï¤»¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤Ç¤­¤Þ¤¹¤«¡©

PostgreSQL¤Î³ÈÄ¥¤Ë¤Ä¤¤¤Æ¤Î¼ÁÌä

@@ -133,15 +135,14 @@ http://www.PostgreSQL.org/docs/faq-english.html

1.1) PostgreSQL ¤È¤Ï²¿¤Ç¤¹¤«¡©

-

PostgreSQL ¤Ï¼¡À¤Âå DBMS ¸¦µæÍѤΥץí¥È¥¿¥¤¥×¤Ç¤¢¤Ã¤¿ POSTGRES ¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥·¥¹¥Æ¥à¤Î²þÎÉÈǤǤ¹¡£PostgreSQL ¤Ï POSTGRES ¤Î¶¯ÎϤʥǡ¼¥¿¡¦¥â¥Ç¥ë¤ÈË­É٤ʥǡ¼¥¿¡¦¥¿¥¤¥×(·¿)¤òÊÝ»ý¤·¤Ê¤¬¤é¡¢POSTGRES ¤Ç»È¤ï¤ì¤¿ PostQuel Ì䤤¹ç¤ï¤»¸À¸ì¤ò¡¢³ÈÄ¥¤·¤¿ SQL ¤Î¥µ¥Ö¥»¥Ã¥È¤ËÃÖ¤­´¹¤¨¤Æ¤¤¤Þ¤¹¡£PostgreSQL ¤Ï̵ÎÁ¤Ç´°Á´¤Ê¥½¡¼¥¹¤òÍøÍѤǤ­¤Þ¤¹¡£ +

Post-Gres-Q-L.(¥Ý¥¹¥È - ¥°¥ì¥¹ - ¥­¥å¡¼ - ¥¨¥ë) ¤Èȯ²»¤·¤Þ¤¹¡£

+

PostgreSQL ¤Ï¼¡À¤Âå DBMS ¸¦µæÍѤΥץí¥È¥¿¥¤¥×¤Ç¤¢¤Ã¤¿ POSTGRES ¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥·¥¹¥Æ¥à¤Î²þÎÉÈǤǤ¹¡£PostgreSQL ¤Ï POSTGRES ¤Î¶¯ÎϤʥǡ¼¥¿¡¦¥â¥Ç¥ë¤ÈË­É٤ʥǡ¼¥¿¡¦¥¿¥¤¥×(·¿)¤òÊÝ»ý¤·¤Ê¤¬¤é¡¢POSTGRES ¤Ç»È¤ï¤ì¤¿ PostQuel Ì䤤¹ç¤ï¤»¸À¸ì¤ò¡¢³ÈÄ¥¤·¤¿ SQL ¤Î¥µ¥Ö¥»¥Ã¥È¤ËÃÖ¤­´¹¤¨¤Æ¤¤¤Þ¤¹¡£PostgreSQL ¤Ï̵ÎÁ¤Ç´°Á´¤Ê¥½¡¼¥¹¤òÍøÍѤǤ­¤Þ¤¹¡£

PostgreSQL ¤Î³«È¯¤Ï¡¢PostgreSQL ³«È¯¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤·¤Æ¤¤¤ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Î³«È¯¼Ô¥Á¡¼¥à¤Ç¤¹¤Ù¤Æ¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Þ¤¹¡£¸½ºß¤ÎºÂĹ¤Ï Marc G. Fournier ( scrappy@PostgreSQL.org )¤Ç¤¹¡£(°Ê²¼¤Ë»²²Ã¤Î»ÅÊý¤¬¤¢¤ê¤Þ¤¹¡£)¸½ºß¡¢¤³¤Î¥Á¡¼¥à¤¬ PostgreSQL ³«È¯¤Î¤¹¤Ù¤Æ¤ÎÌÌÅݤò¤ß¤Æ¤¤¤Þ¤¹¡£

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 ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£

1.2) PostgreSQL ¤ÎÃøºî¸¢¤Ï¤É¤¦¤Ê¤Ã¤Æ¤Þ¤¹¤«¡©

@@ -155,7 +156,7 @@ http://www.PostgreSQL.org/docs/faq-english.html

PostgreSQL Data Base Management System

-Portions Copyright (c) 1996-2000, PostgreSQL Global Development Group +Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group Portions Copyright (c) 1994-6 Regents of the University of California

Permission to use, copy, modify, and distribute this software and its @@ -183,7 +184,7 @@ MODIFICATIONS.

 	POSTGRESQL ¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥·¥¹¥Æ¥à
 
-	ÉôʬŪÃøºî¸¢ (c) 1996-2001, PostgreSQL¹ñºÝ³«È¯¥Á¡¼¥à
+	ÉôʬŪÃøºî¸¢ (c) 1996-2002, PostgreSQL¹ñºÝ³«È¯¥Á¡¼¥à
 	ÉôʬŪÃøºî¸¢ (c) 1994-6 ¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³ØËܹ»
 
 
@@ -209,6 +210,10 @@ MODIFICATIONS.
     ]
 
+

¾åµ­¤ÏBSD¥é¥¤¥»¥ó¥¹¤Ç¸Å¤­¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î¥é¥¤¥»¥ó¥¹¤Ç¤¹¡£¥½¡¼¥¹¥³¡¼¥É +¤¬¤É¤Î¤è¤¦¤Ë»È¤ï¤ì¤è¤¦¤È¤âÀ©¸Â¤·¤Þ¤»¤ó¡£¹¥¤Þ¤·¤¤¤³¤È¤Ê¤Î¤Ç¡¢²æ¡¹¤â¤½¤ì¤ò +ÊѤ¨¤ë¤Ä¤â¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£

+

1.3) PostgreSQL ¤ÎÆ°ºî´Ä¶­¤Ï¡©

@@ -221,7 +226,7 @@ MODIFICATIONS.
¥¯¥é¥¤¥¢¥ó¥È

MS Windows ¥×¥é¥Ã¥È¥Û¡¼¥à¾å¤Ç¡¢libpq C ¥é¥¤¥Ö¥é¥ê¡¢psql¡¢¤½¤ì¤È¤½¤Î¾¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï ¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ç¡¢¥Ð¥¤¥Ê¥ê¡¼¤¬Áö¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò MS Windows ¾å¤ÇÁö¤é¤»¤Æ¡¢TCP/IP ·Ðͳ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë Unix ¥×¥é¥Ã¥È¥Û¡¼¥à¾å¤ÇÁö¤ë¥µ¡¼¥Ð¤ÈÄÌ¿®¤·¤Þ¤¹¡£ -

Win32 libpq ¥é¥¤¥Ö¥é¥ê¤È psql ¤òºî¤ë¤¿¤á¤Ë¡¢win31.mak ¤¬ÇÛÉۤ˴ޤޤì¤Æ¤Þ¤¹¡£PostgreSQL¤Ï ODBC ¥¯¥é¥¤¥¢¥ó¥È¤È¤âÄÌ¿®¤Ç¤­¤Þ¤¹¡£ +

Win32 libpq ¥é¥¤¥Ö¥é¥ê¤È psql ¤òºî¤ë¤¿¤á¤Ë¡¢win31.mak ¤¬ÇÛÉۤ˴ޤޤì¤Æ¤Þ¤¹¡£PostgreSQL¤Ï ODBC ¥¯¥é¥¤¥¢¥ó¥È¤È¤âÄÌ¿®¤Ç¤­¤Þ¤¹¡£

¥µ¡¼¥Ð
@@ -323,13 +328,14 @@ HREF="mailto:bugs-request@PostgreSQL.org">bugs-request@PostgreSQL.org

EFNet ¤Ë #PostgreSQL ¤È¤¤¤¦ IRC ¥Á¥ã¥ó¥Í¥ë¤â¤¢¤ê¤Þ¤¹¡£ -unix ¥³¥Þ¥ó¥É¤Çirc -c '#PostgreSQL' "$USER" irc.phoenix.net/ ¤ò»È¤¤¤Þ¤¹¡£

+UNIX ¥³¥Þ¥ó¥É¤Çirc -c '#PostgreSQL' "$USER" irc.phoenix.net ¤ò»È¤¤¤Þ¤¹¡£

     [ÌõÃí:
 	  1999ǯ7·î23Æü¡¢ÆüËÜPostgreSQL¥æ¡¼¥¶¡¼²ñ(¤Ë¤Û¤ó ¤Ý¤¹¤È¤°¤ì¤¹ ¤æ¡¼¤¶¡¼ ¤«¤¤)¡¢Î¬¾ÎJPUG¤¬ÀßΩ¤µ¤ì¤Þ¤·¤¿¡£
 	JPUG ¤ÏÈó±ÄÍøÁÈ¿¥¤Ç¡¢PostgreSQL¤òÍøÍѤ¹¤ë¿Íã¤ÎÁê¸ß¶¨ÎϤξì¤Ç¤¹¡£
-	Àµ²ñ°÷¤Î²ñÈñ¤Ï̵ÎÁ¤Ç¤¹¤¬¡¢²ñ°÷¤ÎÀѶËŪ¤Ê¹×¸¥¤¬²ñ¤Î±¿±Ä¤ò½õ¤±¤Æ¤¤¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¡¢JPUG¤ÎWeb ¥µ¥¤¥È:
+	Àµ²ñ°÷¤Î²ñÈñ¤Ï̵ÎÁ¤Ç¤¹¤¬¡¢¶¨»¿²ñ°÷¤Î²ñÈñ¤È²ñ°÷¤ÎÀѶËŪ¤Ê¹×¸¥¤¬²ñ¤Î±¿±Ä¤ò½õ¤±¤Æ¤¤¤Þ¤¹¡£
+	¾Ü¤·¤¯¤Ï¡¢JPUG ¤ÎWeb ¥µ¥¤¥È:
 		http://www.postgresql.jp/
 	¤ò¤´Í÷¤¯¤À¤µ¤¤¡£²ñ°÷ÅÐÏ¿¤â²Äǽ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
 	  1990ǯÂåÃ椴¤í¤è¤ê¡¢¥Ý¥¹¥È¥°¥ì¥¹¤ÎÆüËܸì¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤òÀаæ ãÉפµ¤ó¤¬¼çºÅ¤·¤Æ¤¤¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢
@@ -355,7 +361,7 @@ unix 
 
 

1.7) ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«

-

PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 7.2 ¤Ç¤¹¡£ +

PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 7.2.1 ¤Ç¤¹¡£

²æ¡¹¤Ï¡¢4¥«·îËè¤Ë¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¹Ô¤Ê¤¦¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£

@@ -367,17 +373,38 @@ HREF="http://www.PostgreSQL.org/users-lounge/docs/"> http://www.PostgreSQL.org/users-lounge/docs/ ¤Ç¥ª¥ó¥é¥¤¥ó¤Ç¤â±ÜÍ÷¤Ç¤­¤Þ¤¹¡£ -

PostgreSQL ¤ÎËܤ⤢¤ê¤Þ¤¹¡£ -http://www.PostgreSQL.org/docs/awbook.html

+

+    [ÌõÃí:
+	¡Ê³ô¡ËSRA¤ÈÆüËܥݥ¹¥È¥°¥ì¥¹¥æ¡¼¥¶¡¼²ñ¤ÇËÝÌõ¤µ¤ì¡¢
+	¡ÖPostgreSQL ¥ª¥Õ¥£¥·¥ã¥ë¥Þ¥Ë¥å¥¢¥ë¡×
+	¤È¤·¤Æ½ÐÈǤµ¤ì¤Æ¤¤¤Þ¤¹¡£
+    ]
+
+ +

¥ª¥ó¥é¥¤¥ó¤Ç»²¾È¤Ç¤­¤ë PostgreSQL ¤ÎËܤâ2ºý¤¢¤ê¤Þ¤¹¡£http://www.PostgreSQL.org/docs/awbook.html

     [ÌõÃí:
-	ÆüËܥݥ¹¥È¥°¥ì¥¹¥æ¡¼¥¶¡¼²ñ¤ÎPostgreSQL BookËÝÌõʬ²Ê²ñ¤Ç¡¢
-	ËÝÌõºî¶È¤¬¿Ê¹ÔÃæ¡£
+	ÆüËܥݥ¹¥È¥°¥ì¥¹¥æ¡¼¥¶¡¼²ñ¤Î	¡ÖPostgreSQL BookËÝÌõʬ²Ê²ñ¡×
+	¤Ë¤ÆËÝÌõ¤µ¤ì¤Þ¤·¤¿¡£
     ]
 
+ ¤ª¤è¤Ó¡¢ http://www.commandprompt.com/ppbook/ +¤Ç¤¹¡£ + + + ¹ØÆþ²Äǽ¤Ê½ñÀÒ¤ÎÌÜÏ¿¤Ï¡¢http://www.postgresql.org/books/ + ¤Ë¤¢¤ê¤Þ¤¹¡£ + + PostgreSQL µ»½Ñ¾ðÊóµ­»ö¤â¡¢http://techdocs.postgresql.org/ + ¤Ë¤¢¤ê¤Þ¤¹¡£

+ +

psql ¤â¡¢·¿¡¢±é»»»Ò¡¢´Ø¿ô¡¢½¸Ì󡢤½¤Î¾¤Î¾ðÊó¤ò¤ª¸«¤»¤¹¤ë¡¢¤¤¤¯¤Ä¤«¤ÎÁÇÀ²¤é¤·¤¤ \d ¥³¥Þ¥ó¥É¤ò»ý¤Á¤Þ¤¹¡£

²æ¡¹¤Î Web ¥µ¥¤¥È¤Ë¤Ï¡¢¤â¤Ã¤ÈÂô»³¤Îʸ½ñ¤¬¤¢¤ê¤Þ¤¹¡£ @@ -392,29 +419,45 @@ PostgreSQL TODO ¥ê¥¹¥È¤Ë¡¢´ûÃΤΥХ°¤ä·çÍǽ¤ä¾­Íè·×²è¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤¬¤¢¤ê¤Þ¤¹¡£

-

1.10) SQL ¤Ï¤É¤¦¤¹¤ì¤Ð³Ø¤Ù¤Þ¤¹¤«¡©

+

1.10) 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.

-¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¾¤Ë¡¢ -"Teach Yourself SQL in 21 Days, Second Edition" ¤¬¡¢ - -http://members.tripod.com/er4ebus/sql/index.htm -¤Ë¤¢¤ê¤Þ¤¹¡£ +¤Ë¤¢¤ëPostgreSQLËÜ¤Ç SQL ¤ò¶µ¤¨¤Æ¤¤¤Þ¤¹¡£ + +

+    [ÌõÃí:
+	ÆüËܥݥ¹¥È¥°¥ì¥¹¥æ¡¼¥¶¡¼²ñ¤Î	¡ÖPostgreSQL BookËÝÌõʬ²Ê²ñ¡×
+	¤Ë¤ÆËÝÌõ¤µ¤ì½ÐÈǤµ¤ì¤Æ¤¤¤Þ¤¹¡£
+    ]
+
+ +

+¤½¤Î¾¤Ë¤â PostgreSQLËܤȤ·¤Æ¡¢http://www.commandprompt.com/ppbook +¤¬¤¢¤ê¤Þ¤¹¡£ + +ÁÇÀ²¤é¤·¤¤¼ê°ú½ñ¤Ï¡¢http://www.intermedia.net/support/sql/sqltut.shtm, + + http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM, + ¤½¤·¤Æ¡¢http://sqlcourse.com +¤Ë¤¢¤ê¤Þ¤¹¡£

+ + +

¤½¤Î¾¤Ç¤Ï¡¢ "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 ¤Î¤è¤¦¤Ê¤Î¤â¤¢¤ê¤Þ¤¹¡£ +

+

     [ÌõÃí:
@@ -429,7 +472,7 @@ http://members.tripod.com/er4ebus/sql/index.htm 
 	¤Ç¤Ï¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Î¸¡º÷¤¬¤Ç¤­¤Þ¤¹¡£
 	 ´Ý»³ÉÔÆóÉ×»á¤ÎUNIX ¥Ç¡¼¥¿¥Ù¡¼¥¹ÆþÌç
 		http://www.wakhok.ac.jp/DB/DB.html
-	¤Ï¥ª¥ó¥é¥¤¥ó¤ÇÆɤळ¤È¤¬¤Ç¤­¤Þ¤¹¡£
+	¤â¥ª¥ó¥é¥¤¥ó¤ÇÆɤळ¤È¤¬¤Ç¤­¤Þ¤¹¡£
     ]
 
@@ -446,20 +489,22 @@ PostgreSQL Developers £²ÈÖÌܤˡ¢pgsql-hackers ¤È pgsql-patches ¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤ò¹ØÆÉ(subscribe)¤·¤Þ¤¹¡£ £³ÈÖÌܤˡ¢¹âÉʼÁ¤Î¥Ñ¥Ã¥Á¤òpgsql-patches¤Ëȯ¿®¤·¤Þ¤¹¡£ -¤ª¤è¤½½½¿Í¤Á¤ç¤Ã¤È¤Î¿Í㤬¡¢PostgreSQL CVS¥¢¡¼¥«¥¤¥Ö¤Ë¥³¥ß¥Ã¥È¤¹¤ë¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ +¤ª¤è¤½½½¿Í¤Á¤ç¤Ã¤È¤Î¿Í㤬¡¢PostgreSQL CVS¥¢¡¼¥«¥¤¥Ö¤Ë¥³¥ß¥Ã¥È¤¹¤ë¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤Î¤½¤ì¤¾¤ì¤Î¿Í㤬Âô»³¤Î¹âÉʼÁ¤Ê¥Ñ¥Ã¥Á¤òȯ¿®¤¹¤ë¤Î¤Ç¡¢¸½ºß¥³¥ß¥Ã¥¿¡¼¤È¤Ê¤Ã¤Æ¤¤¤ë¿Íã¤Ï¤½¤ì¤ËÄɤ¤ÉÕ¤¯¤Î¤¬ÂçÊѤǤ¹¤¬¡¢²æ¡¹¤ÏÈà¤é¤¬¥³¥ß¥Ã¥È¤·¤¿¥Ñ¥Ã¥Á¤Ï¹âÉʼÁ¤Ç¤¢¤ë¤È³Î¿®¤·¤Æ¤¤¤Þ¤¹¡£

1.13) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡©

-

"bug-template" ¥Õ¥¡¥¤¥ë¤Î¹àÌܤòËþ¤¿¤·¤Æ¡¢pgsql-bugs@PostgreSQL.org¤ËÁ÷¤Ã¤Æ²¼¤µ¤¤¡£ +

¥Ð¥°¤òÊó¹ð¤¹¤ë»ÅÊý¤Ë¤Ä¤¤¤Æ¤Î¥¬¥¤¥É¥é¥¤¥ó¤ÈÊý¸þ¤Å¤±¤¬¤¢¤ëPostgreSQL BugTool + (¥Ð¥°¥Ä¡¼¥ë)¤Î¥Ú¡¼¥¸¤òˬ¤ì¤Æ¤ß¤Æ²¼¤µ¤¤¡£

¤½¤ÎÁ°¤Ë http://postgreSQL.org¤Ë¤¢¤ëºÇ¿·¤Î FAQ ¤ò¥Á¥§¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£

¤½¤ì¤ÈƱ»þ¤Ë ftp ¥µ¥¤¥È ftp://ftp.postgreSQL.org/pub/¤Ç¡¢¤â¤Ã¤È¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤¢¤ë¤¤¤Ï¥Ñ¥Ã¥Á¤ò¤µ¤¬¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£

-

1.14) ¾¤ÎDBMS¤Î¤ÈÈæ¤Ù¤ÆPostgreSQL¤Ï¤É¤¦¤Ê¤Î¤Ç¤¹¤«¡© +

1.14) ¾¤ÎDBMS¤Î¤ÈÈæ¤Ù¤ÆPostgreSQL¤Ï¤É¤¦¤Ê¤Î¤Ç¤¹¤«¡©

¥½¥Õ¥È¥¦¥§¥¢¤ò·×¤ëÊýË¡¤Ë¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£µ¡Ç½¤ÈÀ­Ç½¤È¿®ÍêÀ­¤È¥µ¥Ý¡¼¥È¤È²Á³Ê¤Ç¤¹¡£ @@ -467,16 +512,13 @@ PostgreSQL Developers

µ¡Ç½(Features)
- -PostgreSQL¤Ï¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¢ÉûÌ䤤¹ç¤ï¤»¤ä¥È¥ê¥¬¡¼¤ä¥Ó¥å¡¼¤ä³°Éô¥­¡¼ -»²¾È¤ä¡¢¤½¤·¤Æ¡¢ÀöÎý¤µ¤ì¤¿¥í¥Ã¥¯µ¡¹½¤Ê¤É¡¢Â絬ÌϾ¦ÍÑDBMS¤¬»ý¤Äµ¡Ç½¤ò¤Û -¤È¤ó¤É»ý¤Ã¤Æ¤¤¤Þ¤¹¡£PostgreSQL¤Ï¡¢¤µ¤é¤Ë¡¢¥æ¡¼¥¶ÄêµÁ·¿¤ä·Ñ¾µ¤ä¥Þ¥ë¥Á- -¥Ð¡¼¥¸¥ç¥ó¡¦¥³¥ó¥Æ¥ó¥·¥ç¥ó¤Ê¤É¡¢¾¦ÍÑDBMS¤¬»ý¤Á¹ç¤ï¤»¤Ê¤¤µ¡Ç½¤ò¤¤¤¯¤Ä¤« -»ý¤Á¹ç¤ï¤»¤Æ¤¤¤Þ¤¹¡£³°Éô¥­¡¼¤Î»²¾ÈÀ°¹çÀ­(foreign key referential -integrity)¤ä¥í¥Ã¥¯¡¦¥³¥ó¥Æ¥ó¥·¥ç¥ó¤ò¸º¤é¤¹¤¿¤á¤Î³°Éô¶¥¹ç¾õÂÖÀ©¸æ -(outer concurrency control)¤Ï»ý¤Á¹ç¤ï¤»¤Þ¤»¤ó¡£ - -

+PostgreSQL¤Ï¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¢ÉûÌ䤤¹ç¤ï¤»¡¢¥È¥ê¥¬¡¼¡¢¥Ó¥å¡¼¡¢³°Éô¥­¡¼ +À°¹çÀ­»²¾È¡¢¤ª¤è¤Ó¡¢ÀöÎý¤µ¤ì¤¿¥í¥Ã¥¯µ¡¹½¤Ê¤É¡¢Â絬ÌϾ¦ÍÑ +DBMS¤¬»ý¤Äµ¡Ç½¤ò¤Û¤È¤ó¤É»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë PostgreSQL¤Ï¡¢¥æ¡¼¥¶ +ÄêµÁ·¿¡¢·Ñ¾µ¡¢¥ë¡¼¥ë¡¢¤½¤ì¤«¤é¡¢¥í¥Ã¥¯¶¥¹ç¤ò½Ì¾®¤¹¤ë¥Þ¥ë¥Á¥Ð¡¼¥¸¥ç¥óƱ»þ +À­À©¸æ¤Ê¤É¡¢¾¦ÍÑDBMS¤â»ý¤Á¹ç¤ï¤»¤Ê¤¤¤è¤¦¤Êµ¡Ç½¤ò¤¤ +¤¯¤Ä¤«»ý¤Á¹ç¤ï¤»¤Æ¤¤¤Þ¤¹¡£
+
À­Ç½(Performance)
@@ -514,7 +556,7 @@ PostgreSQL
¿®ÍêÀ­(Reliability)
-²æ¡¹¤Ï¡¢DBMS¤Î¿®ÍêÀ­¤¬¹â¤¯¤Ê¤¯¤Æ¤Ï¤½¤Î²ÁÃͤ¬Ìµ¤¤¤³¤È¤òÍý²ò¤·¤Æ¤Þ¤¹¡£½½ +²æ¡¹¤Ï¡¢DBMS¤Î¿®ÍêÀ­¤¬¹â¤¯¤Ê¤¯¤Æ¤Ï¤½¤Î²ÁÃͤ¬Ìµ¤¤¤³¤È¤òÍý²ò¤·¤Æ¤Þ¤¹¡£½½ ʬ¥Æ¥¹¥È¤·¤Æ¡¢°ÂÄꤷ¤¿¥³¡¼¥É¤ò¥Ð¥°¤òºÇ¾®¤Ë¤·¤Æ¤«¤é¥ê¥ê¡¼¥¹¤¹¤ë¤è¤¦¤Ë¶Ð ¤á¤Æ¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥ê¥ê¡¼¥¹¤Ï¾¯¤Ê¤¯¤È¤â1¥«·î°Ê¾å¤Î¥Ù¡¼¥¿¡¦¥Æ¥¹¥È¤ò¹Ô ¤Ê¤¤¡¢¤³¤ì¤Þ¤Ç¤Î¥ê¥ê¡¼¥¹¤ÎÍúÎò¤¬¡¢À½ÉÊÈǤȤ·¤Æ°ÂÄꤷ¤¿·ø¸Ç¤Ê¥ê¥ê¡¼¥¹¤Ç @@ -529,7 +571,7 @@ PostgreSQL ÌäÂê¤Î²ò·è¤òÊݾڤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤¬¡¢¾¦Íѥǡ¼¥¿¥Ù¡¼¥¹¤Ç¤¢¤Ã¤Æ¤â¾ï¤Ë ²ò·è¤µ¤ì¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£³«È¯¼Ô¤ä¡¢¥æ¡¼¥¶¡¦¥³¥ß¥å¥Ë¥Æ¥£¡¢¥Þ¥Ë¥å¥¢ ¥ëÎà¡¢¤½¤ì¤Ë¡¢¥½¡¼¥¹¥³¡¼¥É¤Ê¤É¤ØľÀÜ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤³¤È¤è¤Ã¤Æ¡¢ -PostgreSQL¤Î¥µ¥Ý¡¼¥È¤Ï¡¢Â¾¤ÎDBMS¥µ¥Ý¡¼¥È¤è¤ê¤âÍ¥¤ì¤¿¤â¤Î¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +PostgreSQL¤Î¥µ¥Ý¡¼¥È¤Ï¡¢Â¾¤ÎDBMS¥µ¥Ý¡¼¥È¤è¤ê¤âÍ¥¤ì¤¿¤â¤Î¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¸æÍ×˾¤ËÅú¤¨¤Æ¡¢»öÊÁËè¤Î¾¦ÍÑ¥µ¥Ý¡¼¥È¤Ê¤É¤â¤¢¤ê¤Þ¤¹¡Ê¥µ¥Ý¡¼¥ÈFAQ¹àÌܤò¤´Í÷ ²¼¤µ¤¤¡Ë¡£ @@ -542,14 +584,40 @@ PostgreSQL

+ +

1.15) PostgreSQL¤ò»ñ¶âÌ̤DZç½õ¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤«¡© +

+ +

PostgreSQL¤Ï¡¢²æ¡¹¤¬6ǯÁ°¤Ë»Ï¤á¤¿¤È¤­°ÊÍè¡¢ºÇ¹â¥¯¥é¥¹¤Î´ðÈפò +»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¤¹¤Ù¤Æ¡¢Marc Fournie¤µ¤ó¤Î¤ª¤«¤²¤Ç¡¢Èà¤Ï¤³¤Î´ðÈ× +¤ò²¿Ç¯¤Ë¤â¤ï¤¿¤Ã¤ÆÁϤ¤·´ÉÍý¤·¤Æ¤­¤Þ¤·¤¿¡£

+ +

¼Á¤ÎÎɤ¤´ðÈפϥª¡¼¥×¥ó¥½¡¼¥¹¡¦¥×¥í¥¸¥§¥¯¥È¤Ë¤È¤Ã¤Æ¤Ï¤È¤Æ¤âÂçÀÚ¤Ê +¤â¤Î¤Ç¡¢Á°¿Ê¤¹¤ëÀª¤¤¤ò¼º¤¦¥×¥í¥¸¥§¥¯¥È¤ÎʬÎö¤ò²óÈò¤·¤Þ¤¹¡£ +

+ +

¤â¤Á¤í¤ó¡¢¤³¤Î´ðÈפϰ¤¤¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£°Ý»ý¤·Â³¤±¤ë¤¿¤á¤Ë¤Ï +Ëè·î¤¢¤ë¤¤¤Ï°ì»þ¤Î·ÐÈñ¤¬¤«¤«¤ê¤Þ¤¹¡£¤â¤·¡¢¤¢¤Ê¤¿¤ä¤¢¤Ê¤¿¤Î²ñ¼Ò¤Ë¡¢¤³¤¦¤· +¤¿ÅØÎϤΤ¿¤á¤Î»ñ¶â¤ò½õ¤±¤ë¤¿¤á¤Ë»Ü¤¹¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ç¤·¤¿¤é¡¢http://www.pgsql.com/pg_goodies +¤«¤é´óÉÕ¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£ + +

¤Þ¤¿¡¢Web¥Ú¡¼¥¸¤Ë¤Ï PostgreSQL,Inc ¤È¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤³¤Î"µÁ±ç +(contributions)"¥¢¥¤¥Æ¥à¤Ï PostgreSQL ¥×¥í¥¸¥§¥¯¥È¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤À¤± +¤Î¤¿¤á¤Ç¡¢·è¤·¤ÆÆÃÄê¤Î²ñ¼Ò¤Î¤¿¤á¤Î»ñ¶â¤Î¤¿¤á¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤â¤·¡¢¼ê·Á +(check)¤ÎÊý¤¬ÅԹ礬¤è¤±¤ì¤ÐÏ¢ÍíÀè¤Î½»½ê¤Ø¤ªÁ÷¤ê²¼¤µ¤¤¡£

+ +
+

¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÁÌä

-

2.1) PostgreSQL ¤Î¤¿¤á¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤Ï¤¢¤ê¤Þ¤¹¤«¡© +

2.1) PostgreSQL ¤Î¤¿¤á¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤Ï¤¢¤ê¤Þ¤¹¤«¡©

-

PsqlODBC ¤È OpenLink ODBC ¤ÎÆó¤Ä¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤¬ÍøÍѲÄǽ¤Ç¤¹¡£ +

PsqlODBC ¤È OpenLink ODBC ¤ÎÆó¤Ä¤Î ODBC ¥É¥é¥¤¥Ð¡¼¤¬ÍøÍѲÄǽ¤Ç¤¹¡£

PsqlODBC ¤Ï PostgreSQL ¤ÎÇÛÉۤ˴ޤޤì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤Ë¤Ä¤¤¤Æ¤Î¤µ¤é¤Ë¾ÜºÙ¤Ê¾ðÊó¤Ï ftp://ftp.PostgreSQL.org/pub/odbc/ @@ -562,13 +630,16 @@ PostgreSQL ]

-

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¤Ë¤ª´ê¤¤¤·¤Þ¤¹¡£ +

¤¿¤Ö¤óÈà¤é¤Ï¡¢¾¦ÍÑÉʼÁ¤Î¥µ¥Ý¡¼¥È¤ÎɬÍפʿ͡¹¤ËÇä¤Ã¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢ + ¥Õ¥ê¡¼¥¦¥§¥¢ÈǤϤ¤¤Ä¤Ç¤âÆþ¼ê²Äǽ¤Î¤è¤¦¤Ç¤¹¡£¼ÁÌä¤Ï¡¢postgres95@openlink.co.uk + ¤ØÁ÷¤Ã¤Æ²¼¤µ¤¤¡£

Programmer's Guide -¤Î ODBC ¤Î¾Ï¤â¤´Í÷¤¯¤À¤µ¤¤¡£ +¤Î ODBC ¤Î¾Ï¤â¤´Í÷¤¯¤À¤µ¤¤¡£

@@ -576,7 +647,7 @@ Programmer's Guide

¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò΢¤Ë»ý¤Ä Web ¥Ú¡¼¥¸¤Ë¤Ä¤¤¤Æ¤ÎÁÇÀ²¤é¤·¤¤¾Ò²ð¤¬¡¢
-http://www.webtools.com ¤Ë¤¢¤ê¤Þ¤¹¡£ + http://www.webreview.com¤Ë¤¢¤ê¤Þ¤¹¡£

http://www.phone.net/home/mwm/hotlist/¤Ë¤â¡¢¤â¤¦°ì¤Ä¤¢¤ê¤Þ¤¹¡£

Web ¤Ø¤Î³ÈÄ¥¤Î¤¿¤á¤Ë¤Ï¡¢PHP ¤¬Âî±Û¤·¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£http://www.php.net/¤Ë¤¢¤ê¤Þ¤¹¡£ @@ -585,7 +656,7 @@ Programmer's Guide PHP¤Ë´Ø¤¹¤ëÆüËܸì¤Î¾ðÊó¤Ï¡¢2000ǯ4·î19Æü¤Ëȯ­¤·¤¿ÆüËÜPHP¥æ¡¼¥¶²ñ¤Î¥µ¥¤¥È http://www.php.gr.jp/ ¤¢¤ë¤¤¤Ï¡¢×¢Àî Îव¤ó¤Î¥µ¥¤¥È - http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html + http://www.geocities.jp/rui_hirokawa/php/ ¤Ë¤«¤Ê¤ê¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£ Á°ÅÄ ½¼¹¨¤µ¤ó¤Ë¤è¤êºî¤é¤ì¤¿PHP/FI¤ÎÆüËܸì¥Ñ¥Ã¥Á¤¬ÍÍ¡¹¤Ê¿Í¤Î¼ê¤ò·Ð¤ÆPHP3.0.7¤ËŬÍѤµ¤ì¤Þ¤·¤¿¡£ ¸½ºß¤ÏPHPJ-DEV¤Ë¤Æ¡¢ @@ -614,12 +685,12 @@ Programmer's Guide

2.3) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡© -¥ì¥Ý¡¼¥È¡¦¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡© Ëä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡© +¥ì¥Ý¡¼¥È¥¸¥§¥Í¥ì¡¼¥¿¤äËä¤á¹þ¤ßÌ䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡©

pgaccess ¤È¸Æ¤Ð¤ì¤ëÁÇÀ²¤é¤·¤¤¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¤¢¤ê¡¢¤³¤ÎÇÛÉۤȶ¦¤Ë½Ð²Ù¤µ¤ì¤Þ¤¹¡£Pgaccess ¤Ë¤Ï¥ì¥Ý¡¼¥È¡¦¥¸¥§¥Í¥ì¡¼¥¿¤â¤¢¤ê¤Þ¤¹¡£Web ¥Ú¡¼¥¸¤Ïhttp://www.flex.ro/pgaccess¤Ç¤¹¡£ -

ecpg ¤È¤¤¤¦ C ¸À¸ì¤Î¤¿¤á¤ÎËä¤á¹þ¤ß SQL Ì䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤â¤¢¤ê¤Þ¤¹¡£ +

ecpg ¤È¤¤¤¦ C ¸À¸ì¤Î¤¿¤á¤ÎËä¤á¹þ¤ß SQL Ì䤤¹ç¤ï¤»¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤â¤¢¤ê¤Þ¤¹¡£

2.4) PostgreSQL ¤ÈÄÌ¿®¤¹¤ë¤Ë¤Ï¤É¤ó¤Ê¸À¸ì¤¬»È¤¨¤Þ¤¹¤«¡© @@ -637,7 +708,7 @@ Programmer's Guide
  • Python (PyGreSQL)
  • TCL (libpgtcl)
  • C Easy API (libpgeasy) -
  • Ëä¤á¹þ¤ßHTML (PHP from http://www.php.net) +
  • Ëä¤á¹þ¤ßHTML (PHP from http://www.php.net)

    @@ -681,30 +752,29 @@ PostgreSQL Administrator's Gide

    3.4) postmaster¤òÁö¤é¤»¤è¤¦¤È¤¹¤ë¤È¡¢IpcSemaphoreCreate ¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡©

    -

    ¤â¤·¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬IpcSemaphoreCreate: semget failed (No space left on device)¤Ç¤¢¤ì¤Ð¡¢¥«¡¼¥Í¥ë¤¬½½Ê¬¤Ê¥»¥Þ¥Õ¥©¤ò»È¤¨¤ë¤è¤¦¤Ë¹½À®¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£Postgres¤ÏÀøºßŪ¤Ê¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹Ëè¤Ë°ì¤Ä¤Î¥»¥Þ¥Õ¥©¤òɬÍפȤ·¤Þ¤¹¡£¤È¤ê¤¢¤¨¤º¤Î²ò·èºö¤Ïpostmaster¤òµ¯Æ°¤¹¤ë¤È¤­¤Ë¡¢¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤Î¿ô¤ò¤è¤ê¾¯¤Ê¤¯À©¸Â¤ò¤¹¤ë¤³¤È¤Ç¤¹¡£´ûÄêÃͤÎ32¤è¤ê¾®¤µ¤Ê¿ô¤Î¥Ñ¥é¥á¡¼¥¿¤ò-N¤Ç»È¤¤¤Þ¤¹¡£¤è¤ê¹±µ×Ū¤Ê²ò·èºö¤Ï¡¢¥«¡¼¥Í¥ë¤ÎSEMMNS ¤È SEMMNI ¥Ñ¥é¥á¡¼¥¿¤òÁý¤ä¤¹¤³¤È¤Ç¤¹¡£ +

    ¤â¤·¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬IpcSemaphoreCreate: semget failed (No space left on device)¤Ç¤¢¤ì¤Ð¡¢¥«¡¼¥Í¥ë¤¬½½Ê¬¤Ê¥»¥Þ¥Õ¥©¤ò»È¤¨¤ë¤è¤¦¤Ë¹½À®¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£Postgres¤ÏÀøºßŪ¤Ê¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹Ëè¤Ë°ì¤Ä¤Î¥»¥Þ¥Õ¥©¤òɬÍפȤ·¤Þ¤¹¡£¤È¤ê¤¢¤¨¤º¤Î²ò·èºö¤Ïpostmaster¤òµ¯Æ°¤¹¤ë¤È¤­¤Ë¡¢¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤Î¿ô¤ò¤è¤ê¾¯¤Ê¤¯À©¸Â¤ò¤¹¤ë¤³¤È¤Ç¤¹¡£´ûÄêÃͤÎ32¤è¤ê¾®¤µ¤Ê¿ô¤Î¥Ñ¥é¥á¡¼¥¿¤ò-N¤Ç»È¤¤¤Þ¤¹¡£¤è¤ê¹±µ×Ū¤Ê²ò·èºö¤Ï¡¢¥«¡¼¥Í¥ë¤ÎSEMMNS ¤È SEMMNI ¥Ñ¥é¥á¡¼¥¿¤òÁý¤ä¤¹¤³¤È¤Ç¤¹¡£ + +

    ÁàºîÉÔǽ¤Î¥»¥Þ¥Õ¥©¤â²áÅ٤ʥǡ¼¥¿¥Ù¡¼¥¹¥¢¥¯¥»¥¹¤Î´Ö¤Ë¥¯¥é¥Ã¥·¥å¤ò +µ¯¤³¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +

    +

    ¤â¤·¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬¤Ê¤Ë¤«Â¾¤Î¤â¤Î¤Ç¤¢¤ì¤Ð¡¢¥«¡¼¥Í¥ë¤Î¹½À®¤Ç¤Þ¤Ã¤¿¤¯¥»¥Þ¥Õ¥©¤Î¥µ¥Ý¡¼¥È¤ò¤·¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ PostgreSQL Administrator's Gide ¤Ë¶¦Í­¥á¥â¥ê¡¼¤È¥»¥Þ¥Õ¥©¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Î¾ÜºÙ¤¬¤¢¤ê¤Þ¤¹¡£

    -

    3.5) ¾¤Î¥Û¥¹¥È¤«¤é¼«Ê¬¤Î PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤òËɤ°¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +

    3.5) ¾¤Î¥Û¥¹¥È¤«¤é¤ÎÀܳ¤Ï¤É¤Î¤è¤¦¤ËÀ©¸æ¤·¤Þ¤¹¤«¡©

    ´ûÄêÃͤǤϡ¢PostgreSQL ¤Ï unix ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò»È¤¦¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤é¤ÎÀܳ¤·¤«µö¤·¤Þ¤»¤ó¡£postmaster µ¯Æ°¤Ë -i ¥Õ¥é¥Ã¥°¤ò²Ã¤¨¡¢$PGDATA/pg_hba.conf ¥Õ¥¡¥¤¥ë¤òŬÀڤ˾¤·¤Æ¡¢¥Û¥¹¥È¼çƳ·¿¤Îǧ¾Ú¤ò»È¤ï¤Ê¤¤¤«¤®¤ê¤Ï¾¤Î¥Þ¥·¥ó¤«¤é¤ÏÀܳ¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¡£¤³¤ì¤Ë¤è¤êTCP/IP¤ÎÀܳ¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

    ÁàºîÉÔǽ¤Ê¥»¥Þ¥Õ¥©¤â²áÅ٤Υǡ¼¥¿¥Ù¡¼¥¹¥¢¥¯¥»¥¹Ãæ¤Ë¥¯¥é¥Ã¥·¥å¤ò°ú¤­µ¯¤³¤¹¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

    -

    3.6) ¾¤Î¥Þ¥·¥ó¤«¤é¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤Ç¤­¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© -

    - -

    ´ûÄê¤ÎÀßÄê¤Ç¤Ï¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤é¤Î unix ¥É¥á¥¤¥ó¤Î¥½¥±¥Ã¥ÈÀܳ¤·¤«µö¤·¤Þ¤»¤ó¡£TCP/IP Àܳ¤ò²Äǽ¤Ë¤¹¤ë¤Ë¤Ï postmaster ¤¬ -i ¥ª¥×¥·¥ç¥ó¤Ç³«»Ï¤µ¤ì¤Æ¤¤¤Æ¡¢pgsql/data/pg_hba.conf ¥Õ¥¡¥¤¥ë¤ËŬÀڤʥۥ¹¥È¤Îµ­ºÜ¤¬Äɲ䵤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ - -

    -

    3.7) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì¤ÐÎɤ¤¤Ç¤¹¤«¡© +

    3.6) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤¹¤ì¤ÐÎɤ¤¤Ç¤¹¤«¡©

    -

    ³Î¤«¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÏÌ䤤¹ç¤ï¤»¤Î®ÅÙ¤òÁý¤·¤Þ¤¹¡£EXPLAIN¥³¥Þ¥ó¥É¤Ç PostgreSQL ¤¬¤É¤Î¤è¤¦¤Ë¤¢¤Ê¤¿¤ÎÌ䤤¹ç¤ï¤»¤òËÝÌõ¤·¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¡¢¤½¤·¤Æ¡¢¤É¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -

    ¤â¤· INSERT ¤ò¿ÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢COPY ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÂ礭¤Ê¥Ð¥Ã¥Á½èÍý¤Ç¤½¤ì¤ò¹Ô¤Ê¤¦¤³¤È¤ò¸¡Æ¤¤·¤Æ²¼¤µ¤¤¡£¤³¤ì¤Ï¡¢INSERT ¤òÊÌ¡¹¤Ë¹Ô¤Ê¤¦¤è¤ê¤â¤Ã¤È¹â®¤Ç¤¹¡£¼¡¤Ë¡¢BEGIN WORK/COMMIT ¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¦¥Ö¥í¥Ã¥¯¤ÎÃæ¤Ë̵¤¤Ê¸¤Ï¡¢¤½¤ì¤é¼«¿È¤¬¤½¤ì¤¾¤ì¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ËÆþ¤Ã¤Æ¤¤¤ë¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£¤¤¤¯¤Ä¤«¤Îʸ¤ò°ì¤Ä¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¦¥Ö¥í¥Ã¥¯¤ÎÃæ¤Ç¹Ô¤Ê¤¦¤³¤È¤ò¹Í¤¨¤Æ²¼¤µ¤¤¡£¤³¤ì¤Ë¤è¤ê¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬¸º¤ê¤Þ¤¹¡£¤Þ¤¿¡¢Â礭¤Ê¥Ç¡¼¥¿¤ÎÊѹ¹¤ò¹Ô¤Ê¤¦ºÝ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò°ìÅÙ³°¤·¤Æ¡¢ºî¤êľ¤¹¤³¤È¤ò¹Í¤¨¤Æ¤ß¤Æ²¼¤µ¤¤¡£ +

    ³Î¤«¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÏÌ䤤¹ç¤ï¤»¤Î®ÅÙ¤òÁý¤·¤Þ¤¹¡£EXPLAIN¥³¥Þ¥ó¥É¤Ç PostgreSQL ¤¬¤É¤Î¤è¤¦¤Ë¤¢¤Ê¤¿¤ÎÌ䤤¹ç¤ï¤»¤òËÝÌõ¤·¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¡¢¤½¤·¤Æ¡¢¤É¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +

    ¤â¤· INSERT ¤ò¿ÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢COPY ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÂ礭¤Ê¥Ð¥Ã¥Á½èÍý¤Ç¤½¤ì¤ò¹Ô¤Ê¤¦¤³¤È¤ò¸¡Æ¤¤·¤Æ²¼¤µ¤¤¡£¤³¤ì¤Ï¡¢INSERT ¤òÊÌ¡¹¤Ë¹Ô¤Ê¤¦¤è¤ê¤â¤Ã¤È¹â®¤Ç¤¹¡£¼¡¤Ë¡¢BEGIN WORK/COMMIT ¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¦¥Ö¥í¥Ã¥¯¤ÎÃæ¤Ë̵¤¤Ê¸¤Ï¡¢¤½¤ì¤é¼«¿È¤¬¤½¤ì¤¾¤ì¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ËÆþ¤Ã¤Æ¤¤¤ë¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£¤¤¤¯¤Ä¤«¤Îʸ¤ò°ì¤Ä¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¡¦¥Ö¥í¥Ã¥¯¤ÎÃæ¤Ç¹Ô¤Ê¤¦¤³¤È¤ò¹Í¤¨¤Æ²¼¤µ¤¤¡£¤³¤ì¤Ë¤è¤ê¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬¸º¤ê¤Þ¤¹¡£¤Þ¤¿¡¢Â礭¤Ê¥Ç¡¼¥¿¤ÎÊѹ¹¤ò¹Ô¤Ê¤¦ºÝ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò°ìÅÙ³°¤·¤Æ¡¢ºî¤êľ¤¹¤³¤È¤ò¹Í¤¨¤Æ¤ß¤Æ²¼¤µ¤¤¡£

    ¥Á¥å¡¼¥Ë¥ó¥°¤Î¥ª¥×¥·¥ç¥ó¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£postmaster ¤ò -o -F ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢fsync() ¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢³Æ¥È¥é¥ó¥¶¥¯¥·¥ç¥óËè¤Ë fsync() ¤Ç¥Ç¥£¥¹¥¯¤ò¹¹¿·¤¹¤ë¤Î¤ò»ß¤á¤µ¤»¤Þ¤¹¡£ @@ -712,10 +782,10 @@ PostgreSQL Administrator's Gide

    ¥Ð¥Ã¥¯¥¨¥ó¥É¤ò -S ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¤½¤ì¤¾¤ì¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¡¦¥×¥í¥»¥¹¤¬°ì»þŪ¤ÊʤÙÂؤ¨¤Ë¤è¤Ã¤Æ»È¤¦¥á¥â¥ê¡¼¤ÎºÇÂ祵¥¤¥º¤òÁý¤ä¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤½¤Î -S ¤ÎÃͤϥ­¥í¥Ð¥¤¥Èñ°Ì¤Ç¡¢´ûÄêÃÍ¤Ï 512 (¤¹¤Ê¤ï¤Á¡¢512K)¤Ç¤¹¡£ -

    ¤Þ¤¿¡¢CLUSTER ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¹ç¤ï¤»¤ë¤¿¤á¤Ë¥°¥ë¡¼¥×²½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç CLUSTER ¤ò¸«¤Æ²¼¤µ¤¤¡£ +

    ¤Þ¤¿¡¢CLUSTER ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¹ç¤ï¤»¤ë¤¿¤á¤Ë¥°¥ë¡¼¥×²½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç CLUSTER ¤ò¸«¤Æ²¼¤µ¤¤¡£

    -

    3.8) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡©

    +

    3.7) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡©

    PostgreSQL ¤Ï¡¢¥Ç¥Ð¥°¤Î¤¿¤á¤Ë°ÕÌ£¤Î¤¢¤ë¡¢¾õÂÖ¾ðÊó¤òÊó¹ð¤¹¤ë¤¤¤¯¤Ä¤«¤Îµ¡Ç½¤ò»ý¤Á¤Þ¤¹¡£ @@ -730,9 +800,17 @@ PostgreSQL Administrator's Gide

    ¤³¤ì¤Ë¤è¤ê PostgreSQL ¤ÎºÇ¾åÉô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë server.log ¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥µ¡¼¥Ð¡¼¤¬Áø¶ø¤·¤¿ÌäÂê¤ä¥¨¥é¡¼¤Ë¤Ä¤¤¤ÆÍ­ÍѤʾðÊó¤ò´Þ¤ß¤Þ¤¹¡£Postmaster ¤Ï¹¹¤Ë¾ÜºÙ¤Ê¾ðÊó¤òÊó¹ð¤¹¤ë¤¿¤á¤Î -d ¥ª¥×¥·¥ç¥ó¤ò»ý¤Á¤Þ¤¹¡£¤½¤Î -d ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Ð¥°¡¦¥ì¥Ù¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¹â¤¤¥Ç¥Ð¥°¡¦¥ì¥Ù¥ë¤Ç¤Ï¡¢Â礭¤Ê¥í¥°¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ -

    ¤â¤·¡¢postmaster¤¬Áö¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢postgres¥Ð¥Ã¥¯¥¨¥ó¥É¤ò¥³¥Þ¥ó¥É¹Ô¤«¤éÁö¤é¤»¤ë¤³¤È¤¬¤Ç¤­¡¢Ä¾ÀÜSQLʸ¤ò¥¿¥¤¥×¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤ä¤ê¤«¤¿¤Ï¡¢¥Ç¥Ð¥°ÌÜŪ¤Î¤È¤­¤À¤±¤ª¾©¤á¤·¤Þ¤¹¡£¥»¥ß¥³¥í¥ó¤Ç¤Ï¤Ê¤¯¡¢²þ¹Ô¤¬Ì䤤¹ç¤ï¤»¤Î½ª¤ê¤Ë¤Ê¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤â¤·¡¢¥Ç¥Ð¥°¥·¥ó¥Ü¥ë¤òÆþ¤ì¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤ì¤Ð¡¢¥Ç¥Ð¥Ã¥¬¤ò»È¤Ã¤Æ²¿¤¬µ¯¤­¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£postmaster ¤«¤é¥Ð¥Ã¥¯¥¨¥ó¥É¤ò³«»Ï¤·¤¿¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢ÆÈΩ¤Ê´Ä¶­¤ÇÁö¤Ã¤Æ¤¤¤ë¤Î¤Ç¤Ï¤Ê¤¯¥í¥Ã¥¯¡¿¥Ð¥Ã¥¯¥¨¥ó¥É¤È¤ÎÂÐÏäÎÌäÂ꤬½ÅÊ£¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +

    ¤â¤·¡¢postmaster¤¬Áö¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢postgres¥Ð¥Ã¥¯¥¨¥ó¥É¤ò¥³¥Þ¥ó¥É¹Ô¤«¤éÁö¤é¤»¤ë¤³¤È¤¬¤Ç¤­¡¢Ä¾ÀÜSQLʸ¤ò¥¿¥¤¥×¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤ä¤ê¤«¤¿¤Ï¡¢¥Ç¥Ð¥°ÌÜŪ¤Î¤È¤­¤À¤±¤ª¾©¤á¤·¤Þ¤¹¡£¥»¥ß¥³¥í¥ó¤Ç¤Ï¤Ê¤¯¡¢²þ¹Ô¤¬Ì䤤¹ç¤ï¤»¤Î½ª¤ê¤Ë¤Ê¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤â¤·¡¢¥Ç¥Ð¥°¥·¥ó¥Ü¥ë¤òÆþ¤ì¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤ì¤Ð¡¢¥Ç¥Ð¥Ã¥¬¤ò»È¤Ã¤Æ²¿¤¬µ¯¤­¤Æ¤¤¤ë¤«¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£postmaster ¤«¤é¥Ð¥Ã¥¯¥¨¥ó¥É¤ò³«»Ï¤·¤¿¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢ÆÈΩ¤Ê´Ä¶­¤ÇÁö¤Ã¤Æ¤¤¤ë¤Î¤Ç¤Ï¤Ê¤¯¥í¥Ã¥¯¡¿¥Ð¥Ã¥¯¥¨¥ó¥É¤È¤ÎÂÐÏäÎÌäÂ꤬½ÅÊ£¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -

    ¤â¤·¡¢postmaster¤¬Áö¤Ã¤Æ¤¤¤ì¤Ð¡¢¤¢¤ë¥¦¥£¥ó¥É¥¦¤Çpsql¤ò³«»Ï¤¹¤ë¤È¡¢psql ¤Ç»È¤ï¤ì¤ë postgres¥×¥í¥»¥¹¤ÎPID¤¬¸«¤Ä¤«¤ê¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ò»È¤Ã¤Æpostgres¤ÎPID¤Ë¥¢¥¿¥Ã¥Á(attach)¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ÎÃ椫¤é¥Ö¥ì¡¼¥¯¡¦¥Ý¥¤¥ó¥È¤ò¥»¥Ã¥È¤·¡¢psql¤«¤éÌ䤤¹ç¤ï¤»¤òȯ¹Ô¤·¤Þ¤¹¡£¥Ç¥Ð¥°¤Î¤¿¤á¤Ëpostgres¤ò»ÏÆ°¤¹¤ë¾ì¹ç¤Ï¡¢PGOPTIONS="-W n" ¤òÀßÄê¤Ç¤­¡¢¤½¤ì¤«¤é¡¢psql ¤ò³«»Ï¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢n Éó«»Ï¤òÃ٤餻¤ë¤Ï¤º¤Ê¤Î¤Ç¡¢¥Ç¥Ð¥Ã¥¬¤Ç¥¢¥¿¥Ã¥Á¤·¤Æ»ÏÆ°¤ò½ç¤òÄɤäƸ«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +

    ¤â¤·¡¢postmaster¤¬Áö¤Ã¤Æ¤¤¤ì¤Ð¡¢¤¢¤ë¥¦¥£¥ó¥É¥¦¤Ç +psql¤ò³«»Ï¤¹¤ë¤È¡¢psql ¤Ç»È¤ï¤ì¤ë postgres ¥×¥í¥»¥¹ +¤ÎPID¤¬¸«¤Ä¤«¤ê¤Þ¤¹¡£¥Ç¥Ð¥Ã¥¬¤ò»È¤Ã¤Æ +postgres¤ÎPID¤Ë¥¢¥¿¥Ã¥Á(attach)¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã +¥¬¤ÎÃ椫¤é¥Ö¥ì¡¼¥¯¡¦¥Ý¥¤¥ó¥È¤ò¥»¥Ã¥È¤·¡¢psql ¤«¤éÌ䤤¹ç¤ï¤»¤òȯ¹Ô +¤·¤Þ¤¹¡£¥Ç¥Ð¥°¤Î¤¿¤á¤Ëpostgres¤ò»ÏÆ°¤¹¤ë¾ì¹ç¤Ï¡¢PGOPTIONS="-W n" +¤òÀßÄê¤Ç¤­¡¢¤½¤ì¤«¤é¡¢psql ¤ò³«»Ï¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢n Éà +³«»Ï¤òÃ٤餻¤ë¤Ï¤º¤Ê¤Î¤Ç¡¢¥Ç¥Ð¥Ã¥¬¤Ç¥×¥í¥»¥¹¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢¥Ö¥ì¡¼¥¯¥Ý¥¤ +¥ó¥È¤òÀßÄꤷ¡¢³«»Ï¤«¤é½ç¤òÄɤäƸ«¤Æ¤æ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

    postgreSQL ¥×¥í¥°¥é¥à¤Ë¤Ï¡¢¥Ç¥Ð¥°¤ÈÀ­Ç½Â¬Äê¤Ë¤È¤Æ¤âÌò¤ËΩ¤Ä -s¤ä -A¤ä -t Åù¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ @@ -740,20 +818,20 @@ PostgreSQL Administrator's Gide

    -

    3.9) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤Þ¤¹¡£¤Ê¤¼¤Ç¤¹¤«¡© +

    3.8) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©

    postmaster¤¬Æ±»þ»ÏÆ°¤Ç¤­¤ë¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤ËÂФ¹¤ëÀ©¸Â¿ô¤òÁý¤ä¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£

    ´ûÄê¤ÎºÇÂç¥×¥í¥»¥¹¤Ï32¥×¥í¥»¥¹¤Ç¤¹¡£-N¤ËŬÀÚ¤ÊÃͤò°ú¿ô¤Ë¤·¤Æpostmaster¤òºÆµ¯Æ°¤¹¤ë¤«¡¢postgresql.conf ¤ò½¤Àµ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤½¤ÎÃͤòÁý¤ä¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -¡£´ûÄê¤Î¹½À®¤Ç¤Ï-N¤ÏºÇÂç1024¤Þ¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£¤â¤·¡¢¤â¤Ã¤ÈɬÍפǤ¢¤ì¤Ðinclude/config.h¤ÎÃæ¤ÎMAXBACKENDS¤òÁý²Ã¤µ¤»¡¢ºÆ¹½ÃÛ¤·¤Þ¤¹¡£¤â¤·¡¢Ë¾¤à¤Ê¤éconfigure¤Î --with-maxbackendsÀÚÂؤò»È¤Ã¤Æ¡¢-N¤Î´ûÄêÃͤò¹½À®»þ¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£ +¡£´ûÄê¤Î¹½À®¤Ç¤Ï-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 +¶¦Í­¥á¥â¥ê¡¼¡¦¥Ö¥í¥Ã¥¯¤ÎºÇÂçÃÍ(SHMMAX)¡¢ +¥»¥Þ¥Õ¥©¤ÎºÇÂç¿ô(SEMMNS¤ÈSEMMNI)¡¢ +¥×¥í¥»¥¹¤ÎºÇÂç¿ô(NPROC)¡¢ +¥æ¡¼¥¶Ëè¤ÎºÇÂç¥×¥í¥»¥¹¿ô(MAXUPRC)¡¢ +³«¤¯¥Õ¥¡¥¤¥ë¤ÎºÇÂç¿ô(NFILE¤ÈNINODE ¤â³Îǧ»ö¹à¤Ë´Þ¤Þ¤ì¤Þ¤¹¡£ PostgreSQL¤Ëµö¤µ¤ì¤ë¥Ð¥Ã¥¯¥¨¥ó¥É¤Î¥×¥í¥»¥¹¿ô¤¬À©¸Â¤µ¤ì¤Æ¤¤¤ë¤Î¤Ï¡¢ ¥·¥¹¥Æ¥à¤Î¥ê¥½¡¼¥¹¤ò»È¤¤²Ì¤·¤Æ¤·¤Þ¤¦¤³¤È¤òÈò¤±¤ë¤¿¤á¤Ç¤¹¡£ @@ -761,10 +839,10 @@ PostgreSQL

    6.5¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎPostgreSQL¤Ç¤Ï¥Ð¥Ã¥¯¥¨¥ó¥É¤ÎºÇÂç¿ô¤Ï64¤Ç¤·¤¿¤¬¡¢Êѹ¹¤¹¤ë¤Ë¤Ï¡¢include/storage/sinvaladt.h¤ÎÃæ¤ÎMaxBackendIdÄê¿ô¤ò½¤Àµ¤·¤¿¸å¤ËºÆ¹½ÃÛ¤¬É¬ÍפǤ·¤¿¡£

    -

    3.10) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹¤«¡© +

    3.9) ¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë pg_sorttemp.XXX¥Õ¥¡¥¤¥ë¤Ï²¿¤Ç¤¹¤«¡©

    -

    Ì䤤¹ç¤ï¤»¼Â¹Ô¥â¥¸¥å¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Î㤨¤Ð¡¢¤â¤· ORDER BY ¶ç¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ð¥Ã¥¯¥¨¥ó¥É¤Î -S ¥Ñ¥é¥á¡¼¥¿¤Çµö²Ä¤·¤¿Ãͤè¤ê¤âÂ礭¤Ê¥¹¥Ú¡¼¥¹¤¬¥½¡¼¥È¤ÎºÝ¤ËɬÍפÀ¤È¤¹¤ë¤È¡¢°î¤ì¤¿¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤¬¤¤¤¯¤Ä¤«À¸À®¤µ¤ì¤Þ¤¹¡£ +

    Ì䤤¹ç¤ï¤»¼Â¹Ô¥â¥¸¥å¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Î㤨¤Ð¡¢¤â¤· ORDER BY ¶ç¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ð¥Ã¥¯¥¨¥ó¥É¤Î -S ¥Ñ¥é¥á¡¼¥¿¤Çµö²Ä¤·¤¿Ãͤè¤ê¤âÂ礭¤Ê¥¹¥Ú¡¼¥¹¤¬¥½¡¼¥È¤ÎºÝ¤ËɬÍפÀ¤È¤¹¤ë¤È¡¢°î¤ì¤¿¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤¬¤¤¤¯¤Ä¤«À¸À®¤µ¤ì¤Þ¤¹¡£

    °ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤Ï¼«Æ°Åª¤Ë¾Ã¤·µî¤é¤ì¤ë¤Ï¤º¤Ç¤¹¤¬¡¢¤â¤·¡¢¥½¡¼¥È¤ÎÅÓÃæ¤Ç¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¥¯¥é¥Ã¥·¥å¤·¤Æ¤·¤Þ¤¦¤È¤½¤¦¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤½¤Î¤È¤­¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¤Ò¤È¤Ä¤âÁö¤Ã¤Æ¤Ê¤±¤ì¤Ð¡¢pg_tempNNN.NN¥Õ¥¡¥¤¥ë¤ò¾Ã¤·¤Æ¤âÂç¾æÉפǤ¹¡£ @@ -788,40 +866,34 @@ PostgreSQL

    Áàºî¾å¤Î¼ÁÌä

    -

    4.1) ¤Ê¤¼¡¢¥·¥¹¥Æ¥à¤Ï¥«¥ó¥Þ¤ä¾®¿ôÅÀ¤äÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Çº®Í𤹤ë¤Î¤Ç¤¹¤«¡© -

    - -

    ¥í¥±¡¼¥ë¤ÎÀßÄê¤ò³Î¤«¤á¤Æ²¼¤µ¤¤¡£PostgreSQL ¤Ï postmaster ¥×¥í¥»¥¹¤òÁö¤é¤»¤¿¥æ¡¼¥¶¡¼¤Î¥í¥±¡¼¥ë¤ÎÀßÄê¤ò»È¤¤¤Þ¤¹¡£postgres ¤Èpsql ¤Ë¤Ï SET ¥³¥Þ¥ó¥É¤¬¤¢¤ê¡¢¥Ç¡¼¥¿½ñ¼°¤òÀ©¸æ¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤ò¤¢¤Ê¤¿¤ÎÁàºî´Ä¶­¤Ë¹ç¤ï¤»¤ÆÀßÄꤷ¤Æ²¼¤µ¤¤¡£ - -

    -

    4.2) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡© +

    4.1) ¥Ð¥¤¥Ê¥ê¡¦¥«¡¼¥½¥ë¤ÈÄ̾參¡¼¥½¥ë¤È¤Î¸·Ì©¤Ê°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©

    -

    ¾Ü½Ò¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç DECLARE ¤ò¸«¤Æ²¼¤µ¤¤¡£ +

    ¾Ü½Ò¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç DECLARE ¤ò¸«¤Æ²¼¤µ¤¤¡£

    -

    4.3) ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò SELECT ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +

    4.2) ºÇ½é¤Î¿ô¹Ô¤Î¤ß¤ò SELECT ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©

    -

    ¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤ÇFETCH¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£¤¢¤ë¤¤¤Ï¡¢SELECT ... LIMIT....¤ò»È¤Ã¤Æ¤ß¤Æ²¼¤µ¤¤¡£ +

    ¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤ÇFETCH¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£¤¢¤ë¤¤¤Ï¡¢SELECT ... LIMIT....¤ò»È¤Ã¤Æ¤ß¤Æ²¼¤µ¤¤¡£ -

    ¤¿¤È¤¨¡¢Íߤ·¤¤¤Î¤ÏºÇ½é¤Î¿ô¹Ô¤À¤±¤Ç¤â¡¢¤¹¤Ù¤Æ¤ÎÌ䤤¹ç¤ï¤»¤òɾ²Á¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ORDER BY ¤ò»ý¤Ã¤¿Ì䤤¹ç¤ï¤»¤ò¹Í¤¨¤Æ¤ß¤Æ²¼¤µ¤¤¡£ -¤â¤·¡¢ORDER BY¤Ë¹ç¤Ã¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ë¤È¤¹¤ë¤È PostgreSQL¤ÏÍ׵ᤵ¤ì¤¿ºÇ½é¤Î¿ô¹Ô¤À¤±¤Çɾ²Á¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤Ç¤Ê¤ì¤Ð¡¢PostgreSQL ¤Ï°Õ¿Þ¤·¤¿¹Ô¤¬À¸À®¤µ¤ì¤ë¤Þ¤Ç¤¹¤Ù¤Æ¤Î¹Ô¤òɾ²Á¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ +

    ¤¿¤È¤¨¡¢Íߤ·¤¤¤Î¤ÏºÇ½é¤Î¿ô¹Ô¤À¤±¤Ç¤â¡¢¤¹¤Ù¤Æ¤ÎÌ䤤¹ç¤ï¤»¤òɾ²Á¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ORDER BY ¤ò»ý¤Ã¤¿Ì䤤¹ç¤ï¤»¤ò¹Í¤¨¤Æ¤ß¤Æ²¼¤µ¤¤¡£ +¤â¤·¡¢ORDER BY¤Ë¹ç¤Ã¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ë¤È¤¹¤ë¤È PostgreSQL¤ÏÍ׵ᤵ¤ì¤¿ºÇ½é¤Î¿ô¹Ô¤À¤±¤Çɾ²Á¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤Ç¤Ê¤ì¤Ð¡¢PostgreSQL ¤Ï°Õ¿Þ¤·¤¿¹Ô¤¬À¸À®¤µ¤ì¤ë¤Þ¤Ç¤¹¤Ù¤Æ¤Î¹Ô¤òɾ²Á¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£

    -

    4.4) ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò psql ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +

    4.3) ¥Æ¡¼¥Ö¥ë¤ä¤½¤Î¾¤Î¾ðÊó¤Î¥ê¥¹¥È¤ò psql ¤Ç¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©

    psql¤Î¥½¡¼¥¹¥³¡¼¥É¤È¤·¤Æ½ñ¤«¤ì¤¿ pgsql/src/bin/psql/describe.c ¥Õ¥¡¥¤¥ë¤òÆɤळ¤È¤¬¤½¤ÎÅú¤¨¤Ç¤¹¡£ -¤½¤³¤Ë¤Ï¡¢psql¤Î¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¥³¥Þ¥ó¥É¤Ë¤è¤ë½ÐÎϤΤ¿¤á¤ÎSQL¥³¥Þ¥ó¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ psql ¤Ë -E ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤¹¤ì¤Ð¡¢Í¿¤¨¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ÎÌ䤤¹ç¤ï¤»¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +¤½¤³¤Ë¤Ï¡¢psql¤Î¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¥³¥Þ¥ó¥É¤Ë¤è¤ë½ÐÎϤΤ¿¤á¤ÎSQL¥³¥Þ¥ó¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ psql ¤Ë -E ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤¹¤ì¤Ð¡¢Í¿¤¨¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ÎÌ䤤¹ç¤ï¤»¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£

    -

    4.5) ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡© +

    4.4) ¥Æ¡¼¥Ö¥ë¤«¤éÎó¤Îºï½ü¤Ï¤É¤Î¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©

    -

    ALTER TABLE DROP COLUMN ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤½¤ÎÂå¤ï¤ê¤Ë¤³¤¦¤·¤Þ¤¹: +

    ALTER TABLE DROP COLUMN ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤½¤ÎÂå¤ï¤ê¤Ë¤³¤¦¤·¤Þ¤¹:

     	SELECT ...  -- ºï½ü¤·¤¿¤¤Îó°Ê³°¤ÎÎó¤ò¤¹¤Ù¤ÆÁªÂò¤·¤Þ¤¹¡£
    @@ -835,12 +907,12 @@ PostgreSQL
     
     
     

    -

    4.6) ¹Ô¡¢¥Æ¡¼¥Ö¥ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º¤Ï¡© +

    4.5) ¹Ô¡¢¥Æ¡¼¥Ö¥ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º¤Ï¡©

    À©¸Â¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£

    -¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º? 	À©¸Â̵¤· (60GB ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤â¸ºß¤·¤Þ¤¹)
    +¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇÂ祵¥¤¥º? 	À©¸Â̵¤· (500GB ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤â¸ºß¤·¤Þ¤¹)
     ¥Æ¡¼¥Ö¥ë¤ÎºÇÂ祵¥¤¥º?           16TB
     ¹Ô¤ÎºÇÂ祵¥¤¥º?                 7.1°Ê¹ß¤ÇÀ©¸Â̵¤·
     ¥Õ¥£¡¼¥ë¥É¤ÎºÇÂ祵¥¤¥º?         7.1°Ê¹ß¤Ç1GB
    @@ -857,74 +929,96 @@ PostgreSQL
     
     
     

    -

    4.7) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤ϤɤΤ¯¤é¤¤É¬ÍפǤ¹¡© +

    4.6) °ìÈÌŪ¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤ϤɤΤ¯¤é¤¤É¬ÍפǤ¹¡©

    -PostgreSQL ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢ÉáÄ̤Υե¡¥¤¥ë¤ÎÌó6.5ÇܤΥǥ£¥¹¥¯ÍÆÎ̤òɬÍפȤ·¤Þ¤¹¡£

    -

    ³Æ¹Ô¤ËÆó¤Ä¤º¤ÄÀ°¿ô¤ò»ý¤Ä 300,000¹Ô¤Î¥Õ¥¡¥¤¥ë¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£¤¿¤À¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï 2.4MB ¤Ç¤¹¡£¤³¤Î¥Ç¡¼¥¿¤ò´Þ¤à PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ¤Ï¼¡¤Î¤è¤¦¤ËÌó14MB¤È¸«ÀѤâ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§ +ÉáÄ̤Υƥ­¥¹¥È¥Õ¥¡¥¤¥ë¤ò PostgreSQL ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢ºÇÂç¤ÇÌó5ÇܤΥǥ£¥¹¥¯ÍÆÎ̤òɬÍפȤ·¤Þ¤¹¡£

    + +

    ÎãÂê¤È¤·¤Æ¡¢³Æ¹Ô¤ËÀ°¿ô¤È¥Æ¥­¥¹¥Èµ­½Ò¤ò»ý¤Ä 100,000¹Ô¤Î¥Õ¥¡¥¤¥ë¤ò¹Í¤¨ +¤Æ¤ß¤Þ¤·¤ç¤¦¡£¥Æ¥­¥¹¥È¤Îʸ»úÎó¤ÎÊ¿¶ÑŤµ¤ò20¥Ð¥¤¥È¤È²¾Äꤹ¤ë¤È¡¢¥Õ¥é¥Ã¥È +¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ¤ÏÌó2.8MB ¤Ç¤¹¡£¤³¤Î¥Ç¡¼¥¿¤ò´Þ¤à PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ +¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ¤Ï¼¡¤Î¤è¤¦¤ËÌó6.4MB¤È¸«ÀѤâ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§

         36 bytes: ³Æ¹Ô¤Î¥Ø¥Ã¥À(³µ»»)
    -   + 8 bytes: ³Æ4¥Ð¥¤¥È¤ÎÆó¤Ä¤ÎÀ°¿ô(int)¥Õ¥£¡¼¥ë¥É
    +    24 bytes: À°¿ô(int)¥Õ¥£¡¼¥ë¥É¤È¥Æ¥­¥¹¥È(text)¥Õ¥£¡¼¥ë¥É
        + 4 bytes: ¥Ú¡¼¥¸¾å¤Î¥¿¥Ã¥×¥ë¤Ø¤Î¥Ý¥¤¥ó¥¿
        ----------------------------------------
    -   48 bytes per row
    +   64 bytes per row
     
        PostgreSQL ¤Î¥Ç¡¼¥¿¥Ú¡¼¥¸¥µ¥¤¥º¤Ï 8192¥Ð¥¤¥È(8KB)¤Ê¤Î¤Ç:
     
        8192 bytes per page
    -   -------------------   =  171 rows per database page (ÀÚ¤ê¾å¤²)
    -     48 bytes per row
    +   -------------------   =  128 rows per database page (ÀÚ¤ê¾å¤²)
    +     64 bytes per row
     
    -   300000 data rows
    -   --------------------  =  1755 database pages
    -      171 rows per page
    +   100000 data rows
    +   --------------------  =  782 database pages
    +      128 rows per page
      
    -1755 database pages * 8192 bytes per page  =  14,376,960 bytes (14MB)
    +782 database pages * 8192 bytes per page  =  6,406,144 bytes (6.4 MB)
     

    ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢¤³¤ì¤Û¤É¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤ÏÍ׵ᤷ¤Þ¤»¤ó¤¬¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹ÉÕ¤±¤µ¤ì¤ë¥Ç¡¼¥¿¤ò´Þ¤à°Ê¾å¡¢¤½¤ì¤Ê¤ê¤ËÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£

    -

    4.8) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±½Ð¤·¤Þ¤¹¤«¡© +

    4.7) ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ¸«¤Ä¤±½Ð¤·¤Þ¤¹¤«¡©

    psql ¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¡¦¥³¥Þ¥ó¥É¤¬¤¢¤ê¡¢¤³¤¦¤·¤¿¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¡¦¥³¥Þ¥ó¥É¤Î¼ïÎà¤ò¸«¤ë¤Ë¤Ï \? ¤ò»È¤Ã¤Æ²¼¤µ¤¤¡£ -

    ¤Þ¤¿¡¢pgsql/src/tutorial/syscat.source ¥Õ¥¡¥¤¥ë¤òÁö¤é¤»¤Æ¤ß¤Æ²¼¤µ¤¤¡£¤½¤ì¤Ï¡¢Âô»³¤Î SELECT ʸ¤Ë¤è¤êɬÍפʾðÊó¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¡¦¥Æ¡¼¥Ö¥ë¤«¤é¼è¤ê½Ð¤·¤ÆÎ㼨¤·¤Æ¤¯¤ì¤Þ¤¹¡£ +

    ¤Þ¤¿¡¢pgsql/src/tutorial/syscat.source ¥Õ¥¡¥¤¥ë¤òÁö¤é¤»¤Æ¤ß¤Æ²¼¤µ¤¤¡£¤½¤ì¤Ï¡¢Âô»³¤Î SELECT ʸ¤Ë¤è¤êɬÍפʾðÊó¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¡¦¥Æ¡¼¥Ö¥ë¤«¤é¼è¤ê½Ð¤·¤ÆÎ㼨¤·¤Æ¤¯¤ì¤Þ¤¹¡£

    -

    4.9) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤«¡© +

    4.8) Ì䤤¹ç¤ï¤»¤¬ÃÙ¤¤¤¦¤¨¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤Ã¤Æ¤¤¤ëÍͻҤ¬¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ç¤¹¤«¡©

    -

    PostgreSQL ¤ÏÅý·×¾ðÊó¤ò¼«Æ°Åª¤Ë¤ÏÊݼ餷¤Þ¤»¤ó¡£Åý·×¾ðÊó¤ò¹¹¿·¤¹¤ë¤¿¤á¤Ë¤Ï¡¢VACUUM ¤òÁö¤é¤»¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£Åý·×¾ðÊ󤬹¹¿·¤µ¤ì¤¿¸å¤Ï¡¢¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¥Æ¡¼¥Ö¥ë¤Ë²¿¹Ô¤¢¤ë¤«¤òÃΤäơ¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ù¤­¤«¤Î·èÄê¤ò¤è¤êÎɤ¯²¼¤·¤Þ¤¹¡£¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¥Æ¡¼¥Ö¥ë¤¬¾®¤µ¤¯¤ÆϢ³¥¹¥­¥ã¥ó¤ÎÊý¤¬Â®¤¤¤Ç¤¢¤í¤¦¾ì¹ç¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤ï¤Ê¤¤¤³¤È¤Ë¤´Ãí°Õ²¼¤µ¤¤¡£ - -

    ÎóÆÃÄê¤ÎºÇŬ²½Åý·×¤Î¤¿¤á¤ËVACUUM ANALYZE¤ò»È¤¤¤Þ¤¹¡£VACUUM ANALYZE¤ÏÊ£»¨¤ÊÊ£¹ç·ë¹ç(multi-join)Ì䤤¹ç¤ï¤»¤Î¤¿¤á¤ËÂçÀڤǤ¹¤Î¤Ç¡¢¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤«¤éÊÖ¤µ¤ì¤ë¹Ô¤Î¿ô¤ò¸«ÀѤ뤳¤È¤¬¤Ç¤­¡¢ÆÃÄê¤Î·ë¹ç½ç½ø¤òÁª¤Ó¤Þ¤¹¡£¥Ð¥Ã¥¯¥¨¥ó¥É¤Ï¤½¤ì¼«¿È¤Ç¤ÏÎó¤ÎÅý·×¤òÊÝ»ý¤·¤Ê¤¤¤Î¤Ç¡¢Äê´üŪ¤Ë¤½¤ì¤é¤ò½¸¤á¤ë¤¿¤á¤Ë¤Ï VACUUM ANALYZE ¤òÁö¤é¤»¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ - -

    ÉáÄÌ¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï ORDER BY ¤ä·ë¹ç¤ÎÁàºî¤Î¤¿¤á¤Ë¤Ï»È¤ï¤ì¤Þ¤»¤ó¡£¥é¥ó¥À¥à¤Ê¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤Ï¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¡¢½ç¼¡¥¹¥­¥ã¥ó¤Ë³¤¯ÌÀ¼¨Åª¥½¡¼¥È¤Ï¡¢µðÂç¤Ê¥Æ¡¼¥Ö¥ë¤ÎÁ´·ï¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¥¹¥­¥ã¥ó¤¹¤ë¤è¤ê¤â¹â®¤Ç¤¹¡£ +¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¼«Æ°Åª¤Ë¤¹¤Ù¤Æ¤ÎÌ䤤¹ç¤ï¤»¤Ç»È¤ï¤ì¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥Æ¡¼ +¥Ö¥ë¤¬ºÇ¾®¥µ¥¤¥º¤è¤êÂ礭¤¯¡¢Ì䤤¹ç¤ï¤»¤Ç¤½¤Î¤ï¤º¤«¤Ê¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¤Î¹Ô¤ò +ÁªÂò¤¹¤ë»þ¤À¤±¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï»È¤ï¤ì¤Þ¤¹¡£¤³¤ì¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¥¹¥­¥ã¥ó¤Ë¤è +¤êµ¯¤³¤µ¤ì¤ë¥é¥ó¥À¥à¤Ê¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ò¥¹¥È¥ì¡¼¥È¤ËÆɤà½ç¼¡ +Áöºº¤è¤ê¤âÃÙ¤¯¤Ê¤ë¤³¤È¤¬¤È¤­¤É¤­¤¢¤ë¤«¤é¤Ç¤¹¡£ + +

    ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢PostgreSQL ¤Ï¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤ +¤Æ¤ÎÅý·×¾ðÊó¤ò»ý¤¿¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ÎÅý·×¾ðÊó¤Ï¡¢VACUUM +ANALYZE¤Þ¤¿¤Ï¡¢Ã±¤Ë ANALYZE ¤ò»È¤Ã¤Æ¼ý½¸¤¹¤ë¤³¤È +¤¬¤Ç¤­¤Þ¤¹¡£Åý·×¾ðÊó¤ò»È¤Ã¤Æ¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤Ï¥Æ¡¼¥Ö¥ë¤ÎÃæ¤Ë²¿¹Ô¤¢¤ë¤«¤òÃÎ +¤ê¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ù¤­¤«¤Î¤Î·èÄê¤ò¤è¤êÀµ¤·¤¯¤Ç¤­¤Þ¤¹¡£Åý·×¾ðÊó¤ÏºÇŬ +¤Ê·ë¹ç½ç¤ä·ë¹çÊýË¡¤ò·è¤á¤ë¾å¤Ç¤âµ®½Å¤Ê¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£Åý·×¾ðÊó¤Î¼ý½¸¤Ï¡¢ +¥Æ¡¼¥Ö¥ë¤ÎÆâÍƤ¬¤«¤ï¤ë¤ÈËè¤Ë·«ÊÖ¤·¤Ê¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£

    + +

    ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢Ä̾ï ORDER BY ¤ä·ë¹ç¤ò¹Ô¤Ê +¤¦¤¿¤á¤Ë¤Ï»È¤ï¤ì¤Þ¤»¤ó¡£½ç¼¡¥¹¥­¥ã¥ó¤Ë³¤¯ÌÀ¼¨Åª¥½¡¼¥È¤Ï¡¢µðÂç¤Ê¥Æ¡¼¥Ö¥ë +¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¥¹¥­¥ã¥ó¤è¤ê¤âÉáÄ̤Ϲ⮤Ǥ¹¡£

    + ¤·¤«¤·¡¢ORDER BY¤ÈÁȤ߹ç¤ï¤µ¤ì¤¿LIMIT +¤Ï¡¢¥Æ¡¼¥Ö¥ë¤Î¾®¤µ¤ÊÉôʬ¤òÊÖ¤¹¤¿¤á¤Ë¤¿¤Ó¤¿¤Ó¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ç¤·¤ç¤¦¡£ + +

    LIKE ¤¢¤ë¤¤¤Ï ~ ¤Î¤è¤¦¤Ê¥ï¥¤¥ë¥É¥«¡¼¥É±é»» +»Ò¤ò»È¤¦¤È¤­¡¢¸¡º÷¤Î³«»Ï¤¬Ê¸»úÎó¤Î»Ï¤á¤ÎÉôʬ¤Ë¸ÇÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤Î¤ß¡¢ +¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Þ¤¹¡£¤½¤¦¤¤¤¦¤ï¤±¤Ç¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢ +LIKE ¥Ñ¥¿¡¼¥ó¤Ï%¤Ç»Ï¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¡¢¤Þ¤¿¡¢ +~(Àµµ¬É½¸½)¥Ñ¥¿¡¼¥ó¤Ï^ ¤Ç»Ï¤á¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ -

    LIKE ¤¢¤ë¤¤¤Ï ~ ¤Î¤è¤¦¤Ê¥ï¥¤¥ë¥É¥«¡¼¥É±é»»»Ò(wild-card operators)¤ò»È¤¦¤È¤­¡¢¸¡º÷¤Î³«»Ï¤¬Ê¸»úÎó¤Î»Ï¤á¤ÎÉôʬ¤Ë¸ÇÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤Î¤ß¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Þ¤¹¡£ -¤½¤¦¤¤¤¦¤ï¤±¤Ç¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢LIKE ¸¡º÷¤Ç¤Ï%¤Ç»Ï¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¡¢¤Þ¤¿¡¢~(Àµµ¬É½¸½¸¡º÷)¤Ï^ ¤Ç»Ï¤á¤ë¤è¤¦¤Ë¤¹¤ë¤Ù¤­¤Ç¤¹¡£ - -[ÌõÃí¡§¶¯À©Åª¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ë¤Ï - SET enable_seqscan = off ¤ò¼Â¹Ô¤·¤Þ¤¹] +[ÌõÃí¡§ + ¶¯À©Åª¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È¤¦¤Ë¤Ï SET enable_seqscan = off ¤ò¼Â¹Ô¤·¤Þ¤¹ +]

    -

    4.10) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤Î¤«¤ò¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +

    4.9) Ì䤤¹ç¤ï¤»¥ª¥Ö¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤ËÌ䤤¹ç¤ï¤»¤òɾ²Á¤¹¤ë¤Î¤«¤ò¸«¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©

    -

    ¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç EXPLAIN ¤ò¸«¤Æ²¼¤µ¤¤¡£ +

    ¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç EXPLAIN ¤ò¸«¤Æ²¼¤µ¤¤¡£

    -

    4.11) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡©

    +

    4.10) R-tree ¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ï²¿¤Ç¤¹¤«¡©

    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. +Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.

    ¤³¤ÎÏÀʸ¤Ï¡¢Stonebraker ¶µ¼ø¤Î "Readings in Database Systems" ¤Ç¤â¼è¤ê¾å¤²¤é¤ì¤Æ¤¤¤Þ¤¹¡£ @@ -952,17 +1046,17 @@ Proc of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.

    -

    4.12) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡© +

    4.11) °äÅÁŪÌ䤤¹ç¤ï¤»ºÇŬ²½¤È¤Ï²¿¤Ç¤¹¤«¡©

    GEQO ¥â¥¸¥å¡¼¥ë¤Ï¡¢Âô»³¤Î¥Æ¡¼¥Ö¥ë¤ò·ë¹ç¤¹¤ë¤È¤­¤Ë¡¢°äÅÁŪ¥¢¥ë¥´¥ê¥º¥à(GA)¤ÇÌä¹ç¤ï¤»¤ò¹â®²½¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤·¤é¤ß¤Ä¤Ö¤·¤Ëõº÷¤ò¹Ô¤Ê¤ï¤Ê¤¯¤Æ¤â¡¢Â礭¤Ê·ë¹ç(join queries)¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

    -

    4.13) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«¡©Âçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤¸¡º÷¤Î¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¤É¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¤«¡© +

    4.12) Àµµ¬É½¸½¤Ç¤Î¸¡º÷¤äÂçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤Àµµ¬É½¸½¸¡º÷¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«¡©Âçʸ»ú¤È¾®Ê¸»ú¤È¤ò¶èÊ̤·¤Ê¤¤¸¡º÷¤Î¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¤É¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¤«¡©

    -~±é»»»Ò¤ÏÀµµ¬É½¸½¾È¹ç¤ò¹Ô¤Ê¤¤¡¢~* ¤ÏÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤(case-insensitive)Àµµ¬É½¸½¾È¹ç¤ò¹Ô¤¤¤Þ¤¹¡£ PostgreSQL 7.1 °Ê¹ß¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤ LIKE ±é»»»Ò¤ò ILIKE ¤È¤¤¤¤¤Þ¤¹¡£ +~±é»»»Ò¤ÏÀµµ¬É½¸½¾È¹ç¤ò¹Ô¤Ê¤¤¡¢~* ¤ÏÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤(case-insensitive)Àµµ¬É½¸½¾È¹ç¤ò¹Ô¤¤¤Þ¤¹¡£ PostgreSQL 7.1 °Ê¹ß¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤ LIKE ±é»»»Ò¤ò ILIKE ¤È¤¤¤¤¤Þ¤¹¡£

    Âçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤ÅùÃÍÈæ³Ó¼¡¤Î¤è¤¦¤Ëɽ¸½¤Ç¤­¤ë¡§ @@ -989,13 +1083,14 @@ Proc of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.

    -

    4.14) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© +

    4.13) Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬ NULL ¤Ç¤¢¤ë¤³¤È¤ò¸¡½Ð¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©

    -

    IS NULL¤Î¥«¥é¥à¤ò IS NOT NULL ¤Ç»î¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£ +

    ¥«¥é¥à¤ò IS NULL ¤È IS NOT NULL +¤È¤Ç»î¤·¤Æ¤ß¤Þ¤¹¡£

    -

    4.15) ÍÍ¡¹¤Êʸ»ú·¿¤Î¤½¤ì¤¾¤ì¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡© +

    4.14) ÍÍ¡¹¤Êʸ»ú·¿¤Î¤½¤ì¤¾¤ì¤Î°ã¤¤¤Ï²¿¤Ç¤¹¤«¡©

    @@ -1005,19 +1100,27 @@ Type            Internal Name   Notes
     CHAR(#)         bpchar          »ØÄꤵ¤ì¤¿¸ÇÄêĹ¤È¤Ê¤ë¤è¤¦¤Ë¶õÇò¤¬µÍ¤á¤é¤ì¤ë
     VARCHAR(#)      varchar         Ťµ¤Î¾å¸Â¤Î̵¤¤¥Æ¥­¥¹¥È
     TEXT            text            Ťµ¤ÎÀ©¸Â¤ÏºÇÂç¹ÔŤˤè¤ë
    -BYTEA           bytea           ²ÄÊÑĹ¤Î¥Ð¥¤¥ÈÇÛÎó
    +BYTEA           bytea           ²ÄÊÑĹ¤Î¥Ð¥¤¥ÈÇÛÎó(null-byte safe)
     

    ÆâÉô̾¤Ë¤ªÌܤˤ«¤«¤ë¤Î¤Ï¡¢¥·¥¹¥Æ¥à¡¦¥«¥¿¥í¥°¤òÄ´¤Ù¤ë¤È¤­¤ä¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤È¤­¤Ç¤¹¡£ -

    ¾åµ­¤Î·¿¤Î¤¦¤Á¸å¤Î£´¤Ä¤Î·¿¤Ï "varlena" ·¿¤Ç¤¹(¤¹¤Ê¤ï¤Á¡¢¥Ç¥£¥¹¥¯¤ÎºÇ½é¤Î£´¥Ð¥¤¥È¤¬¥Ç¡¼¥¿Ä¹¤Ç¡¢¤½¤ì¤Î¸å¤Ë¼ÂºÝ¤Î¥Ç¡¼¥¿¤¬Â³¤­¤Þ¤¹)¡£¤³¤Î¤è¤¦¤Ë¼ÂºÝ¤Î¶õ´Ö¤ÏÀë¸À¤µ¤ì¤¿Â礭¤µ¤è¤ê¤â¾¯¤·Â礭¤¯¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ì¤é¤Î¥Ç¡¼¥¿·¿¤ÏTOAST¤Ë¤è¤ê°µ½Ì¤µ¤ì¤¿¤êÊ£¿ô¹Ô¤ËÅϤäÆÊݸ¤µ¤ì¤¿¤ê¤·¤Æ¡¢¥Ç¥£¥¹¥¯¾å¤Î¶õ´Ö¤Ï»×¤Ã¤¿¤è¤ê¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¡£ +

    ¾åµ­¤Î·¿¤Î¤¦¤Á¸å¤Î£´¤Ä¤Î·¿¤Ï "varlena" ·¿¤Ç¤¹(¤¹¤Ê¤ï¤Á¡¢¥Ç¥£¥¹¥¯¤ÎºÇ½é¤Î£´¥Ð¥¤¥È¤¬¥Ç¡¼¥¿Ä¹¤Ç¡¢¤½¤ì¤Î¸å¤Ë¼ÂºÝ¤Î¥Ç¡¼¥¿¤¬Â³¤­¤Þ¤¹)¡£¤³¤Î¤è¤¦¤Ë¼ÂºÝ¤Î¶õ´Ö¤ÏÀë¸À¤µ¤ì¤¿Â礭¤µ¤è¤ê¤â¾¯¤·Â礭¤¯¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ì¤é¤Î¥Ç¡¼¥¿·¿¤ÏTOAST¤Ë¤è¤ê°µ½Ì¤µ¤ì¤¿¤êÊ£¿ô¹Ô¤ËÅϤäÆÊݸ¤µ¤ì¤¿¤ê¤·¤Æ¡¢¥Ç¥£¥¹¥¯¾å¤Î¶õ´Ö¤Ï»×¤Ã¤¿¤è¤ê¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¡£ + +

    CHAR()¤Ï¤¤¤Ä¤âŤµ¤¬Æ±¤¸Ê¸»úÎó¤òÊݸ¤¹¤ë¤Î¤ËºÇŬ¤Ç +¤¹¡£VARCHAR() ¤Ï²ÄÊÑŤÎʸ»úÎó¤òÊݸ¤¹¤ë¤Î¤ËºÇŬ¤Ç¤¹¤¬¡¢ +Êݸ¤Ç¤­¤ëʸ»úÎó¤ÎŤµ¤ËÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£TEXT ¤ÏŤµ¤ËÀ©¸Â +¤Î̵¤¤Ê¸»úÎó¤ÎÊݸ¤¿¤á¤Î¤â¤Î¤Ç¡¢ºÇÂç1¥®¥¬¥Ð¥¤¥È¤Ç¤¹¡£ +BYTEA¤Ï¡¢ÉôʬŪ¤ËNULL ¤Î¥Ð¥¤¥È¤ò´Þ¤à¥Ð¥¤¥Ê +¥ê¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£

    +

    -

    4.16.1) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡© +

    4.15.1) ÄÌÈÖ(serial)¡¿¼«Æ°Áýʬ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©

    -

    PostgreSQL ¤Ï SERIAL ¥Ç¡¼¥¿·¿¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£Îó¾å¤ËÄÌÈ֤ȥ¤¥ó¥Ç¥Ã¥¯¥¹¤ò¼«Æ°ºîÀ®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ +

    PostgreSQL ¤Ï SERIAL ¥Ç¡¼¥¿·¿¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£Îó¾å¤ËÄÌÈ֤ȥ¤¥ó¥Ç¥Ã¥¯¥¹¤ò¼«Æ°ºîÀ®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢

     	CREATE TABLE person ( 
    @@ -1035,49 +1138,62 @@ BYTEA           bytea           
     	CREATE UNIQUE INDEX person_id_key ON person ( id );
     
    ÄÌÈ֤ˤĤ¤¤Æ¤Î¤â¤Ã¤È¾Ü¤·¤¤¾ðÊó¤Ï¡¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ç create_sequence ¤ò¤´Í÷²¼¤µ¤¤¡£ -

    ¤Þ¤¿¡¢³Æ¹Ô¤ÎOID¥Õ¥£¡¼¥ë¥É¤ò°ì°ÕÃͤȤ·¤Æ»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢¤â¤·¤â¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥À¥ó¥×¤·¤Æ¤ê¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢OID¤ò²¹Â¸¤¹¤ë¤¿¤á¤Ëpg_dump ¤Ç -o¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤«¡¢¤Þ¤¿¤Ï¡¢COPY WITH OIDS¥ª¥×¥·¥ç¥ó¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ +

    ¤Þ¤¿¡¢³Æ¹Ô¤ÎOID¥Õ¥£¡¼¥ë¥É¤ò°ì°ÕÃͤȤ·¤Æ»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢¤â¤·¤â¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥À¥ó¥×¤·¤Æ¤ê¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢OID¤ò²¹Â¸¤¹¤ë¤¿¤á¤Ëpg_dump ¤Ç -o¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤«¡¢¤Þ¤¿¤Ï¡¢COPY WITH OIDS¥ª¥×¥·¥ç¥ó¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ Bruce Momjian ¤Î(http://www.PostgreSQL.org/docs/aw_pgsql_book)¤Î Numbering Rows¤Î¾Ï¤Ë¤¢¤ê¤¢¤Þ¤¹¡£ -

    4.16.2) SERIAL¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡© -

    - ¤Ò¤È¤Ä¤ÎÊýË¡¤Ï¡¢nextval() ´Ø¿ô¤ò»È¤Ã¤Æ¤½¤ÎÃͤòÁÞÆþ¤¹¤ëÁ°(before)¤Ë SEQUENCE ¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¼¡¤Î SERIAL Ãͤò¼è¤ê½Ð¤·¡¢¤½¤ì¤«¤é¼ÂºÝ¤ËÁÞÆþ¤ò¤¹¤ë¤³¤È¤Ç¤¹¡£ 4.16.1 ¤ÎÎã¤Ç»È¤Ã¤¿¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +

    4.15.2) SERIAL¥Ç¡¼¥¿·¿¤ËÁÞÆþ¤µ¤ì¤ëÃͤϡ¢¤É¤¦¤¹¤ì¤ÐÆÀ¤é¤ì¤Þ¤¹¤«¡© +

    +

    ¤Ò¤È¤Ä¤ÎÊýË¡¤Ï¡¢nextval() ´Ø¿ô¤ò»È¤Ã¤Æ¤½¤ÎÃͤòÁÞÆþ¤¹¤ë +Á°(before)¤Ë SEQUENCE ¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¼¡¤Î SERIAL Ãͤò¼è¤ê½Ð¤·¡¢¤½¤ì¤«¤é¼ÂºÝ¤ËÁÞÆþ¤ò¤¹¤ë¤³¤È¤Ç¤¹¡£4.16.1 ¤ÎÎã¤Ç»È¤Ã¤¿¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤È¤¹¤ë¤È¡¢Perl ¤Ç¤Ï +¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

    -	$newSerialID = nextval('person_id_seq');
    -	INSERT INTO person (id, name) VALUES ($newSerialID, 'Blaise Pascal');
    +	new_id = output of "SELECT nextval('person_id_seq')"
    +	INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal');
     
    -¤½¤¦¤·¤Æ¡¢$newSerialID ¤ËÊݸ¤·¤¿¿·¤·¤¤Ãͤò¾¤ÎÌ䤤¹ç¤ï¤»¤Ë(¤¿¤È¤¨¤Ð¡¢person ¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ë³°Éô¥­¡¼(foreign key)¤Î¤è¤¦¤Ë)»È¤¦¤È¤è¤¤¤Ç¤·¤ç¤¦¡£¼«Æ°Åª¤Ëºî¤é¤ì¤¿SEQUENCE¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢<table>_<serialcolumn>_seq ¤Î¤è¤¦¤Ë¤Ê¤ê¡¢¤³¤Î¤¦¤Á¡¢table ¤È serialcolumn ¤Ï¤½¤ì¤¾¤ì¥Æ¡¼¥Ö¥ë¤Î̾Á°¤ÈSERIALÎó¤Î̾Á°¤Ç¤¹¡£ +¤½¤¦¤·¤Æ¡¢new_id ¤ËÊݸ¤·¤¿¿·¤·¤¤Ãͤò¾¤ÎÌ䤤¹ç¤ï¤»¤Ë(¤¿¤È¤¨¤Ð¡¢person ¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ë³°Éô¥­¡¼(foreign key)¤Î¤è¤¦¤Ë)»È¤¦¤È¤è¤¤¤Ç¤·¤ç¤¦¡£¼«Æ°Åª¤Ëºî¤é¤ì¤¿SEQUENCE¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢<table>_<serialcolumn>_seq ¤Î¤è¤¦¤Ë¤Ê¤ê¡¢¤³¤Î¤¦¤Á¡¢table ¤È serialcolumn ¤Ï¤½¤ì¤¾¤ì¥Æ¡¼¥Ö¥ë¤Î̾Á°¤ÈSERIALÎó¤Î̾Á°¤Ç¤¹¡£

    -¤¢¤ë¤¤¤Ï¡¢Í¿¤¨¤é¤ì¤¿SERIALÃͤò¡¢¤½¤ì¤¬´ûÄêÃͤȤ·¤ÆÁÞÆþ¤µ¤ì¤¿¸å¤Ç(after)¡¢ currval() ´Ø¿ô¤ò»È¤Ã¤Æ¼è¤ê½Ð¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ +¤¢¤ë¤¤¤Ï¡¢Í¿¤¨¤é¤ì¤¿SERIALÃͤò¡¢¤½¤ì¤¬´ûÄêÃͤȤ·¤ÆÁÞÆþ¤µ¤ì¤¿¸å¤Ç(after)¡¢ currval() ´Ø¿ô¤ò»È¤Ã¤Æ¼è¤ê½Ð¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢

     	INSERT INTO person (name) VALUES ('Blaise Pascal');
    -	$newID = currval('person_id_seq');
    +	new_id = currval('person_id_seq');
     
    -ºÇ¸å¤Ë¡¢INSERTʸ¤«¤éÊÖ¤ëOID¤ò»È¤Ã¤Æ¡¢´ûÄêÃͤò¤ß¤Ä¤±¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤·¤«¤·¡¢¤³¤ì¤ÏºÇ¤â°Ü¿¢À­¤ÎÄ㤤¤ä¤êÊý¤Ç¤·¤ç¤¦¡£Perl¤ÎDBI¤Ç Edmund Mergl ¤Îºî¤Ã¤¿ DBD::Pg ¥â¥¸¥å¡¼¥ë¤ò»È¤¨¤Ð¡¢$sth->execute() ¤Î¸å¤Ë $sth->{pg_oid_status} ¤ò·Ðͳ¤·¤Æ¤½¤Î OID Ãͤò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¡£ +ºÇ¸å¤Ë¡¢INSERTʸ¤«¤éÊÖ¤ëOID¤ò»È¤Ã¤Æ¡¢´ûÄêÃͤò¤ß¤Ä¤±¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤·¤«¤·¡¢¤³¤ì¤ÏºÇ¤â°Ü¿¢À­¤ÎÄ㤤¤ä¤êÊý¤Ç¤·¤ç¤¦¡£Perl¤ÎDBI¤Ç Edmund Mergl ¤Îºî¤Ã¤¿ DBD::Pg ¥â¥¸¥å¡¼¥ë¤ò»È¤¨¤Ð¡¢$sth->execute() ¤Î¸å¤Ë $sth->{pg_oid_status} ¤ò·Ðͳ¤·¤Æ¤½¤Î OID Ãͤò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¡£

    -

    4.16.3) ¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È¤ï¤Ê¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡© -

    +

    4.15.3) ¾¤Î¥æ¡¼¥¶¤È¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢currval() ¤È nextval() ¤Ï»È¤ï¤Ê¤¤¤Û¤¦¤¬¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«¡© +

    + +

    ¤½¤ì¤Ï¤¢¤ê¤Þ¤»¤ó¡£Currval() ¤Ï¡¢¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¤¢¤Ê¤¿¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¤ËÍ¿¤¨¤é¤ì¤¿¸½ºß¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£ -¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¾å¼ê¤Ë½èÍý¤¹¤ë¤Î¤Ç¡¢¶¥¹ç¾õÂ֤ˤʤ뤳¤È¤ÏÍ­¤ê¤Þ¤»¤ó¡£ +

    4.15.4) ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬ÃæÃǤ·¤¿¤È¤­¤Ë¤â¤¦¤¤ +¤Á¤É¥·¡¼¥±¥ó¥¹Èֹ椬»È¤ï¤ì¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©¥·¡¼¥±¥ó¥¹¡¿SERIAL¥«¥é¥à¤Ë +¶õ¤­¤¬¤¢¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© +

    + +

    Ʊ»þÀ­¤ò²þÁ±¤¹¤ë¤¿¤á¤Ë¡¢¼Â¹ÔÃæ¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ë¡¢É¬Í×¤Ç¥È +¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¥í¥Ã¥¯¤µ¤ì¤Ê¤¤¥·¡¼¥±¥ó¥¹ÃͤòÍ¿¤¨¤Æ¤¤¤Þ¤¹¡£ +¤³¤Î¤¿¤á¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬ÃæÃǤµ¤ì¤ë¤ÈÈÖ¹æ³ä¤êÅö¤Æ¤Ë¥®¥ã¥Ã¥×¤òÀ¸¤¸¤Þ¤¹¡£ +

    -

    4.17) OID ¤È¤Ï²¿¤Ç¤¹¤«¡© TID ¤È¤Ï²¿¤Ç¤¹¤«¡© +

    4.16) OID ¤È¤Ï²¿¤Ç¤¹¤«¡© TID ¤È¤Ï²¿¤Ç¤¹¤«¡©

    -

    OID ¤È¤Ï°ì°Õ¤Î¹Ô ID ¤ËÂФ¹¤ë PostgreSQL ¤ÎÅú¤¨¤Ç¤¹¡£PostgreSQL ¤ÎÃæ¤Ç¤Ä¤¯¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¹Ô¤Ï°ì°Õ¤Î OID ¤òÆÀ¤Þ¤¹¡£initdb ¤ÇȯÀ¸¤µ¤ì¤ë OID ¤Ï¤¹¤Ù¤Æ 16384 (backend/access/transam.h ¤«¤é)¤è¤ê¾®¤µ¤ÊÃͤǤ¹¡£initdb ¸å¤Î¤¹¤Ù¤Æ¤Î OID (¥æ¡¼¥¶ºîÀ®)¤Ï¤½¤ì°Ê¾å¤ÎÃͤˤʤê¤Þ¤¹¡£ -´ûÄê¤Ç¤Ï¡¢¤³¤ì¤é¤¹¤Ù¤Æ¤Î OID¤Ï°ì¤Ä¤Î¥Ç¡¼¥Ö¥ë¤ä¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ëα¤Þ¤é¤º¡¢PostgreSQL ¥¤¥ó¥¹¥È¥ì¡¼¥·¥ç¥óÁ´ÂΤÎÃæ¤Ç°ì°Õ¤Ç¤¹¡£ +

    OID ¤È¤Ï°ì°Õ¤Î¹Ô ID ¤ËÂФ¹¤ë PostgreSQL ¤ÎÅú¤¨¤Ç¤¹¡£PostgreSQL ¤ÎÃæ¤Ç¤Ä¤¯¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¹Ô¤Ï°ì°Õ¤Î OID ¤òÆÀ¤Þ¤¹¡£initdb ¤ÇȯÀ¸¤µ¤ì¤ë OID ¤Ï¤¹¤Ù¤Æ 16384 (backend/access/transam.h ¤«¤é)¤è¤ê¾®¤µ¤ÊÃͤǤ¹¡£initdb ¸å¤Î¤¹¤Ù¤Æ¤Î OID (¥æ¡¼¥¶ºîÀ®)¤Ï¤½¤ì°Ê¾å¤ÎÃͤˤʤê¤Þ¤¹¡£ +´ûÄê¤Ç¤Ï¡¢¤³¤ì¤é¤¹¤Ù¤Æ¤Î OID¤Ï°ì¤Ä¤Î¥Ç¡¼¥Ö¥ë¤ä¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ëα¤Þ¤é¤º¡¢PostgreSQL ¥¤¥ó¥¹¥È¥ì¡¼¥·¥ç¥óÁ´ÂΤÎÃæ¤Ç°ì°Õ¤Ç¤¹¡£ -

    PostgreSQL ¤Ï¥Æ¡¼¥Ö¥ë´Ö¤Î¹Ô¤ò·ë¤Ó¤Ä¤±¤ë¤¿¤á¤Ë¡¢¤½¤Î¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ëÆâ¤Ë OID ¤ò»È¤¤¤Þ¤¹¡£¤³¤Î OID ¤ÏÆÃÄê¤Î¥æ¡¼¥¶¤Î¹Ô¤ò¼±Ê̤¹¤ë¤¿¤á¤ä·ë¹ç¤ÎÃæ¤Ç»È¤ï¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£OID ¤ÎÃͤòÊݸ¤¹¤ë¤¿¤á¤Ë¤Ï OID ·¿¤òÎó¤Ë»È¤¦¤³¤È¤ò¾©¤á¤Þ¤¹¡£¤è¤ê®¤¯¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë OID ¥Õ¥£¡¼¥ë¥É¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +

    PostgreSQL ¤Ï¥Æ¡¼¥Ö¥ë´Ö¤Î¹Ô¤ò·ë¤Ó¤Ä¤±¤ë¤¿¤á¤Ë¡¢¤½¤Î¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ëÆâ¤Ë OID ¤ò»È¤¤¤Þ¤¹¡£¤³¤Î OID ¤ÏÆÃÄê¤Î¥æ¡¼¥¶¤Î¹Ô¤ò¼±Ê̤¹¤ë¤¿¤á¤ä·ë¹ç¤ÎÃæ¤Ç»È¤ï¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£OID ¤ÎÃͤòÊݸ¤¹¤ë¤¿¤á¤Ë¤Ï OID ·¿¤òÎó¤Ë»È¤¦¤³¤È¤ò¾©¤á¤Þ¤¹¡£¤è¤ê®¤¯¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë OID ¥Õ¥£¡¼¥ë¥É¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ - OID ¤Ï¡¢Á´¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç»È¤ï¤ì¤ëÃæ±ûÎΰ褫¤é¡¢Á´¤Æ¤Î¿·¤·¤¤¹Ô¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£OID ¤ò¾¤Î²¿¤«¤ËÊѤ¨¤¿¤¤¡¢¤¢¤ë¤¤¤Ï¸µ¤Î OID ¤â¥Æ¡¼¥Ö¥ë¤È°ì½ï¤Ë¥³¥Ô¡¼¤·¤¿¤¤¤Î¤Ê¤é¡¢¤Ç¤­¤Ê¤¯¤Ï¤¢¤ê¤Þ¤»¤ó¡£ + OID ¤Ï¡¢Á´¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç»È¤ï¤ì¤ëÃæ±ûÎΰ褫¤é¡¢Á´¤Æ¤Î¿·¤·¤¤¹Ô¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£OID ¤ò¾¤Î²¿¤«¤ËÊѤ¨¤¿¤¤¡¢¤¢¤ë¤¤¤Ï¸µ¤Î OID ¤â¥Æ¡¼¥Ö¥ë¤È°ì½ï¤Ë¥³¥Ô¡¼¤·¤¿¤¤¤Î¤Ê¤é¡¢¤Ç¤­¤Ê¤¯¤Ï¤¢¤ê¤Þ¤»¤ó¡£

    @@ -1092,12 +1208,12 @@ BYTEA           bytea           
     -->
     
    -

    OID ¤Ï¡¢4¥Ð¥¤¥È¤ÎÀ°¿ô¤È¤·¤ÆÊݸ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢40²¯¤ò±Û¤¨¤ë¤È°î¤ì¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£Ã¯¤â¤³¤ì¤¬µ¯¤­¤¿¤ÈÊó¹ð¤·¤Æ¤¯¤ë¿Í¤Ï¤¤¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢¤½¤¦¤Ê¤ëÁ°¤Ë¤³¤ÎÀ©¸Â¤ò¼è¤ê½ü¤¯¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£ +

    OID ¤Ï¡¢4¥Ð¥¤¥È¤ÎÀ°¿ô¤È¤·¤ÆÊݸ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢40²¯¤ò±Û¤¨¤ë¤È°î¤ì¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£Ã¯¤â¤³¤ì¤¬µ¯¤­¤¿¤ÈÊó¹ð¤·¤Æ¤¯¤ë¿Í¤Ï¤¤¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢¤½¤¦¤Ê¤ëÁ°¤Ë¤³¤ÎÀ©¸Â¤ò¼è¤ê½ü¤¯¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£ -

    TID ¤ÏÆÃÄê¤ÎʪÍý¹Ô¤ò¤½¤Î¥Ö¥í¥Ã¥¯¤È¥ª¥Õ¥»¥Ã¥ÈÃͤǼ±Ê̤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£TID ¤Ï¹Ô¤¬½¤Àµ¤µ¤ì¤¿¤êºÆ¥í¡¼¥É¤µ¤ì¤ë¤ÈÊѤï¤ê¤Þ¤¹¡£¤½¤ì¤é¤Î TID ¤Ï¡¢ÊªÍý¹Ô¤ò»Ø¤¹¤¿¤á¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹µ­ºÜ¤Ç»È¤ï¤ì¤Þ¤¹¡£ +

    TID ¤ÏÆÃÄê¤ÎʪÍý¹Ô¤ò¤½¤Î¥Ö¥í¥Ã¥¯¤È¥ª¥Õ¥»¥Ã¥ÈÃͤǼ±Ê̤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£TID ¤Ï¹Ô¤¬½¤Àµ¤µ¤ì¤¿¤êºÆ¥í¡¼¥É¤µ¤ì¤ë¤ÈÊѤï¤ê¤Þ¤¹¡£¤½¤ì¤é¤Î TID ¤Ï¡¢ÊªÍý¹Ô¤ò»Ø¤¹¤¿¤á¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹µ­ºÜ¤Ç»È¤ï¤ì¤Þ¤¹¡£

    -

    4.18) PostgreSQL ¤Ç»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤ÎÍѸì¤Î°ÕÌ£¤Ï²¿¤Ç¤¹¤«¡© +

    4.17) PostgreSQL ¤Ç»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤ÎÍѸì¤Î°ÕÌ£¤Ï²¿¤Ç¤¹¤«¡©

    ¤¤¤¯¤Ä¤«¤Î¥½¡¼¥¹¥³¡¼¥É¤ä¸Å¤¤Ê¸½ñ¤ÎÃæ¤Ë¤Ï¡¢¤½¤ì¤¾¤ÎÀìÌçʬÌî¤ÎÃæ¤Ç¤â¤Ã¤È°ìÈÌŪ¤Ë»È¤ï¤ì¤ëÀìÌçÍѸ줬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ @@ -1109,7 +1225,7 @@ BYTEA bytea

  • ¼èÆÀ(retrieve)¡¢ÁªÂò(select)
  • ÃÖ´¹(replace)¡¢¹¹¿·(update)
  • ÄɲÃ(append)¡¢ÁÞÆþ(insert) -
  • OID, Ï¢ÈÖ(serial value) +
  • OID, Ï¢ÈÖ(serial value)
  • ¥Ý¡¼¥¿¥ë(portal), ¥«¡¼¥½¥ë(cursor)
  • ÎΰèÊÑ¿ô(range variable)¡¢¥Æ¡¼¥Ö¥ë̾(table name)¡¢¥Æ¡¼¥Ö¥ëÊÌ̾(table alias) @@ -1119,7 +1235,7 @@ http://www.comptechnews.com/~reaster/dbdesign.html ¤Ç¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£

    -

    4.19) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© +

    4.18) ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ "ERROR: Memory exhausted in AllocSetAlloc()"¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©

    ¤â¤·¡¢7.1 ¤è¤ê¤â¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ò¤ª»È¤¤¤Î¾ì¹ç¤Ï¡¢¥¢¥Ã¥×¥Ç¡¼¥È¤Ë¤è¤Ã¤Æ¤³¤ÎÌäÂê¤ò @@ -1132,40 +1248,40 @@ http://www.comptechnews.com/~reaster/dbdesign.html

  • -¥·¥§¥ë¤Ë¤è¤Ã¤Æ¡¢¤É¤Á¤é¤«¤Ò¤È¤Ä¤¬À®¸ù¤¹¤ë¤Ç¤·¤ç¤¦¤¬¡¢¤³¤ì¤Ï¥×¥í¥»¥¹¤Î¥Ç¡¼¥¿¥»¥°¥á¥ó¥ÈÀ©¸Â¤ò¤è¤ê¹â¤¯ÀßÄꤷ¡¢¤¿¤Ö¤óÌ䤤¹ç¤ï¤»¤¬´°·ë¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¸½¹Ô¤Î¥×¥í¥»¥¹¤È¡¢¤³¤Î¥³¥Þ¥ó¥É¤òÁö¤é¤»¤¿¸å¤Ëºî¤é¤ì¤ëÁ´¤Æ¤Î¥µ¥Ö¥×¥í¥»¥¹¤Ë¤Ä¤¤¤ÆŬÍѤµ¤ì¤Þ¤¹¡£¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¤È¤Æ¤â¿¤¯¤Î¥Ç¡¼¥¿¤òÊÖ¤¹¤¿¤á¤ËSQL ¥¯¥é¥¤¥¢¥ó¥È¤ÇÌäÂ꤬³¤¤¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò³«»Ï¤¹¤ëÁ°¤Ë¤³¤ì¤ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ +¥·¥§¥ë¤Ë¤è¤Ã¤Æ¡¢¤É¤Á¤é¤«¤Ò¤È¤Ä¤¬À®¸ù¤¹¤ë¤Ç¤·¤ç¤¦¤¬¡¢¤³¤ì¤Ï¥×¥í¥»¥¹¤Î¥Ç¡¼¥¿¥»¥°¥á¥ó¥ÈÀ©¸Â¤ò¤è¤ê¹â¤¯ÀßÄꤷ¡¢¤¿¤Ö¤óÌ䤤¹ç¤ï¤»¤¬´°·ë¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¸½¹Ô¤Î¥×¥í¥»¥¹¤È¡¢¤³¤Î¥³¥Þ¥ó¥É¤òÁö¤é¤»¤¿¸å¤Ëºî¤é¤ì¤ëÁ´¤Æ¤Î¥µ¥Ö¥×¥í¥»¥¹¤Ë¤Ä¤¤¤ÆŬÍѤµ¤ì¤Þ¤¹¡£¥Ð¥Ã¥¯¥¨¥ó¥É¤¬¤È¤Æ¤â¿¤¯¤Î¥Ç¡¼¥¿¤òÊÖ¤¹¤¿¤á¤ËSQL ¥¯¥é¥¤¥¢¥ó¥È¤ÇÌäÂ꤬³¤¤¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò³«»Ï¤¹¤ëÁ°¤Ë¤³¤ì¤ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

    -

    4.20) ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤òÁö¤é¤»¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
    +

    4.19) ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î PostgreSQL ¤òÁö¤é¤»¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©

    psql ¤«¤é select version(); ¤ò¥¿¥¤¥×¤·¤Þ¤¹¡£

    -

    4.21) ¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Çinvalid large obj descriptor ¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿¡£¤Ê¤¼¤Ç¤·¤ç¤¦¤«¡© +

    4.20) ¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤Çinvalid large obj descriptor ¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿¡£¤Ê¤¼¤Ç¤·¤ç¤¦¤«¡©

    ¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÁàºî¤ò¤¹¤ë¤È¤­¤Ï¡¢Á°¸å¤ËBEGIN WORK¤ÈCOMMIT¤òÉÕ¤±¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢lo_open ... lo_close¤ò¤Ï¤µ¤ß¹þ¤ß¤Þ¤¹¡£

    ¸½ºß¤Ï¡¢PostgreSQL¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥³¥ß¥Ã¥È»þ¤Ë¥é¡¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥Ï¥ó¥É¥ë¤òÊĤ¸¤ë¤³¤È¤Ë¤è¤ê¡¢lo_open¥³¥Þ¥ó¥É¤¬´°Î»¤·¤¿Ä¾¸å¤Ë¶¯À©Åª¤Ë¥ë¡¼¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢ºÇ½é¤Ë¥Ï¥ó¥É¥ë¤ËÂФ·¤Æ²¿¤«¤ò¤·¤è¤¦¤È¤¹¤ë¤È¡¢invalid large obj descriptor(¥é¡¼¥¸¥ª¥Ö¥¸¥§¥¯¥È¤Îµ­½Ò»Ò¤¬ÉÔÀµ)¤È¤Ê¤ê¤Þ¤¹¡£¤½¤ì¤Ç¡¢¤â¤·¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò»È¤¦¤Î¤ò˺¤ì¤ë¤È¡¢¡Ê¾¯¤Ê¤¯¤È¤â¤Û¤È¤ó¤É¤Î»þ´Ö¡ËƯ¤¤¤Æ¤¤¤¿¥³¡¼¥É¤¬¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤¹¤Î¤Ç¤¹¡£ -

    ¤â¤·¡¢ODBC¤Î¤è¤¦¤Ê¥¯¥é¥¤¥¢¥ó¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¤ª»È¤¤¤Ê¤é¡¢auto-commit off¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ +

    ¤â¤·¡¢ODBC¤Î¤è¤¦¤Ê¥¯¥é¥¤¥¢¥ó¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¤ª»È¤¤¤Ê¤é¡¢auto-commit off¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£

    -

    4.22) ¸½ºß¤Î»þ¹ï¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¤è¤¦¤ÊÎó¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©

    +

    4.21) ¸½ºß¤Î»þ¹ï¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¤è¤¦¤ÊÎó¤Ï¤É¤Î¤è¤¦¤Ë¤Ä¤¯¤ê¤Þ¤¹¤«¡©

    -

    now()¤ò»È¤¤¤Þ¤¹: +

    CURRENT_TIMESTAMP¤ò»È¤¤¤Þ¤¹:

    -	CREATE TABLE test (x int, modtime timestamp DEFAULT now() );
    +	CREATE TABLE test (x int, modtime timestamp DEFAULT >CURRENT_TIMESTAMP );
     

    -

    4.23) ¤Ê¤¼¡¢IN¤ò»È¤¦ÉûÌ䤤¹ç¤ï¤»¤¬¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¤¹¤«¡© +

    4.22) ¤Ê¤¼¡¢IN¤ò»È¤¦ÉûÌ䤤¹ç¤ï¤»¤¬¤È¤Æ¤âÃÙ¤¤¤Î¤Ç¤¹¤«¡©

    -¸½ºß¡¢³°ÉôÌ䤤¹ç¤ï¤»¤Î³Æ¹Ô¤Ë¤Ä¤¤¤ÆÉûÌ䤤¹ç¤ï¤»¤Î·ë²Ì¤ò½çÈ֤˥¹¥­¥ã¥ó¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ÉûÌ䤤¹ç¤ï¤»¤ò³°ÉôÌ䤤¹ç¤ï¤»¤Ë·ë¹ç¤·¤Æ¤¤¤Þ¤¹¡£ÅöÌ̤ÏIN¤òEXISTS¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤Ç¤¹¡§ +¸½ºß¡¢³°ÉôÌ䤤¹ç¤ï¤»¤Î³Æ¹Ô¤Ë¤Ä¤¤¤ÆÉûÌ䤤¹ç¤ï¤»¤Î·ë²Ì¤ò½çÈ֤˥¹¥­¥ã¥ó¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ÉûÌ䤤¹ç¤ï¤»¤ò³°ÉôÌ䤤¹ç¤ï¤»¤Ë·ë¹ç¤·¤Æ¤¤¤Þ¤¹¡£ÅöÌ̤ÏIN¤òEXISTS¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤Ç¤¹¡§

     	SELECT *
     	FROM tab
    @@ -1181,9 +1297,9 @@ http://www.comptechnews.com/~reaster/dbdesign.html
     ¤³¤ÎÀ©¸Â¤Ï¾­Íè¤Î¥ê¥ê¡¼¥¹¤Çľ¤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£
     

    -

    4.24) ³°Éô·ë¹ç(outer join)¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«?

    +

    4.23) ³°Éô·ë¹ç(outer join)¤Ï¤É¤Î¤è¤¦¤Ë¼Â¸½¤·¤Þ¤¹¤«?

    -PostgreSQL 7.1 °Ê¹ß¤Ç¤ÏSQLɸ½à¹½Ê¸¤ò»È¤¦³°Éô·ë¹ç(¥¢¥¦¥¿¡¼¥¸¥ç¥¤¥ó)¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤³¤Ë¡¢ÎãÂ꤬2¤Ä¤¢¤ê¤Þ¤¹¡£ +PostgreSQL 7.1 °Ê¹ß¤Ç¤ÏSQLɸ½à¹½Ê¸¤ò»È¤¦³°Éô·ë¹ç(¥¢¥¦¥¿¡¼¥¸¥ç¥¤¥ó)¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤³¤Ë¡¢ÎãÂ꤬2¤Ä¤¢¤ê¤Þ¤¹¡£

     SELECT *
    @@ -1193,9 +1309,9 @@ PostgreSQL 7.1 
     SELECT *
      FROM t1 LEFT OUTER JOIN t2 USING (col);
    -¤³¤ì¤é¤Î¾ÝħŪ¤ÊÌ䤤¹ç¤ï¤»¤Ç¤Ï t1.col ¤ò t2.col ¤È·ë¹ç¤·¤Æ¡¢t1 ¤Î·ë¹ç¤µ¤ì¤Ê¤«¤Ã¤¿¹Ô(t2 ¤È°ìÃפ·¤Ê¤«¤Ã¤¿¹Ô)¤âÊÖ¤·¤Æ¤¤¤Þ¤¹¡£RIGHT ·ë¹ç¤Ï t2 ¤Î·ë¹ç¤µ¤ì¤Ê¤«¤Ã¤¿¹Ô¤ò²Ã¤¨¤ë¤Ç¤·¤ç¤¦¡£FULL ·ë¹ç¤Ï¡¢°ìÃפ·¤¿¹Ô¤Ë t1 ¤È t2 ¤«¤é¤Ï·ë¹ç¤µ¤ì¤Ê¤«¤Ã¤¿¹Ô¤òÊÖ¤¹¤Ç¤·¤ç¤¦¡£OUTER ¤È¤¤¤¦¸ÀÍդϥª¥×¥·¥ç¥ó¤Ç LEFT, RIGHT, ¤Þ¤¿¤Ï FULL ¤Ê¤É¤Î·ë¹ç¤ò²¾Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +¤³¤ì¤é¤Î¾ÝħŪ¤ÊÌ䤤¹ç¤ï¤»¤Ç¤Ï t1.col ¤ò t2.col ¤È·ë¹ç¤·¤Æ¡¢t1 ¤Î·ë¹ç¤µ¤ì¤Ê¤«¤Ã¤¿¹Ô(t2 ¤È°ìÃפ·¤Ê¤«¤Ã¤¿¹Ô)¤âÊÖ¤·¤Æ¤¤¤Þ¤¹¡£RIGHT ·ë¹ç¤Ï t2 ¤Î·ë¹ç¤µ¤ì¤Ê¤«¤Ã¤¿¹Ô¤ò²Ã¤¨¤ë¤Ç¤·¤ç¤¦¡£FULL ·ë¹ç¤Ï¡¢°ìÃפ·¤¿¹Ô¤Ë t1 ¤È t2 ¤«¤é¤Ï·ë¹ç¤µ¤ì¤Ê¤«¤Ã¤¿¹Ô¤òÊÖ¤¹¤Ç¤·¤ç¤¦¡£OUTER ¤È¤¤¤¦¸ÀÍդϥª¥×¥·¥ç¥ó¤Ç LEFT, RIGHT, ¤Þ¤¿¤Ï FULL ¤Ê¤É¤Î·ë¹ç¤ò²¾Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ -°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï³°Éô·ë¹ç(outer join)¤òUNION ¤È NOT IN ¤ò»È¤Ã¤Æ¥·¥ß¥å¥ì¡¼¥È¤Ç¤­¤Þ¤¹¡£ +°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï³°Éô·ë¹ç(outer join)¤òUNION ¤È NOT IN ¤ò»È¤Ã¤Æ¥·¥ß¥å¥ì¡¼¥È¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢tab1 ¤È tab2 ¤ò·ë¹ç¤¹¤ë¤È¤­¤Ï¡¢¼¡¤ÎÌ䤤¹ç¤ï¤»¤ÇÆó¤Ä¤Î¥Æ¡¼¥Ö¥ë¤ò³°Éô·ë¹ç¤·¤Þ¤¹¡£
    @@ -1210,7 +1326,7 @@ PostgreSQL 7.1 
     

    -

    4.25) Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»È¤¦Ì䤤¹ç¤ï¤»¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤Ç¤­¤Þ¤¹¤«¡©

    +

    4.24) Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»È¤¦Ì䤤¹ç¤ï¤»¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤Ç¤­¤Þ¤¹¤«¡©

    ¸½¹Ô(current)¤ò½ü¤¤¤Æ¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤ÎÌ䤤¹ç¤ï¤»ÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤È¤¤¤¦¤Î¤âPostgreSQL¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹»ÅÍͤΥ·¥¹¥Æ¥à¥«¥¿¥í¥°¤òÆɤ߹þ¤à¤¿¤á¤Ç¡¢¤½¤³¤Ë¤Ï¡¢¤¿¤È¤¨¤½¤Î¤Õ¤ê¤ò¤¹¤ë¤À¤±¤Ë¤·¤í¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò±Û¤¨¤ÆÌ䤤¹ç¤ï¤»¤ò¤¹¤ë¤¹¤Ù¤¬¤¢¤ê¤Þ¤»¤ó¡£ @@ -1243,7 +1359,7 @@ PostgreSQL 7.1

    5.4) ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Þ¤·¤¿¡£ºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤âÊѲ½¤¬¸«¤é¤ì¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©

    -

    ¤¤¤¯¤Ä¤«¤Î Makefile ¤¬¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆŬÀڤʰ͸´Ø·¸¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£make clean ¤ò¤·¤Æ¤«¤é¤â¤¦°ìÅÙ make ¤ò¹Ô¤Ê¤ï¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤â¤·¡¢GCC ¤ò¤ª»È¤¤¤Ç¤¢¤ì¤Ð configure ¤Î --enable-depend ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸´Ø·¸¤ò¼«Æ°Åª¤ËÄ´¤Ù¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +

    ¤¤¤¯¤Ä¤«¤Î Makefile ¤¬¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆŬÀڤʰ͸´Ø·¸¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£make clean ¤ò¤·¤Æ¤«¤é¤â¤¦°ìÅÙ make ¤ò¹Ô¤Ê¤ï¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤â¤·¡¢GCC ¤ò¤ª»È¤¤¤Ç¤¢¤ì¤Ð configure ¤Î --enable-depend ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸´Ø·¸¤ò¼«Æ°Åª¤ËÄ´¤Ù¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£


    @@ -1252,7 +1368,7 @@ PostgreSQL 7.1 [ÌõÃí¡§ ÆüËܸìÈǤÎÀ½ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ - ºÇ½ª¹¹¿·Æü: 2001ǯ12·î10Æü + ºÇ½ª¹¹¿·Æü: 2002ǯ04·î05Æü ËÝÌõ¼Ô: ·¬Â¼ ½á (Jun Kuwamura <juk@postgresql.jp>) ¤³¤ÎFAQ¤ÎÏÂÌõ¤ÎºîÀ®¤Ë¤¢¤¿¤ê¶¨ÎϤò¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹(·É¾Î¤Ïά¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹): -- 2.40.0