PostgreSQL FAQ ¸¶Áö¸·À¸·Î °íÄ£ ³¯Â¥ : 1998³â 5¿ù 7ÀÏ ÇѱÛÆÇ °ü¸® : Á¤Á÷ÇÑ ( honest@hitel.net ) ÃֽŹ®¼­´Â postgreSQL À¥»çÀÌÆ®, http://postgreSQL.org ¿¡¼­ º¼ ¼ö ÀÖ½À´Ï´Ù. ¸®´ª½º¿¡ °ü·ÃµÈ Áú¹®µéÀº ´ÙÀ½ ¹®¼­¿¡ Á¤¸®µÇ¾î ÀÖ½À´Ï´Ù. http://postgreSQL.org/docs/faq-linux.shtml Irix ¿¡ °ü·ÃµÈ Áú¹®µéÀº ´ÙÀ½ ¹®¼­¿¡ Á¤¸®µÇ¾î ÀÖ½À´Ï´Ù. http://postgreSQL.org/docs/faq-irix.shtml ------------------------------------------------------------------------ Áú¹®µé : 1. ÀϹÝÀûÀÎ Áú¹® 1. PostgreSQL ÀÌ ¹«¾ùÀԴϱî?? 2. PostgreSQL Àº ¾îµð¿¡¼­ ½ÇÇàµÉ ¼ö ÀÖ½À´Ï±î? 3. PostgreSQL À» ¾îµð¿¡¼­ ±¸ÇÒ ¼ö ÀÖÀ»±î¿ä? 4. PostgreSQL ÀÇ ÀúÀÛ±ÇÀº ¾î¶»°Ô µË´Ï±î? 5. PostgreSQL ¿¡ ´ëÇÑ Áö¿ø 6. ÃֽŹöÀüÀÇ PostgreSQL 7. PostgreSQL ÀÇ »ó¿ë¹öÀüÀÌ ÀÖ½À´Ï±î? 8. PostgreSQL ¿¡ °üÇØ ¾î¶² ¹®¼­µéÀÌ ÀÖ½À´Ï±î? 9. PostgreSQL Àº SQL ÀÇ ¾î¶² ¹öÀüÀ» »ç¿ëÇմϱî? 10. PostgreSQL ÀÇ ÀÌÀü¹öÀü¿¡¼­ »ç¿ëÇÏ´ø µ¥ÀÌŸº£À̽ºµéÀ» PostgreSQL ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ³ª¿ä? 11. PostgreSQL À» À§ÇÑ ODBC µå¶óÀ̹ö°¡ ÀÖ½À´Ï±î? 12. À¥ÆäÀÌÁö¿¡ PostgreSQL À» ¿¬°á½ÃÅ°±âÀ§ÇÑ µµ±¸·Î´Â ¾î¶² °ÍÀÌ ÀÖ½À´Ï±î? 13. PostgreSQL ¿¡ GUI (graphical user interface) °¡ ÀÖ³ª¿ä? ¸®Æ÷Æ® Á¦³Ê·¹ÀÌÅʹ¿ä? ³»Àå ÁúÀǾî ÀÎÅÍÆäÀ̽º´Â ÀÖ½À´Ï±î? 14. ¾î¶»°Ô ÇØ¾ß SQL À» ¹è¿ï ¼ö ÀÖ³ª¿ä? 15. PostgreSQL °ú ¿¬°áÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡´Â ¾î¶² °ÍÀÌ ÀÖ½À´Ï±î? 2. ¼³Ä¡/¼³Á¤¿¡ ´ëÇÑ Áú¹® 1. initdb °¡ ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù. 2. postmaster ¸¦ ½ÇÇàÅ°·Á°í ÇÏ¸é ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù. "FindBackend: could not find a backend to execute..." "postmaster: could not find backend to execute..." 3. ½Ã½ºÅÛÀÌ ÄÞ¸¶(,) ¿Í ¼Ò¼öÁ¡(.), ±×¸®°í ³¯Â¥ Çü½Ä µîÀ» È¥µ¿ÇÏ´Â °Í °°½À´Ï´Ù. 4. /usr/local/pgsql ¿ÜÀÇ ´Ù¸¥ °÷¿¡ PostgreSQL À» ¼³Ä¡ÇÏ·Á¸é ¾î¶»°Ô Çմϱî? 5. postmaster ¸¦ ½ÇÇà½ÃÅ°¸é Bad System Call core dumped ¶ó´Â ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù. 6. postmaster ¸¦ ½ÃÀÛÇÏ·Á°í Çϸé IpcMemoryCreate ¶ó´Â ¿¡·¯°¡ ³ª¿É´Ï´Ù. 7. ¼Ò½ºÆÄÀÏÀ» º¯°æÇß½À´Ï´Ù. ÇÏÁö¸¸ ÀçÄÄÆÄÀÏÀÌ ±× º¯°æÀ» ¾Ë¾ÆÂ÷¸®Áö ¸øÇÏ´Â °Í °°½À´Ï´Ù. 8. ¾î¶»°Ô ÇØ¾ß ´Ù¸¥ È£½ºÆ®¿¡¼­ ³» PostgreSQL ¿¡ Á¢±ÙÇÏ´Â °ÍÀ» ¸·À» ¼ö ÀÖ½À´Ï±î? 9. 'root' »ç¿ëÀÚ°¡ µ¥ÀÌŸº£À̽º¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù. 10. Å×À̺íÀ» µ¿½Ã¿¡ ¾ï¼¼½ºÇÏ·Á°í ÇÏ¸é ¸ðµç ¼­¹ö°¡ Á×½À´Ï´Ù. ¿ÖÁÒ? 11. ¼º´ÉÀ» ³ôÀ̱â À§Çؼ­ ¾î¶»°Ô µ¥ÀÌŸº£À̽º ¿£ÁøÀ» Æ©´×ÇØ¾ß Çմϱî? 12. PostgreSQL ¿¡ µð¹ö±ëÀ» À§ÇÑ ±â´ÉÀÌ ¾î¶² °ÍÀÌ ÀÖ½À´Ï±î? 13. 32°³ ÀÌ»óÀÇ ¹é¿£µå¸¦ µ¿½Ã¿¡ »ç¿ëÇÏ·Á¸é ¾î¶»°Ô Çմϱî? 14. À¯´Ð½º°¡ ¾Æ´Ñ ´Ù¸¥ Ç÷§Æû¿¡¼­µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï±î? 3. Á¶ÀÛ¿¡ °üÇÑ Áú¹® 1. PostgreSQL ¿¡¼­ ÁßøµÈ ¼­ºêÄõ¸®¸¦ Áö¿øÇմϱî? 2. ·êÀ» »ç¿ëÇϴµ¥ ¹®Á¦°¡ ¸¹½À´Ï´Ù. 3. ´ëÇü°´Ã¼ÀÇ Áß°£¿¡ ½á³Ö´Â ÀÛ¾÷À» ¾ÈÀüÇÏ°Ô (reliably) ÇÒ ¼ö°¡ ¾ø´Â °Í °°½À´Ï´Ù. 4. PostgreSQL ÀÇ Å¬¶óÀ̾ðÆ® ¾îÇø®ÄÉÀ̼ÇÀº ¾î¶»°Ô ¸¸µé¾î¾ß Çմϱî? 5. pg_group À» ¾î¶»°Ô ¼³Á¤ÇÏÁÒ? 6. ¹ÙÀ̳ʸ® Ä¿¼­¿Í ÀÏ¹Ý Ä¿¼­ÀÇ Â÷ÀÌÁ¡ÀÌ Á¤È®È÷ ¹¼´Ï±î? 7. R-tree À妽º°¡ ¹«¾ùÀ̸ç, ¾îµð¿¡ ¾²ÀÌ´Â °ÅÁÒ? 8. Æ©ÇÃÀÇ ÃÖ´ë Å©±â°¡ ¾î¶»°Ô µË´Ï±î? 9. À妽º¸¦ Á¤ÀÇÇßÁö¸¸ Äõ¸®¿¡¼­ »ç¿ëµÇÁö ¾Ê´Â °Í °°½À´Ï´Ù. ¿Ö ±×·¸½À´Ï±î? 10. Á¤±Ô½Ä °Ë»öÀ» ¾î¶»°Ô ÇÏ¸é µË´Ï±î? ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾Ê°í Á¤±Ô°Ë»öÀ» ÇÏ·Á¸é¿ä? 11. vacuum À» ÇÏ´Â µµÁß¿¡ ¼­¹ö Å©·¡½Ã°¡ ÀϾ½À´Ï´Ù. lock ÆÄÀÏÀ» ¾î¶»°Ô ¾ø¾Ö¾ß Çմϱî? 12. ¿©·¯°¡Áö ij¸¯ÅÍ ÇüµéÀÇ Â÷ÀÌÁ¡Àº ¹«¾ùÀԴϱî? 13. Äõ¸® ¾È¿¡¼­ Çʵ尡 NULL °ªÀÎÁö ¾Æ´ÑÁö ¾î¶»°Ô ¾Ë¾Æ³¾ ¼ö ÀÖ³ª¿ä? 14. Äõ¸® ¿ÉƼ¸¶ÀÌÀú°¡ ³» Äõ¸®¸¦ ¾î¶»°Ô ó¸®ÇÏ´ÂÁö º¼ ¼ö ÀÖ½À´Ï±î? 15. ½Ã¸®¾ó Çʵ带 ¾î¶»°Ô ¸¸µéÁÒ? 16. µ¥ÀÌŸº£À̽º µð·ºÅ丮¿¡ »ý±â´Â pg_psort.XXX ÆÄÀϵéÀº ¹¼´Ï±î? 17. ´Ù¸¥ ÄÄÇ»ÅÍ¿¡¼­ ³» µ¥ÀÌŸº£À̽º·Î ¿Ö ¿¬°áÇÒ ¼ö°¡ ¾øÀ»±î¿ä? 18. µ¥ÀÌŸº£À̽º¿¡ ¾î¶² À妽º³ª ¿ÀÆÛ·¹À̼ÇÀÌ Á¤ÀǵǾî ÀÖ´ÂÁö ¾î¶»°Ô ¾Ë ¼ö ÀÖ½À´Ï±î? 19. ŸÀÓ¿öÇÁ ±â´ÉÀÌ ¹«¾ùÀ̸ç, vacuum °ú´Â ¹«½¼ °ü°è°¡ ÀÖÁÒ? 20. oid ´Â ¹«¾ùÀԴϱî? tid ´Â ¹«¾ùÀԴϱî? 21. PostgreSQL ¿¡¼­ »ç¿ëµÇ´Â ¸î¸î ¿ë¾îµéÀÇ ¶æÀ» ¾Ë°í ½Í½À´Ï´Ù. 22. À¯Àü¾Ë°í¸®µëÀ» »ç¿ëÇÏ´Â Äõ¸® ÃÖÀûÈ­(Genetic Query Optimization)°¡ ¹¹ÁÒ?? 23. Å×ÀÌºí¿¡¼­ Ä÷³À» Á¦°ÅÇÏ·Á¸é ¾î¶»°Ô Çմϱî? 24. Äõ¸®¿¡¼­ óÀ½ ¸î ·Î¿ì¸¸ SELECT ÇÏ·Á¸é ¾î¶»°Ô Çմϱî? 25. ¿Ö "time" À̶ó´Â À̸§ÀÇ Ä÷³Àº ¸¸µé ¼ö ¾øÁÒ? 26. ÀϹÝÀûÀÎ ÆÄÀÏÀÇ ÀÚ·áµéÀ» µ¥ÀÌŸº£À̽º¿¡ ÀúÀåÇÏ·Á¸é ¾î´ÀÁ¤µµÀÇ µð½ºÅ© °ø°£ÀÌ ÇÊ¿äÇÑ°¡¿ä? 4. PostgreSQL È®Àå¿¡ ´ëÇÑ Áú¹® 1. »ç¿ëÀÚÁ¤ÀÇ ÇÔ¼ö¸¦ ¸¸µé¾î¼­ psql ¿¡¼­ ½ÇÇà½ÃÄ×´õ´Ï Äھ ´ýÇÁµË´Ï´Ù. 2. NOTICE:PortalHeapMemoryFree: 0x402251d0 not in alloc set! À̶ó´Â ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù. 3. PostgreSQL ¿ëÀ¸·Î »õ·Î¿î ÀÚ·áÇü(types) °ú ÇÔ¼öµéÀ» ¸ÚÁö°Ô ¸¸µé¾î ³õ¾Ò½À´Ï´Ù. 4. Æ©ÇÃÀ» ¸®ÅÏÇÏ´Â C ÇÔ¼ö¸¦ ¾î¶»°Ô ¸¸µé¾î¾ß Çմϱî? 5. ¹ö±× 1. ¹ö±×¸®Æ÷Æ®¸¦ ¾î¶»°Ô ÇÏ¸é µË´Ï±î? ------------------------------------------------------------------------ 1Àý : ÀϹÝÀûÀÎ Áú¹® 1.1) PostgreSQL ÀÌ ¹«¾ùÀԴϱî?? PostgreSQL Àº Â÷¼¼´ë DBMS (database management system) ¿¬±¸ÀÇ ÇÁ·ÎÅäŸÀÔÀÎ POSTGRES DBMS ÀÇ ¹ßÀüµÈ ÇüÅÂÀÔ´Ï´Ù. PostgreSQL ÀÌ °­·ÂÇÑ µ¥ÀÌŸ ¸ðµ¨°ú dzºÎÇÑ µ¥ÀÌŸÇüÀ» ±×´ë·Î À¯ÁöÇϸ鼭 PostQuel ÁúÀǾ È®ÀåµÈ SQL ÀÇ ¼­ºê¼ÂÀ¸·Î ´ëüÇß½À´Ï´Ù. PostgreSQL Àº °øÂ¥À̸ç Àüü ¼Ò½º°¡ °ø°³µÇ¾î ÀÖ½À´Ï´Ù. PostgreSQL °³¹ßÀº PostgreSQL °³¹ßÀÚ ¸ÞÀϸµ¸®½ºÆ®¸¦ ±¸µ¶ÇÏ´Â ÀÎÅÍ³Ý °³¹ßÀÚµéÀÇ ¸ðÀÓ¿¡ ÀÇÇØ ÀÌ·ç¾îÁö°í ÀÖ½À´Ï´Ù. ÇöÀç ÄÚµð³×ÀÌÅÍ´Â ¸¶Å© G. Ǫ¸£´Ï¿¡(Marc G. Fournier, scrappy@postgreSQL.org ) ÀÔ´Ï´Ù. Âü¿©ÇÏ°í ½ÍÀ¸½Å ºÐÀº ¹ØÀÇ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ. ÇöÀç·Î½á´Â ÀÌ ÆÀÀÌ PostgreSQL ÀÇ °³¹ßÀ» ¸ðµÎ ´ã´çÇÏ°í ÀÖ½À´Ï´Ù. PostgreSQL 1.01 ÀÇ ÀúÀÚ´Â ¾Øµå·ù À¯(Andrew Yu)¿Í Á¹¸® þ(Jolly Chen)À̾ú½À´Ï´Ù. ´Ù¸¥ ¸¹Àº»ç¶÷µéÀÌ Æ÷ÆÃ, Å×½ºÆÃ, µð¹ö±ë, ±×¸®°í Äڵ带 Çâ»ó½ÃÅ°´Âµ¥ Âü¿©Çß½À´Ï´Ù. PostgreSQL Àº Postgres ·ÎºÎÅÍ ÆÄ»ýµÇ¾ú´Âµ¥, Postgres ÀÇ ¿ø·¡ ÄÚµå´Â Ķ¸®Æ÷´Ï¾Æ ´ëÇÐ ¹öŬ¸®ÀÇ ¸¶ÀÌŬ ½ºÅæºê·¹ÀÌÄ¿ ±³¼öÀÇ Áöµµ ÇÏ¿¡ ¸¹Àº ´ëÇпø»ý, Çкλý, ±×¸®°í ½ºÅÂÇÁ ÇÁ·Î±×·¡¸ÓµéÀÌ ³ë·ÂÇÑ °á°ú¹°À̾ú½À´Ï´Ù. ¹öŬ¸®¿¡¼­ °³¹ßµÉ ¶§ ÀÌ ¼ÒÇÁÆ®¿þ¾îÀÇ ¿ø·¡ À̸§Àº Postgres ¿´½À´Ï´Ù. 1995³â¿¡ SQL ±â´ÉÀÌ Ãß°¡µÇ¸é¼­ Postgres95 ·Î ¹Ù²î¾ú½À´Ï´Ù. 1996³â ¸»¿¡ ´Ù½Ã À̸§ÀÌ PostgreSQL ·Î ¹Ù²î¾ú½À´Ï´Ù. 1.2) PostgreSQL Àº ¾îµð¿¡¼­ ½ÇÇàµÉ ¼ö ÀÖ½À´Ï±î? ÀúÀÚµéÀº PostgreSQL À» ´ÙÀ½ Ç÷§Æû¿¡¼­ ÄÄÆÄÀÏÇÏ°í Å×½ºÆ®Çغ¸¾Ò½À´Ï´Ù. (¾î¶² °æ¿ì¿¡´Â gcc 2.7.0 À» ÇÊ¿ä·Î ÇÕ´Ï´Ù) * aix - IBM on AIX 3.2.5 or 4.x * alpha - DEC Alpha AXP on Digital Unix 2.0, 3.2, 4.0 * BSD44_derived - OSs derived from 4.4-lite BSD (NetBSD, FreeBSD) * bsdi - BSD/OS 2.0, 2.01, 2.1, 3.0 * dgux - DG/UX 5.4R4.11 * hpux - HP PA-RISC on HP-UX 9.0, 10 * i386_solaris - i386 Solaris * irix5 - SGI MIPS on IRIX 5.3 * linux - Intel x86 on Linux 2.0 and Linux ELF SPARC on Linux ELF PPC on Linux Elf (For non-ELF Linux, see LINUX_ELF below). * sco - SCO 3.2v5 * sparc_solaris - SUN SPARC on Solaris 2.4, 2.5, 2.5.1 * sunos4 - SUN SPARC on SunOS 4.1.3 * svr4 - Intel x86 on Intel SVR4 and MIPS * ultrix4 - DEC MIPS on Ultrix 4.4 ´ÙÀ½ Ç÷§Æû¿¡¼­´Â ¹®Á¦Á¡°ú ¹ö±×µéÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù. * nextstep - Motorola MC68K or Intel x86 on NeXTSTEP 3.2 1.3) PostgreSQL À» ¾îµð¿¡¼­ ±¸ÇÒ ¼ö ÀÖÀ»±î¿ä? PostgreSQL ÀÇ ÁÖµÈ anonymous FTP »çÀÌÆ®´Â ´ÙÀ½°ú °°½À´Ï´Ù : * ftp://ftp.postgreSQL.org/pub ´ÙÀ½°ú °°Àº ¹Ì·¯»çÀÌÆ®µéÀÌ ÀÖ½À´Ï´Ù : * ftp://postgres95.vnet.net/pub/postgres95 * ftp://ftp.luga.or.at/pub/postgres95 * ftp://cal011111.student.utwente.nl/pub/postgres95 * ftp://ftp.uni-trier.de/pub/database/rdbms/postgres/postgres95 * ftp://rocker.sch.bme.hu 1.4) PostgreSQL ÀÇ ÀúÀÛ±ÇÀº ¾î¶»°Ô µË´Ï±î? PostgreSQL ÀÇ ÀúÀÛ±ÇÀº ´ÙÀ½°ú °°½À´Ï´Ù. PostgreSQL Data Base Management System Copyright (c) 1994-6 Regents of the University of California ÀÌ ¼ÒÇÁÆ®¿þ¾î¿Í ±× ¹®¼­ÀÇ »ç¿ë, º¹»ç, ¼öÁ¤, ¹èÆ÷´Â ¾î¶² ¸ñÀûÀÌµç »ó°ü¾øÀÌ ¹«·á·Î, ¼­¸éµ¿ÀÇ ¾øÀÌ ´ÙÀ½ Á¶°Ç ÇÏ¿¡ Çã¶ôµË´Ï´Ù. À§ÀÇ ÀúÀÛ±Ç »çÇ×°ú ÀÌ ¹®´Ü, ±×¸®°í ´ÙÀ½ µÎ ¹®´ÜÀÌ ¸ðµç »çº»¿¡ À¯ÁöµÇ¾î¾ß¸¸ ÇÕ´Ï´Ù. Ķ¸®Æ÷´Ï¾Æ ´ëÇÐÀº Á÷Á¢ÀûÀÌµç °£Á¢ÀûÀ̵ç Ưº°ÇÏµç »ç°í¿´µç ¾î¶² °æ¿ì¿¡µµ ÀÌ ¼ÒÇÁÆ®¿þ¾î¿Í ±× ¹®¼­¸¦ »ç¿ëÇÔÀ¸·Î½á °á°úÀûÀ¸·Î ÀϾ´Â ±ÝÀüÀûÀÎ ¼ÕÇظ¦ Æ÷ÇÔÇÏ¿© ¾î¶² À§Çè¿¡ ´ëÇؼ­µµ ºñ·Ï Ķ¸®Æ÷´Ï¾Æ´ëÇÐÀÌ ±×·¯ÇÑ À§ÇèÀÇ °¡´É¼º¿¡ ´ëÇØ Ãæ°í¸¦ ¹Þ¾Ò´Ù°í ÇÒÁö¶óµµ Ã¥ÀÓÁöÁö ¾Ê´Â´Ù. Ķ¸®Æ÷´Ï¾Æ ´ëÇÐÀº ƯÈ÷ (Postgres°¡) ƯÁ¤ÇÑ ¸ñÀû¿¡ ÀûÇÕÇÏ¿© ÆǸÅÇÒ ¼ö ÀÖÀ» °ÍÀ̶ó´Â º¸ÁõÀ» Æ÷ÇÔÇÏ¿© ±× ¿ÜÀÇ ¾î¶² º¸Áõµµ ÇÏÁö ¾Ê´Â´Ù. ¿©±â¿¡ Á¦°øµÇ´Â ¼ÒÇÁÆ®¿þ¾î´Â "ÀÖ´Â ±×´ë·Î" Á¦°øµÇ¸ç Ķ¸®Æ÷´Ï¾Æ ´ëÇÐÀº À¯Áöº¸¼ö, ±â¼úÁö¿ø, ¾÷µ¥ÀÌÆ®, Çâ»ó, ¼öÁ¤ µîÀ» Á¦°øÇÒ ¾î¶² Àǹ«µµ ¾ø´Ù. 1.5) PostgreSQL ¿¡ ´ëÇÑ Áö¿ø UC Berkeley, ȤÀº ¿ø·¡ÀÇ ÀúÀÚµé·ÎºÎÅÍÀÇ °ø½ÄÀûÀÎ Áö¿øÀº ¾ø½À´Ï´Ù. ÀÚ¿øºÀ»çÀÚµéÀÇ ³ë·Â¿¡ ÀÇÇؼ­¸¸ À¯Áöº¸¼ö°¡ ÀÌ·ç¾îÁý´Ï´Ù. ÁÖ ¸ÞÀϸµ¸®½ºÆ®´Â questions@postgreSQL.org ÀÔ´Ï´Ù. ¹ö±×º¸°í¿Í ¼öÁ¤À» ºñ·ÔÇÏ¿© PostgreSQL ¿¡ ´ëÇÑ °ÍµéÀ» Åä·ÐÇϱâ À§ÇÑ °÷ÀÔ´Ï´Ù. ±¸µ¶À» ¿øÇÑ´Ù¸é Á¦¸ñÁÙÀÌ ¾Æ´Ñ, ÆíÁö º»¹®¿¡ ´ÙÀ½ ³»¿ëÀ» ÀÔ·ÂÇÏ¿© ¾Æ·¡ÀÇ e-mail ¾îµå·¹½º·Î º¸³»½Ê½Ã¿À. subscribe end questions-request@postgreSQL.org ¿ä¾à ¸®½ºÆ®µµ ¿­·ÁÀÖ½À´Ï´Ù. ¿ä¾à ¸®½ºÆ®¸¦ ±¸µ¶ÇÏ·Á¸é questions-digest-request@postgreSQL.org ·Î º»¹®¿¡´Â ´ÙÀ½ ³»¿ëÀ» ÀÔ·ÂÇÏ¿© ¸ÞÀÏÀ» º¸³»ÁֽʽÿÀ. subscribe end ¿ä¾àÆÇÀº ¸ÞÀÎ ¸®½ºÆ® ¸Þ½ÃÁöÀÇ ¾çÀÌ 30k Á¤µµ Âû ¶§¸¶´Ù ÀÌ ¸®½ºÆ®ÀÇ ¸â¹öµé¿¡°Ô º¸³»Áý´Ï´Ù. ¹ö±× ¸ÞÀϸµ¸®½ºÆ®µµ ÀÖ½À´Ï´Ù. ÀÌ ¸®½ºÆ®¸¦ ±¸µ¶ÇÏ·Á¸é ´ÙÀ½°ú °°Àº º»¹®À¸·Î bugs-request@postgreSQL.org ·Î ¸ÞÀÏÀ» º¸³»¼¼¿ä : °³¹ßÀÚµéÀÇ Åä·ÐÀ» À§ÇÑ ¸ÞÀϸµ¸®½ºÆ®µµ ÀÖ½À´Ï´Ù. ÀÌ ¸®½ºÆ®¸¦ ±¸µ¶ÇÏ·Á¸é ´ÙÀ½°ú °°Àº º»¹®À¸·Î hackers-request@postgreSQL.org ¿¡ ¸ÞÀÏÀ» º¸³»¼¼¿ä : subscribe end PostgreSQL ¿¡ ´ëÇÑ Ãß°¡Á¤º¸´Â PostgreSQL ÀÇ WWW ȨÆäÀÌÁö¿¡¼­ ãÀ» ¼ö ÀÖ½À´Ï´Ù. http://postgreSQL.org 1.6) ÃֽŹöÀüÀÇ PostgreSQL °¡Àå ÃֽŹöÀüÀº PostgreSQL 6.3.2 ÀÔ´Ï´Ù. ¸Å ¼® ´Þ¸¶´Ù ¸ÞÀÌÀú ¸±¸®Á ³»³õÀ» °èȹÀÔ´Ï´Ù. 1.7) PostgreSQL ÀÇ »ó¿ë¹öÀüÀÌ ÀÖ½À´Ï±î? ÀÏ·¯½ºÆ®¶ó (Illustra Information Technology, ÀÎÆ÷¹Í½ºÀÇ ÀÚȸ»ç) ¿¡¼­ ÀÏ·¯½ºÆ®¶ó¶ó°í ºÒ¸®´Â °´Ã¼-°ü°èÇü DBMS ¸¦ ÆǸÅÇϸç ÀÌ°ÍÀº Postgres ¿¡ ±â¹ÝÇÑ °ÍÀÔ´Ï´Ù. ÀÏ·¯½ºÆ®¶ó´Â PostgreSQL °ú À¯»çÇÏÁö¸¸ ´õ ¸¹Àº ±â´ÉÀ» °¡Áö°í ÀÖ°í, ´õ ¾ÈÁ¤ÀûÀÌ¸ç ¼º´Éµµ ÁÁ½À´Ï´Ù. ±×¸®°í ½ÇÁ¦ÀûÀÎ ¹®¼­¿Í Áö¿øÀ» ÇØÁÖ°í ÀÖ½À´Ï´Ù. ¹Ý¸é¿¡ µ·ÀÌ µéÁö¿ä. ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¿øÇϽøé sales@illustra.com À¸·Î ¾Ë¾Æº¸¼¼¿ä. 1.8) PostgreSQL ¿¡ °üÇØ ¾î¶² ¹®¼­µéÀÌ ÀÖ½À´Ï±î? »ç¿ëÀÚ ¸Å´º¾ó, ¸Å´º¾ó ÆäÀÌÁö, ±×¸®°í ¾à°£ÀÇ Å×½ºÆ® ¿¹Á¦µéÀÌ ¹èÆ÷ÆÇ¿¡ µé¾î ÀÖ½À´Ï´Ù. pgintro, sql, ±×¸®°í pgbuiltin ¸Å´º¾ó ÆäÀÌÁöµéÀÌ Æ¯È÷ Áß¿äÇÕ´Ï´Ù. pgintro ¿¡´Â ¸ðµç ¸Å´º¾óÆäÀÌÁöÀÇ ¸ñ·ÏÀÌ µé¾îÀÖ½À´Ï´Ù. psql ¿¡¼­ \d ¸í·É¾î·Î ÀÚ·áÇü°ú ¿¬»êÀÚ, ÇÔ¼ö, aggregates µî¿¡ ´ëÇÑ Á¤º¸¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÓÇø®¸àÅ×ÀÌ¼Ç °¡À̵å¿Í ÇÔ²² Æ÷½ºÆ®±×·¹½ºÀÇ ¼³°è °³³ä°ú ±â´É¿¡ ´ëÇÑ ´Ù¼¸ ÆíÀÇ ³í¹®À» À¥ÆäÀÌÁö¿¡¼­ ã¾Æº¼ ¼ö ÀÖ½À´Ï´Ù. 1.9) PostgreSQL Àº SQL ÀÇ ¾î¶² ¹öÀüÀ» »ç¿ëÇմϱî? PostgreSQL Àº SQL-92 ÀÇ ¼­ºê¼ÂÀ» Áö¿øÇÕ´Ï´Ù. 1.10) PostgreSQL ÀÇ ÀÌÀü¹öÀü¿¡¼­ »ç¿ëÇÏ´ø µ¥ÀÌŸº£À̽ºµéÀ» PostgreSQL ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ³ª¿ä? PostgreSQL v1.09 ¿¡¼­´Â v1.01 ¿¡¼­ ¸¸µé¾îÁø µ¥ÀÌÅͺ£À̽º°¡ ȣȯµË´Ï´Ù. ÀÌÀü ¹öÀü¿¡¼­ 6.3 À¸·Î ¾÷±×·¹À̵åÇÏ·Á¸é ´ýÇÁ¿Í ¸®½ºÅä¾î °úÁ¤À» °ÅÃÄ¾ß ÇÕ´Ï´Ù. 6.2 ÀÌÀü ¹öÀü¿¡¼­ 6.2.1 À¸·Î ¾÷±×·¹À̵åÇÏ·Á¸é ´ýÇÁ¿Í ¸®½ºÅä¾î °úÁ¤À» °ÅÃÄ¾ß ÇÕ´Ï´Ù. 6.2 ¿¡¼­ 6.2.1 ·ÎÀÇ ¾÷±×·¹À̵å´Â ´ýÇÁ¸¦ ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù. ¹èÆ÷ÆÇÀÇ /migration µð·ºÅ丮¿¡ ÀÖ´Â ÀûÀýÇÑ ÆÄÀÏÀ» º¸½Ê½Ã¿À. 1.09 ÀÌÀü ¹öÀü¿¡¼­ ¾÷±×·¹À̵åÇÏ·Á¸é ¸ÕÀú dump/reload ¸¦ ÇÏÁö ¾ÊÀº ä 1.09 ·Î ¾÷±×·¹À̵åÇÑ ÈÄ, 1.09 ¿¡¼­ ÀڷḦ ´ýÇÁÇÏ°í ±×°ÍÀ» 6.2.1 À̳ª 6.3À¸·Î ¿Ã·Á¾ß ÇÕ´Ï´Ù. 1.11) PostgreSQL À» À§ÇÑ ODBC µå¶óÀ̹ö°¡ ÀÖ½À´Ï±î? PostODBC ¿Í OpenLink ODBC, ÀÌ·¸°Ô µÎ Á¾·ùÀÇ ODBS µå¶óÀ̹ö°¡ ÀÖ½À´Ï´Ù. PostODBC ´Â ¹èÆ÷ÆÇ¿¡ Æ÷ÇԵǾîÀÖ½À´Ï´Ù. PostODBC ¿¡ °ü½ÉÀÖ´Â »ç¶÷µéÀ» À§ÇØ PostODBC ¸¸À» ´Ù·ç´Â ¸ÞÀϸµ¸®½ºÆ®°¡ µÑ ÀÖ½À´Ï´Ù. * postodbc-users@listserv.direct.net * postodbc-developers@listserv.direct.net ÀÌ ¸®½ºÆ®µéÀº ÀϹÝÀûÀÎ majordomo ¸ÞÀϸµ¸®½ºÆ®ÀÔ´Ï´Ù. ´ÙÀ½ ÁÖ¼Ò·Î ¸ÞÀÏÀ» º¸³»¸é ±¸µ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù. * majordomo@listserv.direct.net OpenLink ODBC ´Â ¸Å¿ì ³Î¸® »ç¿ëµÇ°í ÀÖ½À´Ï´Ù. http://www.openlinksw.com ¿¡¼­ ãÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº PostgreSQL ÀÇ Ç¥ÁØ ODBC Ŭ¶óÀ̾ðÆ® ¼ÒÇÁÆ®¿þ¾î¿¡¼­ Áö¿øÀÌ µÇ¹Ç·Î »ç¿ëÀÚ´Â PostgreSQL ÀÌ Áö¿øÇÏ´Â ¸ðµç Ŭ¶óÀ̾ðÆ® Ç÷§Æû¿¡¼­ PostgreSQL ODBC ¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. »ó¾÷¿ë ¼ÒÇÁÆ®¿þ¾î ¼öÁØÀÇ Áö¿øÀ» ¿øÇÏ´Â »ç¶÷µé¿¡°Ô ÀÌ°ÍÀ» ÆǸÅÇÏ°Ô µÉ ¼öµµ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ °ø°³ ¹öÀüµµ ¾ðÁ¦µçÁö ±¸ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. postgres95@openlink.co.uk ·Î ¹®ÀÇÇϼ¼¿ä. 1.12) À¥ÆäÀÌÁö¿¡ PostgreSQL À» ¿¬°á½ÃÅ°±âÀ§ÇÑ µµ±¸·Î´Â ¾î¶² °ÍÀÌ ÀÖ½À´Ï±î? ´ÙÀ½Àº µ¥ÀÌŸº£À̽º¿Í ¿¬µ¿µÈ À¥ÆäÀÌÁö¿¡ ´ëÇØ Àß ¼³¸íÇØ ³õÀº À¥»çÀÌÆ®ÀÔ´Ï´Ù. http://www.webtools.com À¥ ¿¬µ¿À» À§Çؼ­¶ó¸é PHP °¡ ¾ÆÁÖ ÈǸ¢ÇÑ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. URLÀº ´ÙÀ½°ú °°½À´Ï´Ù. http://www.php.net PHP °¡ ´Ü¼øÇÑ ÀÛ¾÷À» À§Çؼ­´Â ¸Å¿ì ¶Ù¾î³³´Ï´Ù. ÇÏÁö¸¸ ´õ º¹ÀâÇÑ ÀÛ¾÷À» À§Çؼ­¶ó¸é ¾ÆÁ÷µµ CGI.pm °ú ÆÞ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇϱ⵵ ÇÕ´Ï´Ù. WDB ¿¡ ±â¹ÝÇÏ¿© ÆÞÀ» »ç¿ëÇÏ´Â WWW °ÔÀÌÆ®¿þÀ̸¦ ´ÙÀ½ÀÇ °÷¿¡¼­ ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù. * http://www.eol.ists.ca/~dunlop/wdb -p95 1.13) PostgreSQL ¿¡ GUI (graphical user interface) °¡ ÀÖ³ª¿ä? ¸®Æ÷Æ® »ý¼º±â´Â¿ä? ³»Àå ÁúÀǾî ÀÎÅÍÆäÀ̽º´Â ÀÖ½À´Ï±î? ¹èÆ÷ÆÇ¿¡ Æ÷ÇԵǾî ÀÖ´Â °ÍÀ¸·Î pgaccess ¶ó´Â ÈǸ¢ÇÑ GUI °¡ ÀÖ½À´Ï´Ù. ¸®Æ÷Æ® »ý¼º±âµµ ÇÔ²² µé¾îÀÖ½À´Ï´Ù. ecpg ¶ó´Â °Íµµ Àִµ¥, C ¸¦ À§ÇÑ ³»Àå(embedded) SQL ÁúÀǾî ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. ¿ª½Ã ¹èÆ÷ÆÇ¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. 1.14) ¾î¶»°Ô ÇØ¾ß SQL À» ¹è¿ï ¼ö ÀÖ³ª¿ä? http://w3.one.net/~jhoffman/sqltut.htm ¿¡ ÈǸ¢ÇÑ Æ©Å丮¾óÀÌ ÀÖ½À´Ï´Ù. ¸¹Àº »ç¿ëÀÚµéÀÌ The Practical SQL Handbook, Bowman et al, Addison Wesley ¸¦ ¼±È£ÇÕ´Ï´Ù. 1.15) PostgreSQL °ú ¿¬°áÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡´Â ¾î¶² °ÍÀÌ ÀÖ½À´Ï±î? ¾Æ·¡¿Í °°½À´Ï´Ù: * C(interfaces/libpq) * C++(interfaces/libpq++) * Embedded C(interfaces/ecpg) * Java(interfaces/jdbc) * Perl(interfaces/perl5) * ODBC(interfaces/odbc) * Python(interfaces/python) * TCL(interfaces/libpgtcl) * A crude C/4GL(contrib/pginterface) ------------------------------------------------------------------------ 2Àý : ¼³Ä¡¿¡ °üÇÑ Áú¹® 2.1) initdb °¡ ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù. * ½ÇÇà°æ·Î(path)¿¡ ¿¹Àü¹öÀüÀÇ ÀÌÁøÆÄÀϵéÀÌ ÀÖÁö ¾ÊÀºÁö Á¡°ËÇØ º¸¼¼¿ä * °æ·Î°¡ Á¦´ë·Î ¼³Á¤µÇ¾îÀÖ´ÂÁö È®ÀÎÇØ º¸¼¼¿ä * ÇÊ¿äÇÑ ÆÄÀϵéÀÇ ¼ÒÀ¯ÀÚ°¡ postgre ·Î µÇ¾îÀÖ´ÂÁö È®ÀÎÇØ º¸¼¼¿ä * $PGDATA/files ¿¡ ÆÄÀϵéÀÌ ¸ðµÎ ÀÖ´ÂÁö, ±×¸®°í ºó ÆÄÀϵéÀÌ ¾Æ´ÑÁö È®ÀÎÇØ º¸¼¼¿ä. ÆÄÀϵéÀÌ ¾ø°Å³ª ºñ¾îÀÖ´Ù¸é "gmake install" ¸í·É¾î°¡ ¾î¶² ÀÌÀ¯·Îµç ½ÇÆÐÇÑ °ÍÀÔ´Ï´Ù. 2.2) postmaster ¸¦ ½ÇÇàÅ°·Á°í ÇÏ¸é ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù. "FindBackend: could not find a backend to execute..." "postmaster: could not find backend to execute..." ¾Æ¸¶ °æ·Î¼³Á¤ÀÌ À߸øµÇ¾îÀÖÀ» °Ì´Ï´Ù. 'postgres' ½ÇÇàÆÄÀÏÀÌ ½ÇÇà°æ·Î ¾È¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. 2.3) ½Ã½ºÅÛÀÌ ÄÞ¸¶(,) ¿Í ¼Ò¼öÁ¡(.), ±×¸®°í ³¯Â¥ Çü½Ä µîÀ» È¥µ¿ÇÏ´Â °Í °°½À´Ï´Ù. ·ÎÄÉÀÏ ¼³Á¤À» Á¡°ËÇØ º¸¼¼¿ä. PostgreSQL Àº postmaster ÇÁ·Î¼¼½º¸¦ ½ÇÇà½ÃŲ »ç¿ëÀÚÀÇ ·ÎÄÉÀÏ ¼³Á¤À» »ç¿ëÇÕ´Ï´Ù. ÇØ´ç ·ÎÄÉÀÏÀ» ¿î¿µÈ¯°æ¿¡ ¸ÂÃß¼¼¿ä. 2.4) /usr/local/pgsql ¿ÜÀÇ ´Ù¸¥ °÷¿¡ PostgreSQL À» ¼³Ä¡ÇÏ·Á¸é ¾î¶»°Ô Çմϱî? Makefile.global À» ÆíÁýÇÏ¿© POSTGRESDIR º¯¼ö¸¦ ±×¿¡ ¸Â°Ô º¯°æÇØ¾ß ÇÕ´Ï´Ù. ¾Æ´Ï¸é Makefile.custom À» ¸¸µé°í POSTGRESDIRÀ» ±×°÷¿¡¼­ Á¤ÀÇÇϼ¼¿ä. 2.5) postmaster ¸¦ ½ÇÇà½ÃÅ°¸é Bad System Call core dumped ¶ó´Â ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù. ¿©·¯°¡Áö ¿øÀÎÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¸ÕÀú ½Ã½ºÅÛ V È®ÀåÀÌ Ä¿³Î¿¡ ÀνºÅç µÇ¾ú´ÂÁö È®ÀÎÇϼ¼¿ä. PostgreSQL Àº °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇϱâ À§ÇØ Ä¿³ÎÁö¿øÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù. 2.6) postmaster ¸¦ ½ÃÀÛÇÏ·Á°í Çϸé IpcMemoryCreate ¶ó´Â ¿¡·¯°¡ ³ª¿É´Ï´Ù. Ä¿³Î¿¡ °øÀ¯¸Þ¸ð¸® ¼³Á¤ÀÌ À߸øµÇ¾úÀ» ¼ö ÀÖ½À´Ï´Ù. ¾Æ´Ï¸é Ä¿³Î¿¡¼­ »ç¿ë°¡´ÉÇÑ °øÀ¯¸Þ¸ð¸®ÀÇ Å©±â¸¦ ´Ã·ÁÁÖ¾î¾ß ÇÕ´Ï´Ù. ÇÊ¿äÇÑ °øÀ¯¸Þ¸ð¸®ÀÇ ¾çÀº ½Ã½ºÅÛÀÇ ±¸Á¶, postmaster ÀÇ ¹öÆÛ °¹¼ö¿¡ µû¶ó ´Ù¸¨´Ï´Ù. ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼­´Â ¹öÆÛ ±âº» °¹¼ö¶ó¸é ÃÖ¼Ò 760K ±îÁö °øÀ¯¸Þ¸ð¸®°¡ ÇÊ¿äÇÕ´Ï´Ù. 2.7) ¼Ò½ºÆÄÀÏÀ» º¯°æÇß½À´Ï´Ù. ÇÏÁö¸¸ ÀçÄÄÆÄÀÏÀÌ ±× º¯°æÀ» ¾Ë¾ÆÂ÷¸®Áö ¸øÇÏ´Â °Í °°½À´Ï´Ù. Æ÷ÇԵǴ ÆÄÀϵéÀÇ ÀûÀýÇÑ ¿¬°á°ü°è°¡ Makefile ¿¡ Æ÷ÇԵǾî ÀÖÁö ¾Ê½À´Ï´Ù. 'make clean' À» ½ÇÇà½ÃÅ°°í make ¸¦ ´Ù½Ã ½ÇÇà½ÃÅ°¼¼¿ä. 2.8) ¾î¶»°Ô ÇØ¾ß ´Ù¸¥ È£½ºÆ®¿¡¼­ ³» PostgreSQL ¿¡ Á¢±ÙÇÏ´Â °ÍÀ» ¸·À» ¼ö ÀÖ½À´Ï±î? ±âº»ÀûÀ¸·Î PostgreSQL Àº ÇØ´ç±â°è¿¡¼­ µé¾î¿À´Â Á¢¼Ó¸¸ Çã¿ëÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù. postmaster ¿¡ -i Ç÷¡±×¸¦ Ãß°¡ÇÏ°í $PGDATA/pg_hba ¸¦ ¾Ë¸Â°Ô ÆíÁýÇÏ¿© È£½ºÆ®º£À̽º ÀÎÁõÀ» »ç¿ë°¡´ÉÇÏ°Ô ÇØ¾ß ÇÕ´Ï´Ù. 2.9) 'root' »ç¿ëÀÚ°¡ µ¥ÀÌŸº£À̽º¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù. À¯Àú id °¡ 0 ÀÎ »ç¿ëÀÚ (root) ·Î µ¥ÀÌŸº£À̽º »ç¿ëÀÚ¸¦ ¸¸µé¸é ¾ÈµË´Ï´Ù. ±×·¸°Ô Çϸé ÇØ´ç »ç¿ëÀÚµéÀÌ µ¥ÀÌŸº£À̽º¿¡ Á¢±ÙÇÒ ¼ö ¾ø°Ô µË´Ï´Ù. This is a security precaution because of the ability of any user to dynamically link object modules into the database engine. 2.10) Å×À̺íÀ» µ¿½Ã¿¡ ¾ï¼¼½ºÇÏ·Á°í ÇÏ¸é ¸ðµç ¼­¹ö°¡ Á×½À´Ï´Ù. ¿ÖÁÒ? ¼¼¸¶Æ÷¾î¸¦ Áö¿øÇÏÁö ¾Êµµ·Ï ¼³Á¤µÇ¾î ÀÖ´Â Ä¿³Î¶§¹®¿¡ ÀϾ´Â ¹®Á¦ÀÔ´Ï´Ù. 2.11) ¼º´ÉÀ» ³ôÀ̱â À§Çؼ­ ¾î¶»°Ô µ¥ÀÌŸº£À̽º ¿£ÁøÀ» Æ©´×ÇØ¾ß Çմϱî? ÇÒ ¼ö ÀÖ´Â ÀÏÀÌ ¸î °¡Áö ÀÖ½À´Ï´Ù. postmaster ¸¦ ±âµ¿ÇÒ ¶§ '-o -F' ¸¦ ¼±ÅÃÇÏ¿© fsync() ¸¦ »ç¿ëÇÏÁö ¸øÇϵµ·Ï ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô Çϸé fsync() °¡ ÀÛµ¿ÇÏÁö ¾ÊÀ¸¹Ç·Î ¸Å Æ®·£Àè¼ÇÀÌ ³¡³¯ ¶§¸¶´Ù µð½ºÅ©Ã»¼Ò¸¦ ÇÏÁö ¾Ê°Ô µË´Ï´Ù. postmaster -B ·Î ½ÇÇàÇÏ¸é ¹é¿£µå ÇÁ·Î¼¼½ºµéÀÌ °øÀ¯ÇÏ´Â °øÀ¯¸Þ¸ð¸® ¹öÆÛÀÇ ¼ö°¡ ´Ã¾î³³´Ï´Ù. ÀÌ ÆĶó¹ÌÅ͸¦ ³Ê¹« ³ô°Ô ¼³Á¤ÇØ ³õÀ¸¸é ÇÁ·Î¼¼½º°¡ ½ÃÀÛµÇÁö ¾Ê°Å³ª °©ÀÚ±â Á×¾î¹ö¸³´Ï´Ù. ¹öÆÛ ÇϳªÀÇ Å©±â´Â 8K ÀÌ°í, ¹öÆÛ ÃʱâÄ¡´Â 64 °³ÀÔ´Ï´Ù. postgres -S ¸¦ »ç¿ëÇÏ¿© °¢ ¹é¿£µå ÇÁ·Î¼¼½º°¡ Á¤·ÄÀ» À§Çؼ­ »ç¿ëÇÏ´Â ¸Þ¸ð¸®ÀÇ ÃÖ´ëÅ©±â¸¦ ´Ã¸± ¼ö ÀÖ½À´Ï´Ù. °¢ ¹öÆÛ´Â 1K Å©±âÀÌ°í ÃʱâÄ¡´Â 512 °³ÀÇ ¹öÆÛÀÔ´Ï´Ù. CLUSTER ¸í·ÉÀ» ½á¼­ º£À̽ºÅ×ÀÌºí¿¡ ÀÖ´Â ÀÚ·áµéÀ» À妽º¿¡ ¸Âµµ·Ï ±×·ìÁöÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº cluster(1) ¸Å´º¾ó ÆäÀÌÁö¸¦ Âü°íÇϼ¼¿ä. 2.12) PostgreSQL ¿¡ µð¹ö±ëÀ» À§ÇÑ ±â´ÉÀÌ ¾î¶² °ÍÀÌ ÀÖ½À´Ï±î? PostgreSQL ¿¡´Â µð¹ö±ë¿¡ À¯¿ëÇÑ »óÅÂÁ¤º¸¸¦ º¸¿©ÁÖ´Â ±â´ÉÀÌ ¸î °¡Áö ÀÖ½À´Ï´Ù. ¸ÕÀú configure ¸¦ -enagle-cassert ¿É¼ÇÀ¸·Î ½ÇÇà½ÃÅ°¸é assert() °¡ ¹é¿£µåÀÇ ÁøÇà»óŸ¦ °¨½ÃÇÏ¸ç ¹º°¡ ÀÌ»óÀÌ ÀϾÀ» ¶§ ÇÁ·Î±×·¥À» ÁßÁö½Ãŵ´Ï´Ù. postmaster ¿Í postgres µÑ ´Ù ¸î°¡Áö µð¹ö±× ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ù ¹ø°·Î postmaster ¸¦ ±âµ¿½Ãų ¶§¸¶´Ù, ¾Æ·¡¿Í °°ÀÌ Ç¥ÁØÃâ·Â°ú Ç¥ÁØ¿¡·¯Ãâ·ÂÀ» ·Î±×ÆÄÀÏ·Î º¸³»´ÂÁö È®ÀÎÇϽʽÿÀ. cd /usr/local/pgsql ./bin/postmaster >server.log 2>&1 & ÀÌ·¸°Ô Çϸé PostgreSQL ÀÇ ÃÖ»óÀ§ µð·ºÅ丮¿¡ server.log ÆÄÀÏÀÌ »ý±æ °ÍÀÔ´Ï´Ù. ÀÌ ÆÄÀÏÀº ¼­¹ö°¡ ¸Â´Ú¶ß¸®¹È ¹®Á¦Á¡À̳ª ¿¡·¯µé¿¡ ´ëÇÑ À¯¿ëÇÑ Á¤º¸¸¦ ±â·ÏÇÏ°Ô µË´Ï´Ù. postmaster ÀÇ -d ¿É¼ÇÀ» »ç¿ëÇÏ¸é ´õ ÀÚ¼¼ÇÑ Á¤º¸°¡ ±â·ÏµË´Ï´Ù. -d ¿É¼ÇÀº µð¹ö±× ·¹º§·Î 1-3 »çÀÌÀÇ ¼ýÀÚ¸¦ ¹Þ½À´Ï´Ù. µð¹ö±× ·¹º§À» 3À¸·Î ÇسõÀ¸¸é ¸Å¿ì ¹æ´ëÇÑ ·Î±×ÆÄÀÏÀÌ »ý¼ºµÉ Å×´Ï ÁÖÀÇÇϽʽÿÀ. Æ÷½ºÆ®±×·¹½º ¹é¿£µå¸¦ Ä¿¸Çµå¶óÀο¡¼­ ½ÇÇà½ÃŲ ÈÄ SQL ¹®ÀåÀ» ¹Ù·Î ÀÔ·ÂÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ ¹æ¹ýÀº µð¹ö±ëÇÒ¶§¸¸ »ç¿ëÇÏ´Â ÆíÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. ¼¼¹ÌÄÝ·ÐÀÌ ¾Æ´Ï¶ó °³Ç๮ÀÚ°¡ Äõ¸®ÀÇ ³¡À» ³ªÅ¸³½´Ù´Â °Í¿¡ ÁÖÀÇÇϽʽÿÀ. ¸¸ÀÏ µð¹ö±ë ½Éº¼À» Æ÷ÇÔ½ÃÄÑ ÄÄÆÄÀÏÇß´Ù¸é µð¹ö°Å¸¦ »ç¿ëÇÏ¿© ¾î¶² ÀÏÀÌ ÀϾ°í ÀÖ´ÂÁö º¼ ¼ö ÀÖ½À´Ï´Ù. ¹é¿£µå°¡ postmaster ·ÎºÎÅÍ ½ÃÀÛµÇÁö ¾Ê¾Ò±â ¶§¹®¿¡ ¿ÏÀüÈ÷ µ¿ÀÏÇÑ È¯°æÀº ¾Æ´Ï¸ç locking/¹é¿£µå »óÈ£ÀÛ¿ë ¹®Á¦°¡ ¶È°°ÀÌ ÀϾÁö´Â ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¾î¶² ¿î¿µÃ¼Á¦¿¡¼­´Â ½ÇÇàµÇ°í ÀÖ´Â ¹é¿£µå¸¦ Á÷Á¢ ¿¬°áÇÏ¿© ¹®Á¦¸¦ ºÐ¼®ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. Æ÷½ºÆ®±×·¹½º ÇÁ·Î±×·¥¿¡´Â -s, -A, -t ¿É¼ÇÀÌ ÀÖÀ¸¸ç ÀÌ°ÍÀº µð¹ö±ë°ú ¼º´É ÃøÁ¤¿¡ ¸Å¿ì À¯¿ëÇÕ´Ï´Ù. ¾î¶² ÇÔ¼öµéÀÌ ½Ã°£À» ¼ÒºñÇÏ´ÂÁö º¸¿©ÁÖµµ·Ï ÄÄÆÄÀÏÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ ¹é¿£µå ÇÁ·ÎÆÄÀÏ ÆÄÀϵéÀº pgsql/data/base/dbname µð·ºÅ丮¿¡ ½×ÀÌ°Ô µË´Ï´Ù. Ŭ¶óÀ̾ðÆ® ÇÁ·ÎÆÄÀÏ ÆÄÀÏÀº ÇöÀç µð·ºÅ丮¿¡ ½×ÀÔ´Ï´Ù. EXPLAIN ¸í·É (FAQ ¸¦ ã¾Æº¸¼¼¿ä) À» »ç¿ëÇϸé PostgreSQL ÀÌ »ç¿ëÀÚÀÇ Äõ¸®¸¦ ¾î¶»°Ô ¹ø¿ªÇÏ´ÂÁö º¼ ¼ö ÀÖ½À´Ï´Ù. 2.13) 32°³ ÀÌ»óÀÇ ¹é¿£µå¸¦ µ¿½Ã¿¡ »ç¿ëÇÏ·Á¸é ¾î¶»°Ô Çմϱî? include/storage/sinvaladt.h ¿¡¼­ MaxBackendId ÀÇ °ªÀ» ¹Ù²Ù¼¼¿ä. ¾ÕÀ¸·Î´Â MaxBackendId ¸¦ »ç¿ëÀÚ°¡ ¼³Á¤ÇÒ ¼ö ÀÖ´Â °ªÀ¸·Î ¸¸µé °èȹÀÔ´Ï´Ù. 2.14) À¯´Ð½º°¡ ¾Æ´Ñ ´Ù¸¥ Ç÷§Æû¿¡¼­µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï±î? libpq C ¶óÀ̺귯¸®, psql, ±×¸®°í ´Ù¸¥ ÀÎÅÍÆäÀ̽º¿Í ¹ÙÀ̳ʸ®µéÀ» MS À©µµ¿ìÁî Ç÷§Æû¿¡¼­ ½ÇÇàµÇµµ·Ï ÄÄÆÄÀÏ ÇÏ´Â °ÍÀº °¡´ÉÇÕ´Ï´Ù. ±×·² °æ¿ì, Ŭ¶óÀ̾ðÆ®´Â MS À©µµ¿ìÁî¿¡¼­ ½ÇÇàµÇ¸ç ´Ù¸¥ Unix Ç÷§Æû¿¡¼­ µ¹¾Æ°¡°í ÀÖ´Â ¼­¹ö¿Í TCP/IP ¸¦ ÅëÇØ Åë½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ½Ã±×³Ê½ºÀÇ Unix/NT Æ÷Æà ¶óÀ̺귯¸®¸¦ »ç¿ëÇØ PostgreSQL µ¥ÀÌŸº£À̽º ¼­¹ö¸¦ À©µµ¿ìÁîNT ·Î Æ÷ÆÃÇÏ·Á°í ½ÃµµÇÑ »ç¶÷µéÀÌ ÀÖ¾úÁö¸¸ ¾ÆÁ÷ ¼º°øÇÑ »ç¶÷Àº ¾ø½À´Ï´Ù. ------------------------------------------------------------------------ 3Àý : PostgreSQL ÀÇ ±â´É 3.1) PostgreSQL ¿¡¼­ ÁßøµÈ ¼­ºêÄõ¸®¸¦ Áö¿øÇմϱî? Áö¿øÇÕ´Ï´Ù. 3.2) ·êÀ» »ç¿ëÇϴµ¥ ¹®Á¦°¡ ¸¹½À´Ï´Ù. ÇöÀç PostgreSQL ÀÇ ·ê½Ã½ºÅÛÀº ¸î¸î Á¦ÇÑÀÌ ÀÖ½À´Ï´Ù. ºä¸¦ Áö¿øÇÒ Á¤µµ´Â µÇÁö¸¸ Insert, Update, Delete ¸¦ ó¸®Çϱ⿡´Â ¾ÆÁ÷ ¹®Á¦°¡ ÀÖ½À´Ï´Ù. 3.3) ´ëÇü°´Ã¼ÀÇ Áß°£¿¡ ½á³Ö´Â ÀÛ¾÷À» ¾ÈÀüÇÏ°Ô (reliably) ÇÒ ¼ö°¡ ¾ø´Â °Í °°½À´Ï´Ù. ÀιöÀü ´ëÇü°´Ã¼½Ã½ºÅÛÀÌ ÀÌÁ¦´Â ¿Ïº®ÇÏ°Ô ÀÛµ¿ÇÕ´Ï´Ù. ´õÀÌ»ó ´ëÇü°´Ã¼¶§¹®¿¡ ¾î·Á¿òÀ» °ÞÁö ¾ÊÀ¸¼Åµµ µË´Ï´Ù. 3.4) PostgreSQL ÀÇ Å¬¶óÀ̾ðÆ® ¾îÇø®ÄÉÀ̼ÇÀº ¾î¶»°Ô ¸¸µé¾î¾ß Çմϱî? PostgreSQL ¿¡¼­´Â C ¿¡¼­ È£Ãâ°¡´ÉÇÑ ¶óÀ̺귯¸® ÀÎÅÍÆäÀ̽º¿Í ±× ¿Ü ´Ù¾çÇÑ ÀÎÅÍÆäÀ̽ºµéÀ» Áö¿øÇÕ´Ï´Ù. /src/interfaces µð·ºÅ丮¸¦ º¸½Ê½Ã¿À. ´Ù¸¥ »ç¶÷µéÀÌ ÆÞ ÀÎÅÍÆäÀ̽º¿Í PostgreSQL À» À§ÇÑ WWW °ÔÀÌÆ®¿þÀ̵îÀ» ¸¸µé¾î ³õ¾Ò½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº PostgreSQL ȨÆäÀÌÁö¸¦ Âü°íÇϼ¼¿ä. 3.5) pg_group À» ¾î¶»°Ô ¼³Á¤ÇÏÁÒ? ÇöÁ¦ »ç¿ëÀÚ±×·ìÀ» ½±°Ô ¼³Á¤ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ¾ø½À´Ï´Ù. pg_group Å×À̺íÀ» ¸í½ÃÀûÀ¸·Î insert/update ÇØ¾ß ÇÕ´Ï´Ù.¿¹¸¦ µéÀÚ¸é : jolly=> insert into pg_group (groname, grosysid, grolist) jolly=> values ('posthackers', '1234', '{5443, 8261}'); INSERT 548224 jolly=> grant insert on foo to group posthackers; CHANGE jolly=> pg_group ÀÇ ÇʵåµéÀº ´ÙÀ½°ú °°½À´Ï´Ù. * groname: ±×·ì ¸íÀÔ´Ï´Ù. ¾ËÆĺª°ú ¼ýÀڷθ¸ µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¹ØÁÙÀ̳ª ±¸µÎÁ¡ µîÀº »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. * grosysid: ±×·ì ¾ÆÀ̵ð·Î int4 ÇüÀÔ´Ï´Ù. °¢ ±×·ì¸¶´Ù À¯´ÏÅ©ÇØ¾ß ÇÕ´Ï´Ù. * grolist: ±×·ì¿¡ ¼ÓÇÑ pg_user ¾ÆÀ̵ðÀÇ ¸ñ·ÏÀ¸·Î int4[] Çü½ÄÀÔ´Ï´Ù. 3.6) ¹ÙÀ̳ʸ® Ä¿¼­¿Í ÀÏ¹Ý Ä¿¼­ÀÇ Â÷ÀÌÁ¡ÀÌ Á¤È®È÷ ¹¼´Ï±î? declare ÀÇ ¸Å´º¾ó ÆäÀÌÁö¿¡ ÀÖ´Â ¼³¸íÀ» ÂüÁ¶Çϼ¼¿ä. 3.7) R-tree À妽º°¡ ¹«¾ùÀ̸ç, ¾îµð¿¡ ¾²ÀÌ´Â °ÅÁÒ? r-tree À妽º´Â °ø°£ÀûÀÎ µ¥ÀÌŸ¸¦ À妽ÌÇϴµ¥ ¾²ÀÔ´Ï´Ù. Çؽà À妽º´Â ¹üÀ§ °Ë»öÀ» ó¸®ÇÒ ¼ö ¾ø½À´Ï´Ù. B-tree À妽º´Â 1Â÷¿øÀÇ °ø°£°Ë»ö¸¸À» ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. 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. ½ºÅæºê·¹ÀÌÄ¿(Stonebraker)ÀÇ "Readings in Database Systems" ¿¡¼­µµ ÀÌ ³í¹®À» º¼ ¼ö ÀÖ½À´Ï´Ù. ³»ÀåµÈ R-Tree À妽º´Â Æú¸®°ï°ú ¹Ú½º¸¦ ´Ù·ê ¼ö ÀÖ½À´Ï´Ù. ÀÌ·ÐÀûÀ¸·Î R-tree ´Â ´õ ³ôÀº Â÷¿øÀÇ ÀÚ·áµµ ´Ù·ê ¼ö ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î´Â R-tree ¸¦ È®ÀåÇÏ´Â °ÍÀº ²Ï Èûµç ÀÏÀÌ°í ÇöÀç±îÁö´Â ¾î¶»°Ô ÇؾßÇÏ´ÂÁö ¹æ¹ýÀ» ¼³¸íÇØ ³õÀº ¹®¼­°¡ ¾ø½À´Ï´Ù. 3.8) Æ©ÇÃÀÇ ÃÖ´ë Å©±â°¡ ¾î¶»°Ô µË´Ï±î? Æ©ÇÃÀÇ Å©±â´Â 8K ¹ÙÀÌÆ®·Î Á¦Çѵ˴ϴÙ. ½Ã½ºÅÛ ¼Ó¼º°ú ´Ù¸¥ ºÎÇϸ¦ °í·ÁÇÑ´Ù¸é ¾ÈÀüÇÏ°Ô ÀڷḦ ÀúÀåÇϱâ À§Çؼ­´Â 8000 ¹ÙÀÌÆ®º¸´Ù ´õ ÀÛ°Ô ÀڷḦ Á¦ÇÑÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. 8K º¸´Ù ´õ Å« ÀڷḦ ¾²·Á¸é ´ëÇü°´Ã¼ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇØ º¸¼¼¿ä. Æ©ÇÃÀº 8K °æ°è¸¦ ³Ñ¾î°¡Áö ¾ÊÀ¸¹Ç·Î 5K Â¥¸® Æ©ÇÃÀº 8K ÀÇ ÀúÀå°ø°£À» »ç¿ëÇÏ°Ô µË´Ï´Ù. 3.9) À妽º¸¦ Á¤ÀÇÇßÁö¸¸ Äõ¸®¿¡¼­ »ç¿ëµÇÁö ¾Ê´Â °Í °°½À´Ï´Ù. ¿Ö ±×·¸½À´Ï±î? PostgreSQL Àº ÀÚµ¿ÀûÀ¸·Î Åë°è¸¦ À¯ÁöÇÏÁö ¾Ê½À´Ï´Ù. Åë°è¸¦ °»½ÅÇϱâ À§Çؼ­´Â ¸í½ÃÀûÀ¸·Î 'vacuum' À» È£ÃâÇØ¾ß ÇÕ´Ï´Ù. Åë°è°¡ °»½ÅµÇ¸é ¿ÉƼ¸¶ÀÌÀú°¡ À妽º¸¦ ´õ Àß »ç¿ëÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. ¿ÉƼ¸¶ÀÌÀú°¡ ¸¸´ÉÀº ¾Æ´Ï¸ç ¾î¶² °æ¿ì¿¡´Â (¿¹¸¦ µé¸é OR ÀýÀÌ ÀÖ´Â °æ¿ì) ÀÖ´Â À妽º¸¦ »ç¿ëÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù´Â °ÍÀ» ¸í½ÉÇϽʽÿÀ. ƯÁ¤Ä÷³¿¡ ´ëÇÑ ÃÖÀûÈ­ Åë°è¸¦ º¸·Á¸é 'vacuum analyze' ¸¦ »ç¿ëÇϼ¼¿ä. ±×·¡µµ À妽º°¡ »ç¿ëµÇÁö ¾Ê´Â´Ù¸é ¾Æ¸¶ ºÎÀûÀýÇÑ *_ops ÇüÀ» »ç¿ëÇÏ´Â Çʵ忡 À妽º¸¦ ÁöÁ¤ÇßÀ» °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î CHAR(4) Çʵ带 ¸¸µé¾î ³õ°í char_ops À妽º type_class ¸¦ ÁöÁ¤ÇßÀ» ¼ö ÀÖ½À´Ï´Ù. create_index ÀÇ ¸Å´º¾ó ÆäÀÌÁö¸¦ º¸¸é ¾î¶² ŸÀÔ Å¬·¡½º°¡ »ç¿ë°¡´ÉÇÑÁö ¾Ë ¼ö ÀÖ½À´Ï´Ù. Çʵå ŸÀÔ°ú ÀÏÄ¡ÇØ¾ß ÇÏÁÒ. PostgreSQL Àº ÀûÀýÇÏÁö ¾ÊÀº À妽º°¡ ¸¸µé¾îÁ³´Ù Çصµ »ç¿ëÀÚ¿¡°Ô °æ°í¸¦ ÇÏÁö ¾Ê½À´Ï´Ù. ORDER BY ¿¬»ê¿¡¼­´Â À妽º°¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. 3.10) Á¤±Ô½Ä °Ë»öÀ» ¾î¶»°Ô ÇÏ¸é µË´Ï±î? ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾Ê°í Á¤±Ô°Ë»öÀ» ÇÏ·Á¸é¿ä? psql ÀÇ \do ¸í·ÉÀ» º¸¼¼¿ä. 3.11) vacuum À» ÇÏ´Â µµÁß¿¡ ¼­¹ö Å©·¡½Ã°¡ ÀϾ½À´Ï´Ù. lock ÆÄÀÏÀ» ¾î¶»°Ô ¾ø¾Ö¾ß Çմϱî? vacuum ¸Å´º¾ó ÆäÀÌÁö¸¦ º¸¼¼¿ä. 3.12) ¿©·¯°¡Áö ij¸¯ÅÍ ÇüµéÀÇ Â÷ÀÌÁ¡Àº ¹«¾ùÀԴϱî? Type Internal Name Notes CHAR char 1 character CHAR(#) bpchar blank padded to the specified fixed length VARCHAR(#)varchar size specifies maximum length, no padding TEXT text length limited only by maximum tuple length BYTEA bytea variable-length array of bytes ³»ºÎ¿¬»ê(internal operations)À» ÇÒ ¶§´Â internal name À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. µÚÂÊÀÇ ³× °¡Áö ÇüÀº "varlena" ÇüÀÔ´Ï´Ù(Áï ù ³× ¹ÙÀÌÆ®¿¡ ±æÀ̸¦, ³ª¸ÓÁö ¹ÙÀÌÆ®µé¿¡ ÀڷḦ ³Ö½À´Ï´Ù). CHAR(#) ´Â Çʵ忡 ¾ó¸¶¸¸Å­ÀÇ ÀÚ·á°¡ µé¾î°¡µç »ó°ü¾øÀÌ ±æÀÌÀÇ ÃÖ´ëÄ¡¸¦ ÇÒ´çÇÕ´Ï´Ù. TEXT, VARCHAR(#), ±×¸®°í BYTEA ´Â °¡º¯±æÀÌ·Î ÀڷḦ ÀúÀåÇÏ°í ±×¶§¹®¿¡ ¾à°£ÀÇ ¼º´ÉÀúÇϸ¦ °¡Á®¿ÀÁö¿ä. Á¤È®È÷ ¸»ÇÏÀÚ¸é ¼º´ÉÀúÇÏ´Â ÀÌ ÀÚ·áÇüÀ» °¡Áø ù¹ø° Ä÷³ µÚÀÇ Ä÷³¿¡ Á¢±ÙÇÒ ¶§ ÀϾ´Ï´Ù. 3.13) Äõ¸® ¾È¿¡¼­ Çʵ尡 NULL °ªÀÎÁö ¾Æ´ÑÁö ¾î¶»°Ô ¾Ë¾Æ³¾ ¼ö ÀÖ³ª¿ä? IS NULL °ú IS NOT NULL ·Î Ä÷³ÀÇ °ªÀ» °Ë»çÇϼ¼¿ä. 3.14) Äõ¸® ¿ÉƼ¸¶ÀÌÀú°¡ ³» Äõ¸®¸¦ ¾î¶»°Ô ó¸®ÇÏ´ÂÁö º¼ ¼ö ÀÖ½À´Ï±î? explain ÀÇ ¸Å´º¾ó ÆäÀÌÁö¸¦ º¸¼¼¿ä. 3.15) ½Ã¸®¾ó Çʵ带 ¾î¶»°Ô ¸¸µéÁÒ? PostgreSQL Àº »ç¿ëÀÚµéÀÌ »ç¿ëÀÚÄ÷³À» SERIAL ÇüÀ¸·Î ¼±¾ðÇÏ´Â °ÍÀ» Çã¶ôÇÏÁö ¾Ê½À´Ï´Ù. ´ë½Å, °¢ ·Î¿ìÀÇ oid Çʵ带 À¯´ÏÅ©ÇÑ °ªÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾î·µç, µ¥ÀÌŸº£À̽º¸¦ ´ýÇÁÇÏ°í ´Ù½Ã ·ÎµåÇÒ ÇÊ¿ä°¡ ÀÖ´Ù¸é pgdump ÀÇ -o ¿É¼ÇÀ» »ç¿ëÇϰųª COPY ¸í·ÉÀÇ WITH OIDS ¿É¼ÇÀ» »ç¿ëÇÏ¿© oid ¸¦ º¸Á¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. SERIAL °ú ºñ½ÁÇÑ SEQUENCE ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. create_sequence ¸Å´º¾ó ÆäÀÌÁö¸¦ ÂüÁ¶Çϼ¼¿ä. ´ÙÀ½°ú °°ÀÌ µ¿ÀÏÇÑ ÀÛ¾÷À» ÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé ¼öµµ ÀÖ½À´Ï´Ù. create table my_oids (f1 int4); insert into my_oids values (1); create function new_oid () returns int4 as 'update my_oids set f1 = f1 + 1; select f1 from my_oids; ' language 'sql'; ±×¸®°í´Â create table my_stuff (my_key int4, value text); insert into my_stuff values (new_oid(), 'hello'); ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÒ ¶§´Â µÎ ¼­¹ö°¡ °æÀïÇÏ¿© Çϳª°¡ ¾÷µ¥ÀÌÆ®¸¦ ÇÏ´Â µ¿¾È ´Ù¸¥ Çϳªµµ ¾÷µ¥ÀÌÆ®¸¦ Çؼ­ °á±¹ µÎ ¼­¹ö°¡ µ¿ÀÏÇÑ id ¸¦ ¼±ÅÃÇÏ°Ô µÉ ¼öµµ ÀÖ´Ù´Â °ÍÀ» ¿°µÎ¿¡ µÎ½Ã±â ¹Ù¶ø´Ï´Ù. ÀÌ ÇÕ¼ö´Â ´ÜÀÏ Æ®·£Àè¼Ç ÇÏ¿¡¼­ ¼öÇàµÇ¾î¾ß ÇÕ´Ï´Ù. contrib/spi/autoinc.c ¿¡ ÀÖ´Â autoinc() ÀϹÝÀûÀÎ Æ®¸®°Å ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. 3.16) µ¥ÀÌŸº£À̽º µð·ºÅ丮¿¡ »ý±â´Â pg_psort.XXX ÆÄÀϵéÀº ¹¼´Ï±î? ±× ÆÄÀϵéÀº Äõ¸® ½ÇÇàÇÁ·Î±×·¥¿¡ ÀÇÇØ »ý¼ºµÇ´Â ÀÓ½ÃÁ¤·ÄÆÄÀϵéÀÔ´Ï´Ù. ¿¹¸¦ µé¾î ORDER BY ¸¦ ¸¸Á·Çϱâ À§ÇØ Á¤·ÄµÇ¾î¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù¸é ±× Á¤·ÄÀÇ °á°ú·Î ¸¸µé¾îÁö´Â ÀÓ½ÃÆÄÀÏÀÌÁö¿ä. ÇöÀç ½ÇÇàµÇ°í ÀÖ´Â Á¤·ÄÀ̳ª Æ®·£Àè¼ÇÀÌ ¾ø´Ù¸é pg_psort.XXX ÆÄÀϵéÀ» »èÁ¦ÇÏ´Â °ÍÀÌ ¾ÈÀüÇÕ´Ï´Ù. 3.17) ´Ù¸¥ ÄÄÇ»ÅÍ¿¡¼­ ³» µ¥ÀÌŸº£À̽º·Î ¿Ö ¿¬°áÇÒ ¼ö°¡ ¾øÀ»±î¿ä? Ãʱ⼳Á¤°ªÀ¸·Î´Â ´ÜÁö ·ÎÄ® ¸Ó½Å¿¡¼­ ¿À´Â À¯´Ð½º µµ¸ÞÀÎ ¼ÒÄÏ¿¬°á¸¸À» Çã¿ëÇÕ´Ï´Ù. TCP/IP ¿¬°áÀ» °¡´ÉÇÏ°Ô ÇÏ·Á¸é postmaster -i ¿É¼ÇÀ» »ç¿ëÇϼ¼¿ä. »ó´ë¹æ È£½ºÆ®¸¦ pgsql/data/pg_hba ÆÄÀÏ¿¡ Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù. pg_hba.conf ¸Å´º¾ó ÆäÀÌÁö¸¦ ÂüÁ¶Çϼ¼¿ä. 3.18) µ¥ÀÌŸº£À̽º¿¡ ¾î¶² À妽º³ª ¿¬»êÀÌ Á¤ÀǵǾî ÀÖ´ÂÁö ¾î¶»°Ô ¾Ë ¼ö ÀÖ½À´Ï±î? psql ¿¡´Â ±×·± Á¤º¸¸¦ º¸¿©ÁÖ±â À§ÇÏ¿© ¿ª½½·¡½Ã·Î ½ÃÀÛÇÏ´Â ¿©·¯ ¸í·ÉÀ» ÁغñÇØ ³õ°í ÀÖ½À´Ï´Ù. \? ¸¦ »ç¿ëÇÏ¿© ¸í·É¾îµéÀ» ã¾Æº¸¼¼¿ä. pgsql/src/tutorial/syscat.source ÆÄÀϵµ ã¾Æº¸¼¼¿ä. µ¥ÀÌŸº£À̽ºÀÇ ½Ã½ºÅÛ Å×ÀÌºí¿¡¼­ Á¤º¸¸¦ »Ì¾Æ³»±â À§ÇØ select ¿¡ ÇÊ¿äÇÑ ¿©·¯°¡Áö¸¦ ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. 3.19) ŸÀÓ¿öÇÁ ±â´ÉÀÌ ¹«¾ùÀ̸ç, vacuum °ú´Â ¹«½¼ °ü°è°¡ ÀÖÁÒ? PostgreSQL ¿¡¼­´Â ´õÀÌ»ó ÀÌ ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. Áö¿øÇÏ´Â ÄÚµå ¸ðµÎ°¡ »èÁ¦µÇ¾ú½À´Ï´Ù. ¼º´É°³¼±°ú µð½ºÅ© ÀúÀå°ø°£À» Àý¾àÇϱâ À§Çؼ­¿´½À´Ï´Ù. 3.20) oid ´Â ¹«¾ùÀԴϱî? tid ´Â ¹«¾ùÀԴϱî? oid ´Â À¯´ÏÅ©ÇÑ ·Î¿ì id, ȤÀº ½Ã¸®¾ó Ä÷³¿¡ ÇØ´çÇÏ´Â °ÍÀÔ´Ï´Ù. PostgreSQL ¿¡¼­ »ý¼ºµÇ´Â ¸ðµç ·Î¿ì´Â À¯´ÏÅ©ÇÑ oid ¸¦ °¡Áö°Ô µË´Ï´Ù. initdb ¿¡ ÀÇÇØ »ý¼ºµÇ´Â ¸ðµç oid ´Â 16384 º¸´Ù ÀÛ½À´Ï´Ù(backend/access/transam.h¿¡ ÀÇÇØ). initdb ÀÌÈÄ, Áï »ç¿ëÀÚ¿¡ ÀÇÇØ »ý¼ºµÇ´Â oid ´Â ±×º¸´Ù °°°Å³ª Å©°Ô µË´Ï´Ù. Ãʱ⼳Á¤´ë·Î¶ó¸é ¸ðµç oid µéÀº Å×À̺í, ȤÀº µ¥ÀÌŸº£À̽º ¾È¿¡¼­ »Ó¸¸ ¾Æ´Ï¶ó ¼³Ä¡µÈ PostgreSQL Àüü¿¡¼­ À¯ÀÏÇÑ °ªÀ» °¡Áö°Ô µË´Ï´Ù. PostgreSQL Àº ³»ºÎ ½Ã½ºÅÛ Å×ÀÌºí¿¡¼­ oid ¸¦ °¡Áö°í °³º° Å×À̺íµéÀÇ ·Î¿ì¸¦ ¿¬°á½ÃÅ°´Âµ¥ »ç¿ëÇÕ´Ï´Ù. oid ´Â µæº°ÇÑ À¯Àú ·Î¿ì¸¦ ±¸ºÐÇϴµ¥ ¾²ÀÌ°í, Á¶ÀÎÇÒ ¶§µµ ¾²ÀÔ´Ï´Ù. oid °ªÀ» ÀúÀåÇϱâ À§Çؼ­´Â oid Ä÷³Å¸ÀÔÀ» »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ ÇÕ´Ï´Ù. sql(1) ¸Å´º¾ó ÆäÀÌÁö¿¡ ´Ù¸¥ ³»ºÎÄ÷³µé¿¡ ´ëÇØ ³ª¿ÍÀÖ½À´Ï´Ù. oid Çʵ忡 À妽º¸¦ ¸¸µé¸é ´õ ºü¸¥ ¾ï¼¼½º°¡ °¡´ÉÇÕ´Ï´Ù. oid ´Â ¸ðµç µ¥ÀÌŸº£À̽º¿¡ ÀÇÇØ »ç¿ëµÇ´Â Áß¾Ó¿µ¿ª¿¡¼­ºÎÅÍ ¸ðµç »õ ·Î¿ì¿¡ ÇÒ´çµË´Ï´Ù. oid ¸¦ ¹«¾ð°¡ ´Ù¸¥ °ªÀ¸·Î ¹Ù²Ù°í ½Í°Å³ª Å×À̺íÀÇ oid ¸¦ À¯ÁöÇÑ Ã¤ º¹»çº»À» ¸¸µé°í ½Í´Ù¸é ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. CREATE TABLE new_table (mycol int); INSERT INTO new_table SELECT oid, mycol FROM old_table; tid ´Â Ưº°ÇÑ ¹°¸®Àû ·Î¿ì¸¦ ±¸ºÐÇϴµ¥ ¾²ÀÌ¸ç ºí·Ï°ú ¿ÀÇÁ¼Â °ªÀ» °¡Áý´Ï´Ù. tid ´Â ·Î¿ìµéÀÇ °ªÀÌ ¹Ù²î°Å³ª ´Ù½Ã ·ÎµåµÇ¸é º¯°æµÇ°í, À妽º ¿£Æ®¸®¿¡ ÀÇÇØ ¹°¸®ÀûÀÎ ·Î¿ì¸¦ °¡¸®Å°´Âµ¥ ¾²ÀÔ´Ï´Ù. SQL À» ÅëÇؼ­´Â tid ¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù. 3.21) PostgreSQL ¿¡¼­ »ç¿ëµÇ´Â ¸î¸î ¿ë¾îµéÀÇ ¶æÀ» ¾Ë°í ½Í½À´Ï´Ù. ¾î¶² ¼Ò½ºÄÚµå¿Í ¿À·¡µÈ ¹®¼­¿¡¼­´Â ´õ ÀϹÝÀûÀÎ ¿ë¾îµéÀ» ¾²°í ÀÖ½À´Ï´Ù. ¿¹¸¦ µéÀÚ¸é ´ÙÀ½°ú °°½À´Ï´Ù. * row, record, tuple * attribute, field, column * table, class * retrieve, select * replace, update * append, insert * oid, serial value * portal, cursor * range variable, table name, table alias ´õ »ý°¢ÇÏ°í ÀÖ´Â °ÍÀÌ ÀÖ´Ù¸é ¾Ë·Á ÁֽʽÿÀ. 3.22) À¯Àü¾Ë°í¸®µëÀ» »ç¿ëÇÏ´Â Äõ¸® ÃÖÀûÈ­(Genetic Query Optimization)°¡ ¹¹ÁÒ?? PosgreSQL ÀÇ GEQO ¸ðµâÀº À¯Àü¾Ë°í¸®µë(GA)À» ÀÌ¿ëÇÏ¿© ¸¹Àº Å×À̺íÀ» Á¶ÀÎÇÏ´Â Äõ¸® ÃÖÀûÈ­ ¹®Á¦¸¦ Ç®±â À§ÇÑ °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº non-exhaustive search ¸¦ ÅëÇØ Å« Å×À̺íÀ» Á¶ÀÎÇÏ´Â Äõ¸®µéÀ» °¡´ÉÇÏ°Ô ÇØÁÝ´Ï´Ù. Á¤º¸°¡ ´õ ÇÊ¿äÇÏ´Ù¸é README.GEQO ¸¦ º¸½Ê½Ã¿À. utesch@aut.tu-freiberg.de 3.23) Å×ÀÌºí¿¡¼­ Ä÷³À» Á¦°ÅÇÏ·Á¸é ¾î¶»°Ô Çմϱî? ALTER TABLE DROP COLUMN Àº Áö¿øµÇÁö ¾ÊÁö¸¸ ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µË´Ï´Ù. SELECT ... -- Á¦°ÅÇÏ·Á´Â Ä÷³À» Á¦¿ÜÇÏ°í ³ª¸ÓÁö Ä÷³À» ¸ðµÎ ¼±ÅÃÇϼ¼¿ä INTO TABLE new_table FROM old_table; DROP TABLE old_table; ALTER TABLE new_table RENAME TO old_table; 3.24) Äõ¸®¿¡¼­ óÀ½ ¸î ·Î¿ì¸¸ SELECT ÇÏ·Á¸é ¾î¶»°Ô Çմϱî? fetch ÀÇ ¸Å´º¾ó ÆäÀÌÁö¸¦ º¸¼¼¿ä. ÀÌ·¸°Ô ÇÏ´Â °ÍÀº ¸ðµç °á°ú ·Î¿ìµéÀÌ Å¬¶óÀ̾ðÆ®·Î Àü¼ÛµÇ´Â °ÍÀ» ¸·À» »ÓÀÌ°í, óÀ½ ¸î ·Î¿ì¸¸ ¿øÇÑ´Ù°í ÇÒÁö¶óµµ ½ÇÁ¦·Î Äõ¸®´Â Àüü°¡ ¸ðµÎ 󸮵˴ϴÙ. ORDER BY ¸¦ »ç¿ëÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. Àüü Äõ¸®°¡ ¸ðµÎ ½ÇÇà ¹× Á¤·ÄµÇ±â Àü¿¡ ÀϺÎÀÇ ·Î¿ì¸¸À» ¸®ÅÏÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ¾ø½À´Ï´Ù. 3.25) ¿Ö "time" À̶ó´Â À̸§ÀÇ Ä÷³Àº ¸¸µé ¼ö ¾øÁÒ? 6.2.1 ¿¡¼­ ANSI-92 Ç¥ÁØÀ» ´õ Ãæ½ÇÈ÷ µû¸£±â À§ÇØ ¸î¸î ¿¹¾à¾î°¡ Ãß°¡µÇ¾ú½À´Ï´Ù. ´ÙÀ½ ¸±¸®Áî¿¡¼­´Â ÀÌ Á¦¾àÀÌ ¾ø¾îÁú °ÍÀÔ´Ï´Ù. ftp.postgresql.org ¿¡ ÀÖ´Â ÆÐÄ¡¸¦ »ç¿ëÇϸé ÀÌ Ä÷³ À̸§À¸·Î "time" À» ¾µ ¼ö ÀÖ½À´Ï´Ù. 3.26) ÀϹÝÀûÀÎ ÆÄÀÏÀÇ ÀÚ·áµéÀ» µ¥ÀÌŸº£À̽º¿¡ ÀúÀåÇÏ·Á¸é ¾î´ÀÁ¤µµÀÇ µð½ºÅ© °ø°£ÀÌ ÇÊ¿äÇÑ°¡¿ä? 300,000 ÇàÀ¸·Î µÇ¾îÀÖ°í, °¢ Çึ´Ù µÎ °³ÀÇ Á¤¼ö°ªÀ» °¡Áö°í ÀÖ´Â ÆÄÀÏÀ» »ý°¢ÇØ º¾½Ã´Ù. ÆÄÀÏÀÇ Å©±â´Â 2.4 MB ÀÔ´Ï´Ù. ÀÌ ÀڷḦ ÀúÀåÇÒ PostgreSQL µ¥ÀÌŸº£À̽º ÆÄÀÏÀÇ Å©±â´Â ´ÙÀ½°ú °°ÀÌ °è»êÇÒ ¼ö ÀÖ½À´Ï´Ù. 40 bytes + °¢ ·Î¿ìÀÇ Çì´õ (´ë·«ÀûÀÎ Å©±â) 8 bytes + 4¹ÙÀÌÆ® Å©±âÀÇ Á¤¼ö ÇÊµå µÎ °³ 4 bytes + Æ©ÇÃÀ» °¡¸®Å°´Â Æ÷ÀÎÅÍ -------- = 52 bytes : ÇÑ ·Î¿ì ´ç ¹ÙÀÌÆ®¼ö PostgreSQL ÀÇ µ¥ÀÌŸ ÆäÀÌÁö Å©±â´Â 8192 ¹ÙÀÌÆ®À̹ǷΠ: 8192 bytes per page ------------------- = 157 rows : µ¥ÀÌŸº£À̽º ÆäÀÌÁö´ç ·Î¿ì °¹¼ö (¹Ý¿Ã¸²) 52 bytes per row 300000 data rows ----------------- = 1911 : Àüü ÀÚ·á ÀúÀå¿¡ ÇÊ¿äÇÑ µ¥ÀÌŸº£À̽º ÆäÀÌÁö ¼ö 157 rows per page 1911 database pages * 8192 bytes per page = 15,654,912 or 15.5MB À妽º´Â ÀÌ·¸°Ô ¸¹Àº ¿À¹öÇìµå¸¦ Â÷ÁöÇÏÁö´Â ¾ÊÁö¸¸ À妽ºµÇ´Â ÀڷḦ Æ÷ÇÔÇϹǷΠ¿ª½Ã Ä¿Áú ¼ö ÀÖ½À´Ï´Ù. ------------------------------------------------------------------------ 4Àý : PostgreSQL È®ÀåÇϱâ 4.1) »ç¿ëÀÚÁ¤ÀÇ ÇÔ¼ö¸¦ ¸¸µé¾î¼­ psql ¿¡¼­ ½ÇÇà½ÃÄ×´õ´Ï Äھ ´ýÇÁµË´Ï´Ù. ¿©·¯°¡Áö ¿øÀÎÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚÁ¤ÀÇ ÇÔ¼ö¸¦ µ¶¸³µÈ Å×½ºÆ® ÇÁ·Î±×·¥¿¡¼­ ¸ÕÀú ½ÇÇà½ÃÄÑ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ¶Ç, ÇÁ·ÐÆ®¿£µå°¡ ÀڷḦ ±â´Ù¸®´Â µ¿¾È, ±×·¯´Ï±î type_in() À̳ª type_out µîÀÇ ÇÔ¼ö°¡ ½ÇÇàµÇ´Â µµÁß¿¡ elog NOTICES ¸¦ º¸³»Áö´Â ¾Ê´ÂÁö È®ÀÎÇØ º¸½Ê½Ã¿À. 4.2) NOTICE:PortalHeapMemoryFree: 0x402251d0 not in alloc set! À̶ó´Â ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù. palloc µÇÁö ¾ÊÀº °ÍÀ» pfree ÇÏ·Á°í ÇÒ ¶§ ³ª¿À´Â ¿¡·¯ÀÔ´Ï´Ù. »ç¿ëÀÚÁ¤ÀÇ ÇÔ¼ö¸¦ ¸¸µé ¶§ "libpq-fe.h" ÆÄÀÏÀ» ÀÎŬ·çµåÇÏÁö ¸¶¼¼¿ä. ÀÌ°ÍÀ» ÀÎŬ·çµå ½ÃÅ°¸é palloc ÀÌ malloc À¸·Î µ¿ÀÛÇÏ°Ô µÇ°í ¹é¿£µå°¡ ½ºÅ丮Áö¸¦ pfree ÇÏ·Á°í ÇÒ ¶§ À§¿Í°°Àº ¸Þ½ÃÁö°¡ ³ªÅ¸³ª°Ô µË´Ï´Ù. 4.3) PostgreSQL ¿ëÀ¸·Î »õ·Î¿î ÀÚ·áÇü(types) °ú ÇÔ¼öµéÀ» ¸ÚÁö°Ô ¸¸µé¾î ³õ¾Ò½À´Ï´Ù. ´Ù¸¥ PostgreSQL »ç¿ëÀÚµé°ú ±×°ÍµéÀ» °øÀ¯ÇØ Áֽñ⠹ٶø´Ï´Ù. ¸¸µå½Å °ÍÀ» ¸ÞÀϸµ¸®½ºÆ®¿¡ º¸³»¸é ÃÖÁ¾ÀûÀ¸·Î contrib/ ¼­ºêµð·ºÅ丮·Î °¡°Ô µÉ °Ì´Ï´Ù. 4.4) Æ©ÇÃÀ» ¸®ÅÏÇÏ´Â C ÇÔ¼ö¸¦ ¾î¶»°Ô ¸¸µé¾î¾ß Çմϱî? ¸Å¿ì ¾î·Á¿î ÀÏÀÔ´Ï´Ù. Àúµµ ½ÃµµÇØ º» ÀûÀÌ ¾ø±º¿ä. ¿ø¸®ÀûÀ¸·Î´Â °¡´ÉÇÕ´Ï´Ù¸¸, °£´ÜÈ÷ ¸»Çؼ­... ¾ÈµÉ °Ì´Ï´Ù. ¾ÕÀ¸·Î ¾ðÁ¨°¡´Â °¡´ÉÇÏ°Ô µÉ °Å¿¡¿ä. ------------------------------------------------------------------------ 5 Àý : ¹ö±× 5.1) ¹ö±×¸®Æ÷Æ®¸¦ ¾î¶»°Ô ÇÏ¸é µË´Ï±î? http://postgreSQL.org ÀÇ FAQ ¸¦ Âü°íÇϼ¼¿ä. FTP »çÀÌÆ®ÀÎ ftp://ftp.postgreSQL.org/pub ¿¡¼­ ´õ ÃÖ±ÙÀÇ PostgreSQL ÀÌ ÀÖ´ÂÁö »ìÆ캸¼¼¿ä. "¹ö±× ÅÛÇø´" ÆÄÀÏ¿¡ ±â·ÏÇؼ­ ´ÙÀ½ ÁÖ¼Ò·Î º¸³»½Ê½Ã¿À. * bugs@postgreSQL.org °³¹ßÀÚ ¸ÞÀϸµ¸®½ºÆ®ÀÇ ÁÖ¼ÒÀÔ´Ï´Ù.