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 À» ÇÊ¿ä·Î ÇÕ´Ï´Ù)

´ÙÀ½ Ç÷§Æû¿¡¼­´Â ¹®Á¦Á¡°ú ¹ö±×µéÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù.

1.3) PostgreSQL À» ¾îµð¿¡¼­ ±¸ÇÒ ¼ö ÀÖÀ»±î¿ä?

PostgreSQL ÀÇ ÁÖµÈ anonymous FTP »çÀÌÆ®´Â ´ÙÀ½°ú °°½À´Ï´Ù :

´ÙÀ½°ú °°Àº ¹Ì·¯»çÀÌÆ®µéÀÌ ÀÖ½À´Ï´Ù :

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 ¸¸À» ´Ù·ç´Â ¸ÞÀϸµ¸®½ºÆ®°¡ µÑ ÀÖ½À´Ï´Ù.

ÀÌ ¸®½ºÆ®µéÀº ÀϹÝÀûÀÎ majordomo ¸ÞÀϸµ¸®½ºÆ®ÀÔ´Ï´Ù. ´ÙÀ½ ÁÖ¼Ò·Î ¸ÞÀÏÀ» º¸³»¸é ±¸µ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.

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 °ÔÀÌÆ®¿þÀ̸¦ ´ÙÀ½ÀÇ °÷¿¡¼­ ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.

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 °ú ¿¬°áÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡´Â ¾î¶² °ÍÀÌ ÀÖ½À´Ï±î?

¾Æ·¡¿Í °°½À´Ï´Ù:


2Àý : ¼³Ä¡¿¡ °üÇÑ Áú¹®

2.1) initdb °¡ ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù.

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 ÀÇ ÇʵåµéÀº ´ÙÀ½°ú °°½À´Ï´Ù.

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(#)varcharsize 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 ¿¡¼­ »ç¿ëµÇ´Â ¸î¸î ¿ë¾îµéÀÇ ¶æÀ» ¾Ë°í ½Í½À´Ï´Ù.

¾î¶² ¼Ò½ºÄÚµå¿Í ¿À·¡µÈ ¹®¼­¿¡¼­´Â ´õ ÀϹÝÀûÀÎ ¿ë¾îµéÀ» ¾²°í ÀÖ½À´Ï´Ù. ¿¹¸¦ µéÀÚ¸é ´ÙÀ½°ú °°½À´Ï´Ù.

´õ »ý°¢ÇÏ°í ÀÖ´Â °ÍÀÌ ÀÖ´Ù¸é ¾Ë·Á ÁֽʽÿÀ.

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 ÀÌ ÀÖ´ÂÁö »ìÆ캸¼¼¿ä.

"¹ö±× ÅÛÇø´" ÆÄÀÏ¿¡ ±â·ÏÇؼ­ ´ÙÀ½ ÁÖ¼Ò·Î º¸³»½Ê½Ã¿À.

°³¹ßÀÚ ¸ÞÀϸµ¸®½ºÆ®ÀÇ ÁÖ¼ÒÀÔ´Ï´Ù.