PostgreSQL °­ÁÂ 1
-¼³Ä¡ ¹× ±âº» »ç¿ë¹ý-

    Çѵ¿ÈÆ/KLUG ȸÀå

     

     

1. µé¾î°¡´Â¸»

    ¿äÁòÀº ÇÑÂü RDBMS°¡ À¯ÇàÀÌ´Ù. ´«¸¸ ¶ß°í ÀϾ¸é µ¥ÀÌÅÍ º£À̽º ¼Ö·ç¼ÇÀÌ´Ï ¹¹´Ï Çϸ鼭 ¸¶Ä¡ RDBMS¸¦ ¸ð¸£¸é ÀÌ ¼¼»óÀ» »ì¾Æ °¥¼ö ¾ø´Â °Íó·³ ¸¸µç´Ù. Àû¾îµµ ±× ´ë»óÀ» ÇÁ·Î±×·¡¸Ó·Î ±¹ÇÑÀ» ½ÃÅ°´õ¶óµµ ¸»ÀÌ´Ù.

    ÇÏÁö¸¸ ¾ÆÁ÷µµ Àڱ׸¶ÇÑ Áß¼Ò±â¾÷¿¡¼­´Â Ŭ¸®ÆÛ³ª DB+ °°Àº °ÍÀ» »ç¿ëÇÏ¿© ¸¸µç µ¥ÀÌÅÍ º£À̽º ÇÁ·Î±×·¥À» »ç¿ëÇϱ⵵ ÇÑ´Ù. ¹«¸© ¾î¶°ÇÑ Çʿ伺ÀÌ ¾î¶°ÇÑ ¹ß¸íÀ̳ª ¹ßÀüÀ» ÀÖ°Ô ÇÏ´Â °Í °°´Ù. ¿äÁòÀº µ¥ÀÌÅÍ º£À̽º ºÐ¾ß¿¡µµ °ü°èÇü °³³äÀ» ³Ñ¾î °´Ã¼ÁöÇâ °³³äÀ̳ª ºÐ»ê°³³äÀÌ µµÀԵDZ⵵ ÇÑ´Ù. °¡¸é °¥¼ö·Ï ¼¼»óÀº ºü¸£°Ô º¯ÇÏ´Â °Í °°°í, ´õ¿í ´õ ¸¹Àº ´É·ÂÀ» ÇÁ·Î±×·¡¸Ó¿¡°Ô ¿ä±¸ÇÏ´Â °Í °°´Ù.

    ¿ì¸®°¡ ÀϹÝÀûÀ¸·Î ¾Ë°í ÀÖ´Â RDBMS Áß¿¡´Â ¿À¶óŬ, ÀÎÆ÷¹Í½º °°Àº ¼ö¹é¸¸¿øÀ» È£°¡ÇÏ´Â º»°Ý »ó¿ë µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀÌ ¸¹ÀÌ ¾Ë·ÁÁ® ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ¿¡ ¸øÁö ¾ÊÀº µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀÌ °ø°³¿ëÀ¸·Î ¿©·¯ºÐ °¡±îÀÌ¿¡ ÀÖ´Ù°í ÇÏ¸é ¾î¶»°Ô ÇÒ °ÍÀΰ¡ ?

    ¸®´ª½º »ç¿ëÀÚ¶ó¸é PostgreSQLÀ̶ó´Â °­·ÂÇÑ RDBMS ÀÖ´Ù´Â °ÍÀ» ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù.
    ¹°·Ð PostgreSQLÀÌ¿Ü¿¡µµ ¾µ ¸¸ÇÑ µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀ¸·Î mSQL°ú mySQLÀ̶ó´Â °Íµµ ÀÖ´Ù.
    PostgreSQL´Â Á¤¸» Áß°£±Ô¸ð Á¤µµÀÇ ±â¾÷¿¡¼­ ´ë¿ë·® µ¥ÀÌÅÍ º£À̽º¸¦ ó¸®Çϱ⿡µµ ÃæºÐÇÑ ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ÀÌÁ¦ PostgreSQLÀÇ Áß¿äƯ¡À» »ìÆ캸µµ·Ï ÇÏÀÚ .

 

2.PostgreSQL ÀÇ °³¿ä ¹× Ư¡

    PostgreSQL ÀÇ °ø½Ä »çÀÌÆ®ÀÎ 'http://www.PostgreSQL.org" ÀÇ ´ë¹®Â¦¿¡´Â ´ÙÀ½°ú °°Àº ±ÛÀÌ Ä¿´Ù¶þ°Ô ¾²¿©ÀÖ´Ù.

    " PostgreSQL´Â °­·ÂÇÑ Â÷ ¼¼´ë °´Ã¼ - °ü°èÇü DBMS·Î¼­ Berkeley Postgres µ¥ÀÌÅͺ£À̽º °ü¸® ½Ã½ºÅÛ¿¡¼­ ÆÄ»ýµÇ¾ú´Ù. PostgreSQL´Â °­·ÂÇÑ °´Ã¼-°ü°èÇü µ¥ÀÌÅÍ ¸ðµ¨°ú dzºÎÇÑ µ¥ÀÌÅÍ Å¸ÀÔ, ½¬¿î È®À强À» °¡Áö°í ÀÖÀ¸¸ç, PostQuel ÁúÀÇ ¾ð¾î¸¦ È®ÀåµÈ SQLÀÇ ºÎºÐ ÁýÇÕÀ¸·Î ´ëüÇÏ°í ÀÖ´Ù."

    PostgreSQLÀº ÇѸ¶µð·Î °´Ã¼ÁöÇâ ±â´ÉÀ» °¡Áö°í ÀÖ´Â °ü°èÇü µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀÌ´Ù. PostgreSQLÀÇ ¸ðÅ°¡ µÇ´Â ÃÖÃÊÀÇ Postgres ÇÁ·ÎÁ§Æ®´Â 1986³â ¸¶ÀÌŬ ½ºÅæºê·¹ÀÌÄ¿(Michale Stonebraker) ±³¼ö¿¡ ÀÇÇØ ÁÖµµµÇ¾úÀ¸¸ç. DRAPA(¹æÀ§ Áøº¸ ¸®¼­Ä¡ ±â°ü ), ARO(À°±º ¸®¼­Ä¡¿¬±¸¼Ò). NSF(¹Ì ±¹¸³ °úÇÐ Àç´Ü) µî ¿©·¯ ±â°üÀ¸·ÎºÎÅÍ ÈÄ¿øÀ» ¹Þ¾Ò´Ù. Áï, ¾ÖÃÊ¿¡ »ó¾÷ÀûÀÎ ¸ñÀûÀ¸·Î °³¹ßµÈ °ÍÀÌ ¾Æ´Ï¶ó ±³À° ¿¬±¸Â÷¿ø¿¡¼­ °³¹ßµÈ °ÍÀÌ¿´´Ù. ³ªÁß¿¡ ¼³¸íÇÏ°ÚÁö¸¸ ÀÌ·¯ÇÑ Æ¯Â¡Àº PostgreSQLÀÇ µ¥ÀÌÅÍ Å¸ÀÔ¿¡¼­µµ ³ªÅ¸³­´Ù. ±×¸®°í ¾ÆÀÌ·¯´ÏÄà ÇÏ°Ôµµ PostgreSQL¿¡ °ü·ÃµÈ ¹®¼­´Â Á÷Á¢ÀûÀ¸·Î »ç¿ëÀÚ ¸Å´º¾ó¿¡ ³ªÅ¸³­ °Íº¸´Ùµµ °¢Á¾ ³í¹®À¸·Î ¹ßÇ¥µÈ °ÍÀÌ ÈξÀ ¸¹´Ù.

    PostgreSQL´Â ¸Å¿ì ´Ù¾çÇÑ ¿¬±¸¿Í ¿©·¯ ÀÀ¿ë °á°ú¸¦ ±¸ÇöÇϴµ¥ »ç¿ëµÇ¾îÁ® ¿ÔÀ¸¸ç, ±ÝÀ¶»óÀÇ µ¥ÀÌÅÍ ºÐ¼® ½Ã½ºÅÛ, Á¦Æ®¿£ÁøÀÇ ¼º´ÉÀ» ¸ð´ÏÅ͸µ ÇÏ´Â ÆÐÅ°Áö, ¼ÒÇ༺ÀÇ ¿îµ¿À» ÃßÀûÇÏ´Â µ¥ÀÌÅÍ º£À̽º, ÀÇÇÐÁ¤º¸ µ¥ÀÌÅÍ º£À̽º, ¸î °³ÀÇ Áö¸®Á¤º¸ ½Ã½ºÅÛ µî¿¡ °ü·ÃµÈ ¾÷¹«¿¡ ÀÌ¿ëµÇ¾îÁ® ¿Ô´Ù.

    Postgres´Â ¶ÇÇÑ ¿©·¯ ´ëÇп¡¼­ ±³À°¿ëÀ¸·Î ¾²¿©Á® ¿Ô´Ù. ¸¶Ä§³» Illustra Information Technologies ¿¡¼­´Â ÀϺÎÀÇ Äڵ带 »ç¿ëÇÏ¿© ±×°ÍÀ» »ó¾÷È­ÇÏ¿´´Ù
    1992³â¿¡ Postgre´Â '¼¼ÄûÀ̾î 2000°úÇÐ ÄÄÇ»Æà ÇÁ·ÎÁ§Æ®'ÀÇ ÁÖ¿äÇÑ µ¥ÀÌÅÍ Ã³¸®±â·Î ¼±Á¤µÇ¾ú´Ù. ³ª¾Æ°¡¼­ 1993³â¿¡´Â ³»ºÎ »ç¿ëÀÚ Áý´ÜÀÇ Å©±â°¡ µÎ¹è¿¡ °¡±î¿öÁ³´Ù. ÀÌ°ÍÀº ÄÚµåÀÇ ¿øÇüÀ» °ü¸®ÇÏ°í ±×°ÍÀ» Áö¿øÇÏ´Â ÀÏ¿¡ µ¥ÀÌÅÍ º£À̽º ¿¬±¸ Áß ´õ ¸¹Àº ½Ã°£ÀÌ ÇÒ´çµÇ¾î °¡°í ÀÖ´Ù´Â Á¡À» ¸í¹éÇÏ°Ô ¸»ÇØÁØ´Ù. ÀÌ·¯ÇÑ Èûµç ¼ö°í¸¦ ÁÙÀ̱â À§Çؼ­ °ø½ÄÀûÀ¸·Î ÀÌ ÇÁ·ÎÁ§Æ®´Â ¹öÀü4.2¸¦ ¸¶Áö¸·À¸·Î Á¾·áµÇ¾ú´Ù.

    PostgreSQL´Â ÀÌ·¯ÇÑ PostgresÀÇ ¸¶Áö¸· ¸±¸®ÁîÀÎ ¹öÀü4.2¿¡¼­ ÆÄ»ýµÇ¾úÀ¸¸ç, ¹öŬ¸® ¼ÒÀç Ķ¸®Æ÷´Ï¾Æ ´ëÇп¡¼­ °³¹ßµÇ¾ú´Ù. PostgreSQL6.0 ÀÌÀüÀÇ ¹öÀüÀº ÈçÈ÷ Postgre95¶ó°í ºÒ·¯¿Ô´Ù.

    PostgreSQLÀÇ ÄÚµå´Â ÇöÀç ¿ÏÀüÈ÷ ANSI C·Î ÀÛ¼ºµÇ¾úÀ¸¸ç, ÄÚµåÀÇ Å©±âµµ ¾à25%°¡ ÁÙ¾ú°í, ¼º´É°³¼±°ú ÄÚµåÀ¯Áö ºÎºÐ¿¡ ´ëÇÑ ¸¹Àº ³»ºÎÀû º¯È­°¡ ÀÖ¾ú´Ù. PostgreSQL ¹öÀüÀº ÀÌÀüÀÇ Postgres¿¡ ºñ±³Çغ¼ ¶§ »ó´çÇÑ ¼Óµµ»óÀÇ ÀÌÁ¡ÀÌ ÀÖ´Ù°í ÇÑ´Ù.

    PostgreSQLÀÇ ¼¼°¡Áö Áß¿äƯ¡Àº ´ÙÀ½°ú °°´Ù.

      ¢Ä °ü°èÇü ¸ðµ¨ : Postgres ÇÁ·ÎÁ§Æ® ¸®¼­Ä¡ÀÇ ÃÖÃÊÀÇ ¸ñÀû ÁßÀÇ Çϳª´Â º¹ÇÕ°´Ã¼(complex object), ±ÔÄ¢(rule) µîÀ» ´Ù·ê ¼ö ÀÖÀ¸¸ç, °í¼öÁØÀ¸·Î È®Àå°¡´ÉÇÑ °ü°èÇü DBMS¸¦ Á¦ÀÛÇÏ·Á´ø °ÍÀ̾ú´Ù. µû¶ó¼­ PostgreSQL´Â °ü°èÇü DBMS°¡ °¡Áö°í ÀÖ´Â °ÅÀÇ ¸ðµç ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ¿¹¸¦ µé¸é SQL¿¡¼­ ¼­¼úÀûÀÎ ÁúÀǾîÀÇ »ç¿ë°ú ÁúÀÇ ÃÖÀûÈ­, µ¿½Ã¼ºÁ¦¾î, Æ®·£Àè¼Çó¸®, ¸ÖƼ À¯Àú ±â´É µîÀ» Á¦°øÇÏ°í ÀÖ´Ù.

      ¢Ä °í¼öÁØ È®À强 : PostgreSQL´Â »ç¿ëÀÚ Á¤ÀÇ ¿ÀÆÛ·¹ÀÌÅÍ¿Í Å¸ÀÔ, ÇÔ¼ö, ¿¢¼¼½º ¸Þ½îµå¸¦ Áö¿øÇÑ´Ù.

      ¢Ä °´Ã¼ÁöÇâ : PostgreSQL´Â »ó¼Ó, °´Ã¼¿Í °°Àº °´Ã¼ÁöÇâ°³³ä¿¡¼­ º¼ ¼ö ÀÖ´Â ¿©·¯ Ư¡À» Ãʺ¸ÀûÀ̳ª¸¶ ±¸ÇöÇÏ°í ÀÖ´Ù. ÀÌ·¯ÇÑ Æ¯Â¡ ¶§¹®¿¡ ¾î¶² »ç¶÷µéÀº PostgreSQL¸¦ ¼³¸íÇÒ ¶§ ORDBMS¶ó°í ¸»Çϱ⵵ ÇÑ´Ù.

    PostgreSQL´Â ÀϹÝÀûÀÎ ±¸Á¶´Â postmaster. postgres. frontend ÀÇ 3°¡Áö ºÎºÐÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù.

      ¢Ä postmaster´Â ÃÖ»óÀ§ µ¥¸ó ÇÁ·Î¼¼½ºÀÌ´Ù. ÀÌ°ÍÀº frontend¿Í backend ÇÁ·Î¼¼½º »çÀÌÀÇ Åë½ÅÀ» ´ã´çÇϸç, °øÀ¯¹öÆÛ Ç®(°øÀ¯¸Þ¸ð¸® ³»ºÎ¿¡)À» ÇÒ´çÇϸç. ½ÃÀÛ ½Ã¿¡ ´Ù¸¥ ÃʱâÈ­ ºÎºÐÀ» ¼öÇàÇÑ´Ù.

      ¢Ä postgres´Â backend µ¥ÀÌÅͺ£À̽º ¼­¹ö ÇÁ·Î¼¼½ºÀÌ´Ù. ÁúÀÇ(query)¸¦ ¼öÇàÇÏ´Â µîÀÇ ½ÇÁ¦ ÀÛ¾÷À» ó¸®ÇÑ´Ù. postmaster´Â ÇØ´ç frontend Á¢¼Ó¸¶´Ù »õ·Î¿î backend ÇÁ·Î¼¼½º¸¦ ½ÃÀÛ½ÃŲ´Ù. postgres backend´Â Ç×»ó ¼­¹ö¸Ó½®¿¡¼­ ¼öÇàµÈ´Ù.

      ¢Ä frontend ÀÀ¿ëÇÁ·Î±×·¥(¿¹¸¦µé¸é psql)Àº ¾Æ¸¶ ¶Ç ´Ù¸¥ ¸Ó½Å(¿¹¸¦ µé¸é Ŭ¶óÀ̾ðÆ® ¿öÅ©½ºÅ×À̼Ç)»ó¿¡¼­ µ¹¾Æ °¥¼ö ÀÖÀ¸¸ç, postmaster¸¦ °ÅÃļ­ postgres backend ¿¡°Ô Á¢¼ÓÀ» ¿äûÇÑ´Ù.

    ¿©±â¿¡¼­ backend¶ó´Â ¿ë¾î´Â ¾î¶°ÇÑ (µ¥ÀÌŸº£À̽º)½Ã½ºÅÛ¿¡¼­ ½ÇÁúÀûÀ¸·Î »ç¿ëÀÚÀÇ ¿äûÀ» ó¸®ÇÏ´Â ¿£Áø°ú À¯»çÇÑ ºÎºÐÀ̶ó°í º¸¸é µÈ´Ù. frontend´Â »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾Æ µéÀ̰ųª ¿äûÀ» Á¢¼öÇÏ¿© backend·Î Àü´ÞÇÏ´Â ÀÎÅÍÆäÀ̽º ºÎºÐÀ» ÀÏÄ´´Ù. PostgreSQL¿¡¼­ backend´Â postgres ÇÁ·Î¼¼½ºÀÌ°í, frontend´Â psql À̳ª ¿©Å¸ÀÇ PostgreSQL »ç¿ëÀÚ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ´Ù.

    PostgreSQL´Â Á¤¸» ´Ù¾çÇÑ API¸¦ Áö¿øÇÑ´Ù. ÀÌÁß¿¡¼­ ¾Æ¸¶µµ ¾ÕÀ¸·Î ÁÖ·Î »ç¿ëÇÏ°Ô µÉ API°¡ Çϳª ÀÌ»ó¾¿Àº ÀÖÀ» °ÍÀÌ´Ù. ¸¶À½¿¡ µå´Â °ÍÀ» °ñ¶ó¼­ ¸¶À½²¯ »ç¿ëÇغ¸±â ¹Ù¶õ´Ù.

      ¡¤C API

      ¡¤C ++ API

      ¡¤Tcl API

      ¡¤Perl API

      ¡¤Python API

    ÀÌÁß¿¡¼­ C¿Í C ++ API´Â ÀϹÝÀûÀÎ ¶óÀ̺귯¸®¿Í Ŭ·¡½º ÇüÅ·ΠÁ¦°øÇÑ´Ù. PostgreSQL°¡ °ø°³ÀûÀÎ ¼º°ÝÀ» ¶ç°í ÀÖ´Ù´Â Á¡ ¶§¹®¿¡ Á¤¸» ¼öµµ Çì¾Æ¸± ¼ö ¾øÀ» Á¤µµÀÇ Áö¿ø ÅøÀÌ Àü¼¼°èÀÇ ¿©·¯ »ç¶÷¿¡ ÀÇÇØ °³¹ßµÇ¾î »ç¿ëµÇ°í ÀÖ´Ù.
    PostgreSQL ³»¿ÜºÎ¿¡¼­ ºñ°ø½Ä, °ø½ÄÀûÀ¸·Î Áö¿øµÇ´Â ÅøÀ̳ª ´Ù¾çÇÑ ÆÐÅ°Áö¸¦ Àá±ñ ³ª¿­Çغ¸ÀÚ

      ¡¤ODBC, UDBC, JDBC µå¶óÀ̹ö

      ¡¤ÀÚ¹Ù ·¹Æ®µÑ, Àڹ٠Ŭ·¡½º

      ¡¤WISQL- À©µµ¿ìÁî »óÈ£´ëÈ­½Ä ÁúÀÇ Åø

      ¡¤ISQL- »óÈ£´ëÈ­½Ä ÁúÀÇ Åø

      ¡¤AppGEN °³¹ß½Ã½ºÅÛ- PostgreSQL 4GL À¥ µ¥ÀÌÅͺ£À̽º ¾îÇø®ÄÉÀ̼Ç

      ¡¤EARP - À¥ Å×ÀÌŸ º£À̽º µðÀÚÀÎ /±¸Çö Åø

      ¡¤dbengine- À¥ ÀÎÅÍÆäÀ̽º

      ¡¤NeoSoft NeoWebScript - Apache À¥¼­¹ö ¸ðµâ

      ¡¤PHP/FI - ¼­¹ö Ãø html ¿¥º£µðµå ½ºÅ©¸³Æ® ¾ð¾î

      ¡¤WDB -P95 -PostgreSQL ¿Í À¥ÀÇ °ÔÀÌÆ® ¿þÀÌ

      ¡¤ESQL/C

    ÀÌ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» ¾Ë°í ½ÍÀ¸¸é, ¾ó¸¶ Àü¿¡ ³ª¿Â "Linux Database HOWTO" ¹®¼­¸¦ ÂüÁ¶ÇÏ°Ô ¹Ù¶õ´Ù. ´ÙÀ½¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

    http://sunsite.unc.edu/LDP/HOWTO/Database-HOWUO.html

 

3. PostgresSQL ÀúÀÛ±Ç

    PostgresSQL´Â ±âº»ÀûÀ¸·Î ¼Ò½º¼öÁرîÁöµµ °ø°³ÀûÀÎ ¼º°ÝÀ» ¶ç°í ÀÖ´Ù. GPLÀº ¾Æ´ÏÁö¸¸ »ç¿ë, º¹»ç, ¼öÁ¤, ¹èÆ÷¿¡ À־ ÀÚÀ¯·Î¿ì¸ç ¹«·á·Î ±¸ÇÒ ¼ö ÀÖ´Ù. ¾Æ¿ï·¯ COPYRIGHT¹®¼­¿¡´Â, ¼ÒÇÁÆ®¿þ¾î »ç¿ëÀ¸·Î ÀÎÇÑ ¼ÕÇØ¿¡ ´ëÇØ ¾î¶°ÇÑ º¸Áõµµ ÇÏÁö ¾ÊÀ¸¸ç, »ó¾÷ÀûÀÎ ÀÌ¿ëÀ̳ª ¾î¶² Ưº°ÇÑ ¸ñÀû¿¡ÀÇ »ç¿ë¿¡ ´ëÇؼ­µµ º¸Áõ(warranties)À» °ÅºÎÇÑ´Ù°í ¸í½ÃÇÏ°í ÀÖ´Ù. Áï »ó½ÄÀûÀÎ ¼öÁØ¿¡¼­ °ø°³ ¼ÒÇÁÆ®¿þ¾îÀÇ ¹üÁÖ¿¡ Æ÷ÇÔµÈ´Ù°í º¸¸é µÉ °Í °°´Ù.

 

4. PostgresSQL ÀÇ ¼³Ä¡

    PostgresSQL´Â ´ÙÀ½ÀÇ Ç÷§Æû¿¡¼­ µ¿ÀÛÇÑ´Ù.

     

    aix                     IBM on  AIX 3.2.5

    alpha                  DEC Alpha AXP  on OSF/1.2.0

    BSD44_derived    OSs derived from 4.4-lite BSD
                             (NetBSD,FreeBSD)

    bsdi                    BSD/OS 2.0, 2.0.1 2.1

    dgux                   DG/UX  5.4R3.10

    hpux                   HP PA-RISC on HP-UX 9.0

    i386_solaris         i386 Solaris

    irix5                    SGI MIPS on IRIX 5.3

                             SPARC on Linux ELF

                             (For non-ELF Linux, see LINUX_ELF below)

    sparc_solaris       SUN SPARC on Solaris 2.4

    sunos4               SUN SPARC on SunOS 4.1.3

    svr4                   INTEL x86 on Intel SVR4

    ultrix4                 DEC MIPS on Ulrix 4.4

    nextstep¿¡¼­´Â ¾à°£ÀÇ ¹®Á¦°¡ ÀÖ´Ù°í ÇÑ´Ù.

     

    part 1 PostgerSQL¸¦ ¼Ò½º ÆÄÀÏ·Î ¼³Ä¡Çϱâ

    ÇöÀç±îÁö ³ª¿Â PostgresSQL 6.1.1ÀǼҽº ÆÄÀÏÀÇ ¾ÐÃàºÐ·®Àº ´ë·« 2¸Þ°¡ ÀÌ´Ù. ¼Ò½ºÆÄÀÏÀÇ ¾ÐÃàÀ» Ç®¸é ´ë·« 10¸Þ°¡Á¤µµ µÈ´Ù. ¼³Ä¡½Ã¿¡´Â ÃּҸ޸𸮠8¸Þ°¡¿Í ¼Ò½º ¹ÙÀ̳ʸ® »ç¿ëÀÚ µ¥ÀÌÅÍ º£À̽º¿¡ ´ë·« 45¸Þ°¡ Á¤µµÀÇ µð½ºÅ© °ø°£À» ÇÊ¿ä·Î ÇÑ´Ù ´ë¿ë·®ÀÇ µ¥ÀÌÅÍ º£À̽º¸¦ ±¸ÃàÇÏÁö ¾ÊÀ» °Å¶ó¸é »ç½Ç ÀÌÁ¤µµ ±îÁöµµ ÇÊ¿äÇÏÁö ¾Ê´Ù. ¼Ò½ºÆÄÀÏÀ» Ç®°í ÄÄÆÄÀÏÇÏ¿© ¹ÙÀ̳ʸ®¸¦ µÑ °ø°£°ú ¾à°£ÀÇ µ¥ÀÌÅÍ º£À̽º ÀúÀå°ø°£¸¸ ÀÖÀ¸¸é µÈ´Ù.

    Áö±Ý 9¿ù 30ÀÏ ÇöÀç±îÁö ³ª¿Â ÃÖ½ÅÀÇ °ø½Ä¹öÀüÀº 6.1.1ÀÌ´Ù º£Å¸¹öÁ¯Àº 6.2b11±îÁö ³ª¿ÍÀÖ´Ù. 10¿ù ÃÊ°æ¿¡´Â 6.2.°¡ ³ª¿Ã ¿¹Á¤ÀÌ°í 12¿ù °æ¿¡´Â 6.3ÀÌ ³ª¿Ã ¿¹Á¤À̶ó°í ÇÑ´Ù »ç½Ç PostgresSQL°ú ´Ù¸¥ °ø°³¿ë DRBMS¸¦ ºñ±³Çغ¼ ¶§, PostgresSQLÀº ºñÇ¥ÁØÀûÀÎ ºÎºÐÀ» ¸¹ÀÌ Áö¿øÇØ¿Ô´ø °ÍÀÌ »ç½ÇÀÌ´Ù. ±×¸®ÇÏ¿© »ç¿ëÀÚ È®À强Àº Á¤¸» ¶Ù¾î³ª°Ô µÇ¾úÀ¸³ª ±âº» Ç¥ÁØÀÎ ANSI SQLÀ» ¿©ÀüÈ÷ ¿ÏÀüÇÏ°Ô´Â Áö¿øÇÏÁö ¸øÇÏ°í ÀÖ´Ù. ¾Æ¸¶µµ ±×Áß¿¡¼­ Á¤¸» ¿ä±äÇÏ°Ô »ç¿ëµÇ´Â °ÍÀº subselects, primary/secondary key, constraint Á¤µµ °¡ µÉ °ÍÀÌ´Ù. ÇÏÁö¸¸ »ç½Ç ÀÌ·± ±â´ÉÀÇ ´ëºÎºÐÀº PostgresSQL¿¡¼­ »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¿Í À妽º »ý¼ºÀ» ÅëÇÏ¿© ÇØ°áÇÒ ¼ö ÀÖ´Â ºÎºÐµéÀÌ´Ù. ÀÌÁ¦ 6.2 ¹öÀüºÎÅÍ ÀÌ·¯ÇÑ Ç¥ÁØ SQLºÎºÐÀ» º»°ÝÀûÀ¸·Î Áö¿øÇÏ°Ú´Ù°í ÇÑ´Ù. 6.2 º£Å¸ ¹öÀü¿¡¼­µµ ¹ú½á Å×À̺íÀÇ Çʵå³×¿¡¼­ ±âº» DEFAULT °ªÀ» ÁöÁ¤Çϰųª NOT NULLÅ°¿öµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. 6.2 ¹öÀüÀ» ¼Õ²Å¾Æ ±â´Ù·Áº¼¸¸ ÇÏ´Ù.

    ÇÏÁö¸¸ ¿©±â¼­´Â ÇöÀç±îÁöÀÇ °ø½Ä¹öÀüÀÎ 6.1.1 ÀÇ ¼³Ä¡¸¦ ±âÁØÀ¸·Î ¼³¸íÇÏ°Ú´Ù. PostgresSQL¿¡¼­ÀÇ ÇÑ±Û »ç¿ë¹®Á¦µµ ÀÖ°í Ãß°¡ÀûÀÎ ±â´ÉÀº ³ªÁß¿¡ Ž¹ÌÇصµ ÃæºÐÇÒ °Í °°±â ¶§¹®ÀÌ´Ù.

    ÀÌ¹Ì PostgresSQL¸¦ ¼³Ä¡ÇÏ¿´´Ù¸é ÀÌ ºÎºÐÀ» °Ç³Ê¶Ù¸é µÈ´Ù. ±¦È÷ º» °Í ¶Ç º¸¸é ¸Ó¸®¸¸ ¾ÆÇÁ°í ½Ä¿å¸¸ ¶³¾îÁú »ÓÀÌ´Ù.

    ¼³Ä¡¸¦ Çϱâ·Î ¸¶À½ ¸Ô¾ú´Ù¸é PostgresSQL »çÀÌÆ®³ª ±¹³»BBS Linux µ¿È£È¸¿¡¼­ PostgresSQL ÃֽŹöÀüÀ» ¹Þ¾Æ¿ÀÀÚ. ¿¹ÀüÀÇ Postgres 95 ¿Í ÇöÀçÀÇ PostgresSQL 6.x  ´ë ¹öÀüÀº ¼­·Î ¼³Ä¡¹æ¹ýÀÌ Á¶±Ý ´Ù¸£Áö¸¸, PostgresSQL 6.x ´ë¿¡¼­´Â °ÅÀÇ °°´Ù. Ȥ½Ã º£Å¸¹öÀüÀ» ¼³Ä¡ÇÏ·Á´Â ºÐÀ̳ª ¸çÄ¥ ÀÖÀ¸¸é ³ª¿Ã PostgresSQL 6.2¸¦ ¼³Ä¡ÇÏ°í ½Í´Ù¸é ±×°ÍÀ¸·Î ¼³Ä¡Çصµ »ó°üÀº ¾ø´Ù.
    PostgresSQL 6.1.1À» Æ÷ÇÔÇÑ ÀÌÇÏ ¹öÀüÀ» ¼³Ä¡ÇÏ·Á°í ÇÏ°í, Å×ÀÌºí ¸íÀ̳ª Çʵå¸í¿¡ ÇѱÛÀ» »ç¿ëÇÏ°í ½Í´Ù´øÁö, 2¹ÙÀÌÆ® ¹®ÀÚ¸¦ Á¤±ÔÇ¥Çö½ÄÀ¸·Î °Ë»öÇÏ°í ½Í´Ù¸é, ´ÙÀ½ »çÀÌÆ®¿¡¼­ PostgresSQL ÀÇ ¹öÀü¿¡ ¸Â´Â 2¹ÙÀÌÆ® ÄÚµå ÆÐÄ¡ÆÄÀÏÀÎ jp.patch.gz¸¦ °¡Á®¿Â´Ù.

    ftp://ftp.sra.co.jp/pub/cmd/postgres/

    »ç½Ç, PostgresSQLÀÇ ±âº» ¼³Ä¡´Â ./configure, make, make install, initab ¸¸À¸·Îµµ ÃæºÐÇÏ´Ù. ¹°·Ð Postgres ÀÌ·± ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇÑ´Ù´Â°Ô Áß¿äÇÏ´Ù. ȯ°æº¯¼ö¸¦ Àâ´Â´Ù´øÁö ¿©Å¸ÀÇ °ÍµéÀº ÀÌÁ¦ ÇϳªÇϳª ¼³¸íÇÏ°Ú´Ù.

      1) postgres °èÁ¤ÀÌ ¾ø´Ù¸é ¸¸µç´Ù.
      ¹°·Ð ÀÌÀü¿¡ ¸¸µé¾î µÎ¾ú´Ù¸é ´Ù½Ã ¼Õº¼ ÇÊ¿ä´Â ¾ø´Ù.

      2) µð½ºÅ© ¿ë·®ÀÌ ÃæºÐÇÑÁö üũÇÑ´Ù.
      °¡²û ÈñÇÑÇÑ ¿¡·¯°¡ ³ª´Â °æ¿ì°¡ ³ª´Â °æ¿ì¸¦ ÀÚÁÖ º¼ °æ¿ì°¡ Àִµ¥ ÀÌ·² °æ¿ì¿¡ 'df'À» Ãĺ¸´Ï ³²Àº µð½ºÅ© ¿ë·®ÀÌ 0 À̾ú´Ù. ¿©À¯ÀÖ°Ô 50¸Þ°¡ Á¤µµÀÇ ¿©À¯ºÐÀ» Àâ¾Æ³õ°í ½ÃÀÛÇغ¸ÀÚ. ¿äÁò¿¡´Â µð½ºÅ© °¡°ÝÀÌ Á¤¸» ½Î´Ù.

      3) ÀÏ´Ü postgresql-v6.1.1.tar.gzÀ» postgres Ȩ µð·ºÅ丮¿¡ °¡Á®´Ù ³õÀÚ

      4) Linux¸¦ ºñ·ÔÇÑ ¸î¸î ½Ã½ºÅÛ¿¡¼­´Â flex¸¦ »ç¿ëÇÑ´Ù.
      ½Ã½ºÅÛ¿¡ ÀÖ´Â flex°¡ ¹®Á¦°¡ ¾ø´Â ¹öÀüÀÎÁö Á¡°ËÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ Ä£´Ù.

        flex - version

      flex°¡ ¾ø´Ù¸é ¾Æ¸¶µµ ±×°ÍÀÌ ÇÊ¿ä¾øÀ» °ÍÀÌ´Ù. 2.5.2³ª 2.5.4. ÀÌ»óÀ̸é O.K. 2.5.3. À̳ª 2.5.2. ÀÌÀüÀÇ ¹öÀüÀ̸é flex¸¦ ¾÷±×·¹À̵å ÇØ¾ß ÇÑ´Ù.

      ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

      5) ÀÌÁ¦ postgres Ȩ µð·ºÅ丮(/home/postgres)¿¡ ÀÖ´Â PostgresSQL¹èÆ÷º»ÀÇ ¾ÐÃàÀ» Ç®¾îº¸ÀÚ.

        cd
        tar xvzf postgresql-v6.1.1.tar.gz

      Ȥ½Ã GUN tar°¡ ¾Æ´Ï¸é, gzip °ú tar ¸í·ÉÀ» µÎ¹øÀ¸·Î ³ª´©¾î »ç¿ëÇØ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÌ´Ù.

      6) ÇѱÛÀ» »ç¿ëÇÏ·Á¸é
      À§¿¡¼­ ¹Þ¾ÆµÐ ÆÐÄ¡·Î ¼Ò½ºÆ®¸®¸¦ ÆÐÄ¡ÇØ¾ß ÇÑ´Ù. Å×ÀÌºí ¸íÀ̳ª Ä÷³¸í¿¡ ÇѱÛÀ» »ç¿ëÇÏÁö ¾Ê¾Æµµ µÈ´Ù¸é 6´Ü°è´Â ¶Ù¾î³Ñ¾îµµ µÈ´Ù. ¹°·Ð µ¥ÀÌÅÍÀÇ ³»¿ëÀ» Çѱ۷Π»ç¿ëÇÏ´Â °ÍÀº ÀÌ ÆÐÄ¡¸¦ ÇÏÁö ¾Ê¾Æµµ ÀüÇô ÁöÀå ¾ø´Ù.

        gzip -dc jp.patch.gz | patch -p0

      src/ µð·ºÅ丮¿¡ Makefile.customÆÄÀÏÀ» ¸¸µé¾î¼­ JP=1 À̶ó°í  ÇÑ ÁÙ Àû¾îÁØ´Ù.

      7) /usr/local/pgsql µð·ºÅ丮¸¦ postgres ¼ÒÀ¯·Î ¸¸µé¾îµÐ´Ù.

        su -l

        Password : ***********

        mkdir/usr/local/pgsql

        chown postgres.postgres /usr/local/pgsql

      8) ¾ÕÀ¸·Î´Â °è¼Ó postgres »ç¿ëÀÚ °èÁ¤À¸·Î ·Î±äÇÏ¿© ÀÛ¾÷ÇØ¾ß ÇÑ´Ù!
      Ȥ½Ã ¹«ÀǽÄÀûÀ¸·Î root·Î ÄÄÆÄÀÏ ÀÛ¾÷À» ÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. ÀÚ½ÅÀÇ ½Ã½ºÅÛÀÌ ³Ê¹«³ªµµ ´À¸° 386 ½Ã½ºÅÛÀ̰ųª, ´Ù½Ã ÄÄÆÄÀÏ ÇϱⰡ Á¤¸» ½ÈÀº »ç¶÷ÀÌ root ·Î ÄÄÆÄÀÏÇÏ´Â ½Ç¼ö¸¦ ¹üÇß´Ù¸é, ´ÙÀ½ ¸í·ÉÀ¸·Î ¾Æ¹« ¹®Á¦¾øÀÌ »ç¿ëÇÒ ¼ö´Â ÀÖ´Ù.

        chown -R postgres.postgres POSTGRES_ INSTALL_DIRECTORY

      src µð·ºÅ丮·Î µé¾î°¡¼­ ./configure¸¦ ½ÇÇàÇÏ¿© ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸Â´Â »ç¾çÀ» °í¸£¸é µÈ´Ù. Linux »ç¿ëÀÚ¶ó¸é ¿£Å͸¸ µÎ¼¼ ¹ø µÎµé±â¸é ¾Ë¾Æ¼­ Àâ¾ÆÁØ´Ù.

        cd

        cd postgresql-v6.1.1/src

        /configure

      ¿©±â¿¡¼­ Àá½Ã readline ¶óÀ̺귯¸®¿¡ ´ëÇؼ­ ¤°í ³Ñ¾î°¡ÀÚ. readlineÀº bash.psql °ú °°Àº ¸í·ÉÇà ±â¹Ý ÇÁ·Î±×·¥¿¡¼­ È÷½ºÅ丮 ±â´É°ú ÆíÁý±â´ÉÀ» Á¦°øÇØÁÖ´Â ¾ÆÁÖ Æí¸®ÇÑ ¶óÀ̺귯ÀÌÀÌ´Ù.  readline ¶óÀ̺귯¸®´Â Ȩµð·ºÅ丮ÀÇ .inputrc¿¡¼­ ¼³Á¤À» Àоî¿À±â ¶§¹®¿¡ 2¹ÙÀÌÆ® ¹®ÀÚ¸¦ ó¸®ÇÏ·Á¸é ~/.inputrc ¿¡ ´ÙÀ½ÀÇ ÇÑ ÁÙÀ» Àû¾îÁÖ¸é ÇѱÛÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

        set eightbit

      readline ¶óÀ̺귯¸®´Â ÁÖÀ§¿¡¼­ ½±°Ô ±¸ÇÏ¿© ¼³Ä¡ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

      9) ÄÄÆÄÀÏÇÑ´Ù.

        make

      "All of PostgreSQL is successfully made. Ready to install"À̶ó´Â ¸Þ½ÃÁö°¡ º¸ÀÎ´Ù¸é ¼º°øÇÑ °ÍÀÌ´Ù .

        make install

      º¸Åë º° ¹«¸®¾øÀÌ Àß ¼³Ä¡µÉ °ÍÀÌ´Ù. ¼³Ä¡µÇÁö ¾Ê´Â ´ëºÎºÐÀÇ °æ¿ì´Â /usr/local/pgsql µð·ºÅ丮¸¦ ¸¸µé¾î µÎ´Â °ÍÀ» ±ôºý Ç߰ųª, postgres ÀÇ ¼ÒÀ¯·Î µÇ¾î ÀÖÁö ¾Ê¾Æ¼­ ±×·² °ÍÀÌ´Ù.

      10) ½Ã½ºÅÛÀÌ °øÀ¯ ¶óÀ̺귯¸®¸¦ Àß Ã£À» ¼ö ÀÖµµ·Ï root·Î ·Î±äÇÏ¿© /etc/ld.so.conf ÆÄÀÏ¿¡ ´ÙÀ½ÀÇ ÇÑ ÁÙÀ» Ãß°¡ÇÑ´Ù.

        /usr/local/pgsql/lib

      ±×¸®°í /sbin/ldconfig¸¦ ½ÇÇàÇÑ´Ù.
      Ȥ½Ã Linux ½Ã½ºÅÛÀÌ ¾Æ´Ñ ´Ù¸¥ UNIX ½Ã½ºÅÛÀ̶ó¸é ´ÙÀ½°ú °°ÀÌ ÇØ¾ß ÇÒ Çʿ伺ÀÌ ÀÖÀ»Áöµµ ¸ð¸£°Ú´Ù.

      bash ÀÇ °æ¿ì : export LD_LIBRARY_PATH=/usr/local/pgsql/lib

      csh ÀÇ °æ¿ì : setenv LD_LiBRARY_PATH /usr/local/pgsql/lib

      µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÒ ¶§ "pg_id:can't load library 'libpq.so'" ¶ó´Â ¸Þ½ÃÁö¸¦ ¹Þ´Â´Ù¸é À§ÀÇ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù.

      11) postgre·Î ·Î±äÇÏ¿© postgreSQLÀ» À§ÇÑ È¯°æº¯¼ö ¼³Á¤À» ÇÑ´Ù. ÀÌÈÄÀÇ ¸ðµç ÀÛ¾÷Àº postgres»ç¿ëÀÚ·Î ·Î±äÇÏ¿© ¼öÇàÇÏ¿©¾ß ÇÑ´Ù. PostgreSQL¸¦ »ç¿ëÇÏ·Á¸é ¹Ýµå½Ã ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÏ¿©¾ß ÇÑ´Ù. °¡²û ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÏÁö ¾Ê°í PostgreSQL°¡ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù°í À̾߱âÇÏ´Â ºÐµéÀÌ ¸¹´Ù.

      bash »ç¿ëÀÚ¶ó¸é, ´ÙÀ½ÀÇ ³»¿ëÀ» ~/.bash_profile¿¡ Àû¾î³Ö´Â´Ù.

        PATH-$PATH:/usr/local/pgslq/bin

        MANPATH=/usr/local/pgsql/man

        PGLIB=/usr/local/pgsql/lib

        PGDATA=/usr/local/pgsql/data

        export PATH MANPATH PGLIB PGDATA

      csh »ç¿ëÀÚ¶ó¸é setenv¸¦  »ç¿ëÇÏ¿© ¶È°°ÀÌ È¯°æº¯¼ö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
      ´Ù½Ã ·Î±äÇϰųª source ¸í·ÉÀ» ¼öÇàÇÏ¿© ȯ°æº¯¼ö¸¦ Àû¿ë½ÃŲ´Ù.

        source~/.bash_profile

      12) µ¥ÀÌÅÍ º£À̽º¸¦ ÃʱâÈ­ÇÑ´Ù.

        initdb

      13) µ¥ÀÌÅÍ º£À̽º¿¡ Á¢±ÙÇÒ Æ۹̼ÇÀ» ¼³Á¤ÇÑ´Ù.
      ÀÌ ÀÛ¾÷Àº /usr/local/pgsql/data/pg_hba.conf¸¦ ÆíÁýÇÔÀ¸·Î½á ÇÒ ¼ö ÀÖ´Ù. ÀÌ ÆÄÀÏÀ» ÆíÁýÇÏ°í ³­ µÚ¿¡´Â ¹Ýµå½Ã read only ¸ðµå·Î ¸¸µé¾î µÎÀÚ.

      14) postmaster µ¥¸óÀ» ¼öÇàÇÑ´Ù.

        postmaster > server.log 2> & 1 &

      15) postgers¸¦ ºÎÆýÿ¡ ÀÚµ¿À¸·Î ¶ç¿ì°Ô  ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇϸéµÈ´Ù.
      Linux¸¦ Æ÷ÇÔÇÑ °ÅÀÇ ¸ðµç UNIX ½Ã½ºÅÛ¿¡¼­ /etc.rc.d µð·ºÅ丮¹Ø¿¡ ºÎÆýÿ¡ ¼öÇàµÇ´Â ¿©·¯ ½ºÅ©¸³Æ®µéÀÌ ÀÖ´Ù.
      ±×Áß¿¡¼­ rc.local Á¤µµÀÇ ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ Àû¾îÁÖ¸é µÈ´Ù.

        su postgres -c "/usr/local/pgsql/bin/postmaster -S -D /usr/local/pgsql/data "

      RedHat ¸®´ª½º °°Àº °æ¿ì¿¡´Â rc.d ±¸Á¶°¡ Á¶±Ý ´Ù¸£±ä ÇÏÁö¸¸ rc.local ÆÄÀÏ¿¡ ±×³É Àû¾îÁÖ´Â °ÍÀÌ ÆíÇÏ´Ù.

      16) ÀÌ¿Õ ¸»ÀÌ ³ª¿Â ±è¿¡ postmaster¸¦ Á»´õ È¿À²ÀûÀ¸·Î ¶ç¿ì´Â ¿É¼ÇÀ» Àá±ñ »ìÆ캸ÀÚ.
      postmster´Â ¸î °¡Áö ÀÛ¾÷À» À§ÇØ °øÀ¯ ¸Þ¸ð¸®¸¦ »ç¿ëÇÑ´Ù. ±âº» ¼³Á¤Àº 64¹öÆÛ·Î µÇ¾î ÀÖÀ¸¸ç ÇϳªÀÇ ¹öÆÛ´ç 8K¸¦ Â÷ÁöÇÑ´Ù. ÇÊÀÚ´Â ´ë·« 4¸Þ°¡ÀÇ ¸Þ¸ð¸®ÀÎ 512¹öÆÛ¸¦ postmaster¿¡ ºÎ¿©ÇÏ¿© »ç¿ëÇÏ°í ÀÖ´Ù. ³Ê¹« ÀûÀ¸¸é ¼º´ÉÀÌ Á¶±Ý ¶³¾îÁö°í, ³Ê¹« ¸¹À¸¸é ¿ÀÈ÷·Á ÀÌ»ó¡ÈÄ°¡ »ý±æ ¼ö ÀÖÀ¸´Ï ÀÚ½ÅÀÇ ½Ã½ºÅÛ »ç¾ç¿¡ ¸Â°Ô Àû´çÇÏ°Ô Àâ¾ÆµÎÀÚ.
      ±×¸®°í  postmasterÀÇ backend´Â ±âº»ÀûÀ¸·Î µð½ºÅ© Äɽ³À» ÇÏÁö ¾Ê°í, º¯È­°¡ »ý±æ ¶§ ¸¶´Ù °ð¹Ù·Î µð½ºÅ©¿¡ ±â·ÏÇϹǷΠ¼Óµµ°¡ Á» ´À·ÁÁø´Ù. µð½ºÅ©Ä³½³À»  È°¼ºÈ­ÇÏ·Á¸é backend ¿É¼Ç('-o') ¿¡ -F¸¦ ¼³Á¤ÇÏ¸é µÈ´Ù.

      ÇÊÀÚ´Â ´ÙÀ½°ú °°Àº postmaster Ãʱ⠺ÎÆà ¿É¼Ç °ªÀ» »ç¿ëÇÏ°í ÀÖ´Ù.

        su -l postgres -c "/usr/local/bin/postmaster -S -B 512 -o -F -D /usr/local/pgsql/data "

      17) ±× ¿ÜÀÇ ¿©·¯ ½Ã½ºÅÛ¿¡¼­ ÇÊ¿äÇÑ »çÇ×À» Àá±ñ »ìÆ캸ÀÚ.

        Ultrix4.x : Ultrix4.x ¿¡ µ¿Àû ·Î´õ°¡ ¾ø´Ù¸é libdl-1.1 ÆÐÅ°Áö¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ÀÌ°ÍÀº ´ÙÀ½¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

        Linux : Linux-elf ´Â Àß ¼³Ä¡µÈ´Ù. i486ÀÌ»óÀÇ ÇÁ·Î¼¼½º¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é, template/LInux-elf¿¡ "-m486"À» ÄÄÆÄÀÏ ¿É¼Ç¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
        ELF°¡ ¾Æ´Ñ ¸®´ª½º¿¡¼­´Â .old ¶óÀ̺귯¸®¸¦ ¹Ýµå½Ã ¾ò¾î¼­ ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ÀÌ ¶óÀ̺귯¸®´Â postgresÆ÷Æ®¿¡¼­ µ¿ÀûÀ¸·Î ¸µÅ© ·ÎµùÀ» ÇÒ ¼ö ÀÖ´Â ´É·ÂÀ» ºÎ¿©ÇÑ´Ù. dld ¶óÀ̺귯¸®´Â ¼±»çÀÌÆ®ÀÇ ¸®´ª½º ¹èÆ÷º»¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù. ÇöÀçÀÇ À̸§Àº dld-3.2.5 ÀÌ´Ù.

        BSD/OS : BSD/OS 2.0 ¿Í 2.01¿¡¼­´Â GNU dld ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù.

        NeXT : NeXT Æ÷Æ®´Â Tom R Hageman tom@basil.icce.rug.nlÀÌ Á¦°øÇÑ´Ù.
        ÀÌ ÆÇÀº °øÀ¯¶óÀ̺귯¸®¿Í ¼¼¸¶Æ÷¾î Çì´õÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù. NEXTSTEP¿¡¼­ µ¹¾Æ°¡´Â PostgreSQLÀÇ ¹ÙÀ̳ʸ® ¹èÆ÷º»µµ Tom¿¡°Ô¼­ general publicÀ¸·Î ¾òÀ» ¼ö ÀÖ´Ù.

      18) PostgreSQL¸¦ ¿î¿µÇÏ·Á¸é »ç¿ëÇÒ µ¥ÀÌÅÍ º£À̽º¿Í »ç¿ëÀÚ¸¦ µî·ÏÇØ¾ß ÇÑ´Ù.
      /usr/local/pgsql/bin ¿¡ º¸¸é ÀÌ¿Í °ü·ÃµÈ ÇÁ·Î±×·¥ÀÌ ÁغñµÇ¾î ÀÖ´Ù. test¶ó´Â µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé·Á¸é createdb¸í·ÉÀ» »ç¿ëÇÏ¸é µÈ´Ù.

        $ createdb test

      linuxer¶ó´Â »ç¿ëÀÚ¸¦ µî·ÏÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.

        $ createuser linuxer

        Enter user's postgres ID or RETURN to use unix user ID : 514 -> [Enter]

        ls user " inuxer " allowed to create to database (y/n) y

        ls user " inuxer " allowed to create to add users?(y/n) y

        createuser : linuxer was successfully added

      linuxer¶ó´Â »ç¿ëÀÚ¿¡°Ô µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÒ ±Ç¸®¸¦ Á¦°øÇßÁö¸¸, ¶Ç ´Ù¸¥ »ç¿ëÀÚ¸¦ Ãß°¡ÇÒ ±Ç¸®¸¦ ÁÖÁö ¾Ê¾Ò´Ù. Âü°íÀûÀ¸·Î À̾߱âÇÏ¸é »ç¿ëÀÚ¸¦ Ãß°¡ÇÒ ±Ç¸®¸¦ ÁÖÁö ¾ÊÀ¸¸é ÇØ´ç»ç¿ëÀÚ´Â ÀÚ½ÅÀÇ µ¥ÀÌÅͺ£À̽º¸¦ »èÁ¦ÇÒ ¼ö ¾ø°Ô µÈ´Ù.

      createdb¿Í createuser¿¡ ¹Ý´ëµÇ´Â ¸í·ÉÀº destrotdb¿Í destroyuser ¸í·ÉÀÌ´Ù. test¶ó´Â µ¥ÀÌÅÍ º£À̽º¸¦ ¸¸µé¾úÀ¸¸é ÀÌÁ¦ Àá±ñ Å×½ºÆ®ÇØ º¸ÀÚ

        $psql test

        Welcome to the POSTGRESQL interactive sql monitor :

        Please read the file COPYRIGHT for copyright terms of POSTGRESQL

        type \? for help on slash commands

        type \q to quit

        type \g or terminate with semicolon to execute query

        You are currently connected to the database : test

        test => craeat table ¿¬½À(

        test -> À̸§ test

        test -> ¹øÈ£ int4

        test -> );

        CREATE

        test =>\d ¿¬½À

       

      Table=¿¬½À
       

      Field

      Type

      Length

      À̸§

      text

      var

      ¹øÈ£

      int4

      4

       

      test => inster into ¿¬½À values ('²¨º¡ÀÌ'.1);

      INSERT 154615

      test => inster into ¿¬½À values ('¸ÛûÀÌ'.2);

      INSERT 154616

      test => select*from ¿¬½À :
       

      À̸§

      ¹øÈ£

      ²¨º¡ÀÌ

      1

      ¸ÛûÀÌ

      2

      (2 rows)

      test =>
      postmaster backend¿¡ Á¢¼ÓÇÏ·Á¸é ¹Ýµå½Ã ÇØ´ç µ¥ÀÌÅÍ º£À̽º¸¦ ¸í½ÃÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é »ç¿ëÀÚ ¾ÆÀ̵ð¿Í °°Àº µ¥ÀÌÅͺ£À̽º¸¦ ãÀ¸·Á°í ÇÒ °ÍÀÌ´Ù. µ¥ÀÌÅͺ£À̽º¸¦ »èÁ¦(drop)ÇÒ ¶§ Á¶Â÷µµ ÇØ´ç µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÇØ ÀÖ´Â »óÅ¿¡¼­´Â ºÒ°¡´ÉÇÏ°í, ÀÓ½ÃÀûÀÎ ´Ù¸¥ µ¥ÀÌÅÍ º£À̽º¿¡ Á¢¼ÓÇÑ ´ÙÀ½¿¡ ¿øÇÏ´Â µ¥ÀÌŸ º£À̽º¸¦ Á¦°ÅÇÏ¿©¾ß ÇÑ´Ù.
      PostreSQLÀÇ ½´ÆÛÀ¯ÀúÀÎ postgres¿¡°Ô´Â ÀÌ·¯ÇÑ ¿ëµµ·Î template1 À̶ó´Â º°ÀÇ¹Ì ¾ø´Â µ¥ÀÌÅÍ º£À̽º°¡ ÇϳªÀÖ´Ù.

    part 2  PostgreSQL¸¦ ¹ÙÀ̳ʸ®·Î ¼³Ä¡Çϱâ

    PostgreSQL¸¦ º»°ÝÀûÀ¸·Î È°¿ëÃø¸é¿¡¼­ »ìÆì º¸±â Àü¿¡ PostgreSQL¸¦ ¹ÙÀ̳ʸ®·Î ¼³Ä¡ÇÏ´Â ¹æ¹ýÀ» Àá½Ã »ìÆ캻´Ù. ¹ÙÀ̳ʸ®´Â ÁÖ·Î rpmÀ¸·Î ¹èÆ÷µÈ´Ù. ¹°·Ð µ¥ºñ¾È ÆäÅ°ÁöÇü½ÄÀÎ deb·Î ¹èÆ÷µÇ±ä ÇÏÁö¸¸ ¿©±â¼­´Â PostgreSQL ÀÇ rpm ¹èÆ÷ÆÇÀ» ´Ù·ç°Ú´Ù. ÇÊÀÚ´Â ÁÖ·Î ½½·º¿þ¾î¸¦ »ç¿ëÇÏ´Â µ¥ ½½·º¿þ¾î¿¡ rpm ÆÐÅ°Áö¸¦ ¼³Ä¡ °ü¸®ÇÒ¼ö ÀÖµµ·Ï ÇØÁÖ´Â rpm ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ°í  PostgreSQL 6.1 rpm ÆÇÀ» ¼³Ä¡ÇÏ·Á´Ù Àß µÇÁö ¾Ê¾Ò´Ù. »ç¿ëÇÏ°í ÀÖ´Â rpm ¹öÀüÀÌ ³·¾Æ¼­ ±×·±Áö ¸ð¸£°Ú´Ù.

    PostgreSQL rpm ÆÐÅ°Áö´Â ¿ª½Ã ·¹µåÇò¿¡¼­ ¼³Ä¡°¡ ÀߵȴÙ. ±¹³» BBS ¸®´ª½º µ¿È£È¸³ª ·¹µåÇÞ¿¡¼­ PostgreSQL rpm ÆÐÅ°Áö¸¦ ½±°Ô ±¸ÇÒ ¼ö ÀÖ´Ù.

    root·Î ·Î±äÇÏ¿© ÀÏ»óÀûÀÎ rpm ¸í·ÉÀ¸·Î ¼³Ä¡ÇÏ¸é µÈ´Ù.

      $rpm -ivh pgsql61.rpm

    ÆÐÅ°ÁöÀÇ À̸§Àº ´Ù¸¦ ¼ö ÀÖ´Ù. ÇÊÀÚ°¡ ¼³Ä¡Çغ» PostgreSQL rpm ÆÇÀº °ü·ÃÆÄÀÏÀ» ¿©·¯°÷À¸·Î ºÐ»ê½ÃÅ°´Â °æÇâÀÌ ÀÖ¾ú´Ù. ¹ÙÀ̳ʸ®´Â /user/bin ¿¡, µ¥ÀÌÅÍÆÄÀÏ°ú ¸®¼Ò½º ÆÄÀÏÀº /var/lib/postgresql¿¡ µé¾î°£´Ù. ÀÌ¹Ì µ¥ÀÌÅͺ£À̽º ÃʱâÈ­°¡ µÇ¾î ÀÖÀ¸¹Ç·Î initdb·Î ÇÒ ÇÊ¿ä¾ø´Ù.

    PostgreSQL rpm ÆÐÅ°Áö¿¡´Â ¸î °¡Áö ¹®Á¦°¡ ÀÖ´Ù. postmaster¸¦ ½ÇÇà½ÃÅ°·Á¸é ÆÛ¹Ì¼Ç ¿¡·¯°¡ ¶³¾îÁö´Âµ¥ ÀÌ´Â ´ÙÀ½À» ¼öÇàÇÏ¿© ÇØ°áÇÒ ¼ö ÀÖ´Ù.
    ¹°·Ð root·Î ¼öÇàÇØ¾ß ÇÑ´Ù.

      $chown -R postgres /var/lib/postgresql

    ¶Ç ÇϳªÀÇ ¿¹»óÄ¡ ¸øÇÑ ¹®Á¦Á¡Àº PostgreSQLÀÇ ½´ÆÛÀ¯Àú ±ÇÇÑÀÌ postgres ¿¡°Ô ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó deamon¿¡°Ô ÀÖ´Ù´Â °ÍÀÌ´Ù. PostgreSQL¸¦  rpmÀ¸·Î ¼³Ä¡ÇÏ°í µ¥ÀÌÅÍ º£À̽º¿Í »ç¿ëÀÚ¸¦ ¾Æ¹«¸® Ãß°¡ÇÏ·Á°í Çصµ µÇÁö ¾Ê¾Æ¼­ data µð·ºÅ丮ÀÇ pg_user µ¥ÀÌÅ͸¦ ¹Ù¸®³Ê¸® ¿¡µðÅÍ·Î »ìÆ캸´Ï Ȳ´çÇÏ°Ôµµ deamonÀ¸·Î ¼³Á¤µÇ¾î ÀÖ´Â °ÍÀÌ ¾Æ´Ñ°¡? ÆÐŰ¡ÇÑ »ç¶÷ÀÌ ¾î¶² ÀÌÀ¯·Î ÀÌ·¸°Ô ÇÑ °ÍÀÎÁö ¾Ë ¼ö´Â ¾øÁö¸¸ ¿ì¸®´Â ÀÌ·± »óȲÀ» ¹Ù·Î Àâ¾Æº¸ÀÚ ¸ÕÀú root »óÅ¿¡¼­ deamonÀ¸·Î ·Î±äÇØ¾ß ÇÑ´Ù. deamonÀº ÀϹÝÀûÀÎ °èÁ¤ÀÌ ¾Æ´Ï¶ó ½Ã½ºÅÛÀÇ È¿À²ÀûÀÎ ¿î¿µÀ» À§ÇØ »ý¼ºµÇ´Â °èÁ¤ÀÌ´Ù.

      $ su -I deamon

      $ createuser postgres

    postgres¿¡°Ô µ¥ÀÌÅÍ º£À̽º¿Í »ç¿ëÀÚ Ãß°¡±ÇÇÑÀ» ºÎ¿©ÇÑ´Ù. ÀÌÁ¦ postgres °èÁ¤À¸·Î ·Î±äÇÏ¿© ¾Õ¼­¿Í ¸¶Âù°¡Áö·Î µ¥ÀÌÅÍ º£À̽º¿Í »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ¸é µÈ´Ù. ÇÏÁö¸¸ ÀÌ·¸°Ô ÇÑ´Ù°í Çؼ­ ¸ðµç ¹®Á¦°¡ ÇØ°áµÇ´Â °ÍÀº ¾Æ´Ï´Ù. ±×³É °£´ÜÇÏ°Ô ¹è¿ì±â¿¡´Â º°¹®Á¦°¡ ¾ø°ÚÁö¸¸ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀ» ±¸ÃàÇÑ´Ù´Â Ãø¸é¿¡¼­ º¸¸é ²À ¼Ò½ºÆÄÀÏ·Î ¼³Ä¡ÇÏ´øÁö, Á¦´ë·Î µÈ ¹ÙÀ̳ʸ® ÆÐÅ°Áö¸¦ ±¸Çؼ­ ¼³Ä¡Çϱ⠹ٶõ´Ù.

 

5. PostgreSQL ±âÃÊ »ç¿ë¹ý

    PostgreSQL ÀÇ Æ¯Â¡ÀÎ ºÎºÐµéÀ» È°¿ëÇϱâ ÀÌÀü¿¡ ¸ÕÀú PostgreSQL¿¡¼­ Áö¿øÇÏ´Â SQL ÀÇ ±âº» »ç¿ë¹ýÀ» Àá±ñ »ìÆ캸ÀÚ. PostgreSQLÀº ¾ÆÁ÷Àº ANSI SQLÀ» ¿Ïº®ÇÏ°Ô Áö¿øÇÏÁö ¾Ê´Â´Ù. ´Ù¸¥ ÀÚÀ¯·Ó°Ô ±¸ÇÒ ¼ö ÀÖ´Â RDBMS¿¡ ºñÇغ¼ ¶§ Ç¥ÁØ ºÎºÐ¿¡¼­´Â Á¶±Ý ¶³¾îÁö´Â°Ô »ç½ÇÀÌ´Ù. ÇÏÁö¸¸, ÀϹÝÀûÀÎ »ç¿ë¿¡´Â ÀüÇô ÁöÀåÀÌ ¾øÀ¸¸ç, ´Ù¸¥ RDBMS¿¡¼­´Â Áö¿øÇÏÁö ¾Ê´Â ´Ù¾çÇÑ ºñÇ¥Áرâ´ÉµéÀ» ¸¹ÀÌ Áö¿øÇÑ´Ù.

    °ü°èÇü µ¥ÀÌÅÍ º£À̽º¿¡¼­´Â º¸Åë ·¹ÄÚµå(recoard)¿Í Çʵå(field)¶ó´Â ¿ë¾î´ë½Å¿¡ Å×À̺í(Ç¥-table), ·Î¿ì(Çà-row), Ä÷³(¿­-column)À̶ó´Â ¿ë¾î¸¦ »ç¿ëÇÑ´Ù.
    ¿©±â¼­´Â ÀϹÝÀûÀ¸·Î ¸¹ÀÌ »ç¿ëµÇ´Â ¿ë¾î¸¦ ±âÁØÀ¸·Î »ç¿ëÇÒ °ÍÀÌ´Ù.
    ¸ÕÀú ´ÙÀ½ÀÇ ³»¿ëÀ» ÀÚ½ÅÀÌ Æí¸®ÇÏ°Ô »ç¿ëÇÏ°í ÀÖ´Â ¿¡µðÅÍ·Î ÆíÁýÇغ¸ÀÚ. ¸í·ÉÇà¿¡¼­ ÀÏÀÏÀÌ Ä¡´Â °ÍÀº Á¤¸» Â¥Áõ½º·¯¿î ÀÏÀÌ ¾Æ´Ò ¼ö ¾ø´Ù.

     

    create table  ³¯¾¾ (- ³¯¾¾ Å×À̺í

    µµ½Ã varchar (20)

    ÃÖÀú¿Âµµ int.

    ÃÖ°í¿Âµµ int.

    °­¼ö·® real.

    ³¯Â¥ date

    ):

     

    insert into ³¯¾¾ values ('¼­¿ï'. 10.27.0.0.'1997/10/1');

    insert into ³¯¾¾ values ('¼­¿ï'. 12.25.0.12.'1997/10/2');

    insert into ³¯¾¾ values ('ºÎ»ê'. 13.28.0.32.'1997/10/1');

    insert into ³¯¾¾ values ('±¤ÁÖ'. 15.25.0.73.'1997/9/28');

    insert into ³¯¾¾ values ('´ëÀü'. 10.27.0.0.'1997/10/4');

    insert into ³¯¾¾ values ('´ë±¸'. 15.23.0.15.'1997/10/3');

    insert into ³¯¾¾ values ('õ¾È'. 9.22.0.42.'1997/10/2');

    insert into ³¯¾¾ values ('¸¶»ê'. 13.24.0.01.'1997/10/1');

    insert into ³¯¾¾ values ('ÀüÁÖ'. 12.29.0.0.'1997/10/5');

    insert into ³¯¾¾ values ('ÀÎõ'. 14.23.0.25.'1997/11/2');

 

    ÀÌ ÆÄÀÏÀ» weather.sqlÀ¸·Î ÀúÀåÇÑ´Ù. .
    ¾ÕÀ¸·Î ¸ðµç ÀÛ¾÷Àº mydbÀ§¿¡¼­ Çϴ°ɷΠ°¡Á¤ÇÏ°Ú´Ù ´ÙÀ½°ú °°ÀÌ mydb¸¦ ¸¸µé¾îµÎÀÚ

      $ createdb mydb

    ÀÌÁ¦ µ¥ÀÌÅÍ º£À̽º¿¡ Á¢¼ÓÇÑ´Ù.

      $ psql mydb

    ¾à°£ÀÇȯ¿µ ¸Þ½ÃÁö°¡ ³ª¿Â´Ù. ¾Õ¼­ ÀúÀåÇß´ø SQL ÁúÀǾ ´ã±ä ÆÄÀÏÀ» ºÒ·¯¼­ ½ÇÇàÇÏ´Â ¸í·ÉÀº '¡¬i filename'ÀÌ´Ù.

      mydb=> ¡¬i weather.sql

    Á¤»óÀûÀ¸·Î Å×À̺íÀ» ¸¸µé°í ÇØ´ç °ªÀ» »ðÀÔÇÒ °ÍÀÌ´Ù. SQL ÁúÀǾ ´ëÇÑ °£´ÜÇÑ ¿Â¶óÀÎ µµ¿ò¸»Àº '¡¬ hcommand'Çü½ÄÀ¸·Î ¾òÀ» ¼ö ÀÖ´Ù. psql ¸ð´ÏÅ͸µÀº ÇÁ·Î±×·¥¿¡¼­ Á¦°øÇÏ´Â ¸î °¡Áö ¸í·É¾î´Â '¡¬?'¸¦ »ç¿ëÇÏ¸é ¾Ë ¼ö ÀÖ´Ù. ±â¾ïÀÌ Àß ¾È³¯ ¶§ ÀÚÁÖ »ç¿ëÇϱ⠹ٶõ´Ù.

     

    mydb => ¡¬?

    ¡¬?- help

    ¡¬a - toggle field-alignment (currenty on)

    ¡¬C [<captn>]-set html3 caption (currently")

    ¡¬connect <dbname|-> <user> - connect to new database (currently 'ddoch')

    ¡¬copy table {from | to} <fname>

    ¡¬d [<table>] - list tables and indicies in database or columns in <table>, * for all

    ¡¬di- list only indicied in database

    ¡¬ds - list only sequences in database

    ¡¬dt - list only tables in database

    ¡¬e [<fname>]- edit the current query buffer or <fname>, \E execute too

    ¡¬f [<sep>]- change field separater (currently '|')

    ¡¬g [<fname>][<cmd>] - send query to backend [end results in fname> or pipe]

    ¡¬h [<cmd>] - help on syntax of sql commands. *for all commands

    ¡¬H - toggle html3 output (currently off)

    ¡¬i <fname> - read and execute queries from filename

    ¡¬I - list all databases

    ¡¬m - toggle monitor-like table display (currently off)

    ¡¬o [<fname>] [<cmd>]-send all query result to stdout, <fname>, or pipe

    ¡¬p - print the current query buffer

    ¡¬q - quit

    ¡¬r - reset(clear) the query buffer

    ¡¬s [<fname>] - print history or save it in <fname>

    ¡¬t - toggle table headings and row count (currently on)

    ¡¬T [<html>]-set html3.0 <table...> options (currently")

    ¡¬x - toggle expanded output (currently off)

    ¡¬z - list current grant/revoke permissions

    ¡¬! [<cmd>] - shell escape or command

    mydb =>

     

    mydb =>¡¬h

    type ¡¬h <cmd> where <cmd> is one of the following:

    abort                        abort                           alter table

    begin                        begin transaction         begin work

    cluster                      close                           commit

    commit work             copy                            create

    create aggregate       create database            create function

    create index              create operator               create rule

    create sequence        create table                  create type

    create view               declare                         delete

    drop                         drop aggregate              drop database

    drop function             drop index                     drop operator

    drop rule                   drop table                      drop sequence

    drop type                  drop view                       end

    end transaction          explain                          fetch

    grant                         insert                            listen

    load                          notify                            purge

    reset                         revoke                          rollback

    select                        set                               show

    update                      vacuum

    type ¡¬h " for a complete description of all commands

    mydb =>

 

    1) select

    '³¯¾¾' Å×ÀÌºí¿¡ ÀÔ·ÂÇÑ ¸ðµç µ¥ÀÌÅ͸¦ °Ë»öÇغ¸ÀÚ

      mydb => select * from ³¯¾¾ ;
       

    µµ½Ã

    ÃÖÀú¿Âµµ

    ÃÖ°í¿Âµµ

    °­¼ö·®

    ³¯Â¥

    õ¾È

    9

    22

    0.42

    10-02-1997

    ´ëÀü

    10

    26

    0.1

    10-04-1997

    ¼­¿ï

    10

    27

    0

    10-01-1997

    ¼­¿ï

    12

    25

    0.12

    10-02-1997

    ÀüÁÖ

    12

    29

    0.

    10-05-1997

    ¸¶»ê

    13

    24

    0.01

    10-01-1997

    ºÎ»ê

    13

    28

    0.32

    10-01-1997

    ÀÎõ

    14

    23

    0.25

    11-02-1997

    ±¤ÁÖ

    15

    25

    0.73

    09-28-1997

     

    À̹ø¿¡´Â ÃÖÀú ¿Âµµ°¡ °¡Àå ³·Àº ¼ø¼­´ë·Î °Ë»öÇغ¸ÀÚ

      mydb => select *from ³¯¾¾ order by ÃÖÀú¿Âµµ asc;

    asc´Â ¿À¸§Â÷¼øÀ¸·Î Á¤¸®ÇÏ´Â °ÍÀÌ´Ù. ³»¸²Â÷¼øÀ¸·Î Á¤¸®ÇÏ·Á¸é desc¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ¿©±â¿¡¼­ Á¤·ÄÀº order by¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ¿©±â¿¡¼­ Á¤·ÄÀº order by¸¦ »ç¿ëÇÏ¿© ÃÖÀú¿Âµµ¿¡ Àû¿ëÇÏ¿´´Ù.

    À̹ø¿¡´Â °­¼ö·®ÀÌ 0.1¿¡¼­ 0.3»çÀÌÀÎ ÇàÀÇ µµ½Ã¿Í °­¼ö·®À» ±¸Çغ¸ÀÚ.

      mydb => select µµ½Ã, °­¼ö·® from ³¯¾¾ where °­¼ö·® > 0.1 and °­¼ö·® < 0.3 ;
       

    µµ½Ã

    °­¼ö·®

    ¼­¿ï

    0.12

    ´ë±¸

    0.15

    ÀÎõ

    0.25

 

    ´ÙÀ½À» 10¿ù´ÞÀÇ ±â·Ï Áß¿¡ ÃÖÀú¿Âµµ ÃÖ°í¿ÂµµÀÇ Â÷ÀÌ°¡ 10µµ ¹Ì¸¸ÀÎ ÇàÀ» ã¾Æ¼­ µµ½Ã¿Í ³¯Â¥¿Í µµ½Ã¿Í ³¯Â¥¿¡ ´ëÇÑ Á¤º¸¸¦ ³¯Â¥¿Í ´ëÇÑ Á¤º¸¸¦ ³¯¾¾2 ¶ó´Â Å×ÀÌºí¿¡ ÀúÀåÇØ º¸ÀÚ

      mydb = > select µµ½Ã,³¯Â¥ into table ³¯¾¾2 from ³¯¾¾

      mydb = > where ³¯Â¥  > = '1997/10/1'

      mydb = >and ³¯Â¥  <= '1997/10/3'

      mydb = >and (ÃÖ°í¿Âµµ- ÃÖÀú¿Âµµ) < 10;

      SELECT

      mydb = > select *from ³¯¾¾2;

     

    µµ½Ã

    ³¯Â¥

    ´ë±¸

    10-03-1997

     

    2) update

    10¿ù 1ÀÏ ³¯ÀÇ ÃÖÀú¿Âµµ¸¦ 2µµ ´õÇÏ°í ÃÖ°í¿Âµµ¸¦ 2µµ »©º¸ÀÚ

      mydb => update ³¯¾¾ set ÃÖÀú¿Âµµ=ÃÖÀú¿Âµµ+2, ÃÖ°í¿Âµµ=ÃÖ°í¿Âµµ-2

      mydb => where ³¯Â¥ = '1997/10/1';

      UPDATE

    3) delete

    delete ¸í·ÉÀº ³»ºÎ µ¥ÀÌÅ͸¦ »èÁ¦ÇÑ´Ù Å×À̺í Àüü¸¦ »èÁ¦ÇÏ·Á¸é drop¸¦ ½á¾ß ÇÑ´Ù.

      mydb => delete from ³¯¾¾2

      DELETE

      mydb => select * from ³¯¾¾2 ;
       

    µµ½Ã

    ³¯Â¥


      mydb => drop table ³¯¾¾2;

      DROP

      mydb => select*from ³¯¾¾2;

      WARN: ³¯¾¾2: Table does not exist.

    4) alter

    '¹è±â °¡½º À¯Ãâ·®' À̶ó´Â Ä®·³À» Çϳª »ðÀÔÇغ¸ÀÚ.

      mydb => alter table ³¯¾¾ add column ¹è±â°¡½ºÀ¯Ãâ·® int;

      ADD

      mydb =>¡¬d ³¯¾¾

       

      Table = ³¯¾¾

       

    Field

    Type

    Length

    µµ½Ã

    varchar

    20

    ÃÖÀú¿Âµµ

    int4

    4

    ÃÖ°í¿Âµµ

    int4

    4

    °­¼ö·®

    float8

    8

    ³¯Â¥

    data

    4

    ¹è±â°¡½ºÀ¯Ãâ·®

    int4

    4


      mydb =>

    ÇöÀç PostgresSQL 6.1.1 ±îÁöÀÇ ¹öÀü¿¡´Â ƯÁ¤ Ä÷³À» Á¦°ÅÇÏ´Â ¸í·ÉÀº ¾ø´Ù. 6.2 À̻󿡼­ Ä÷³À» Á¦°ÅÇÏ·Á¸é, Á¦°ÅÇÏ°íÀÚ ÇÏ´Â Ä÷³À» Á¦¿ÜÇÑ ³ª¸ÓÁö Ä÷³À» ¸ðµÎ select ÇÏ¿© ´Ù¸¥ µ¥À̺í·Î ÀúÀåÇÑ ´ÙÀ½, ÀÌÀü Å×À̺íÀ» »èÁ¦ÇÏ°í, »õ·Î ¸¸µç Å×À̺íÀ» ÀÌÀü Å×À̺íÀÇ ¸íĪÀ¸·Î º¯°æÇÏ¸é µÈ´Ù.

    5) ÀüüÇÔ¼ö

    PostgreSQL´Â count, sum, average, max min °ú°°Àº ÀüüÇÔ¼ö¸¦ Áö¿øÇÑ´Ù.

      mydb => select max(°­¼ö·®) from ³¯¾¾ ;

      max

      -----

      0.73

    6)  psqlÀÇ ¸ð´ÏÅ͸µ ¸í·É¾î

    psqlÀº libpq¿¡ ±â¹ÝÇÑ SQL ¸ð´ÏÅ͸µ ÇÁ·Î±×·¥ÀÌ´Ù. ¿©·¯ °¡Áö ´Ù¾çÇÑ ±â´ÉÀ» Á¦°øÇϱ⠶§¹®¿¡ È°¿ëÀ» Çغ¼ ¸¸ÇÏ´Ù. .
    psql ÀÇ ³»ºÎ ¸ð´ÏÅ͸µ ¸í·É¾î Áß¿¡¼­ ÀÚÁÖ »ç¿ëÇÏ´Â °Í¸¸ ¼³¸íÇÏ°Ú´Ù. ³ª¸ÓÁö´Â ÇÊ¿ä¿¡ µû¶ó¼­ ¡¬?¸¦ ÀÔ·ÂÇÏ¿© »ìÆ캸±â ¹Ù¶õ´Ù.

    ¡¬? : µµ¿ò¸»

    ¡¬a : Çʵå Á¤·ÄÀÚ Åä±Û

    ¡¬C : html3 ĸ¼Ç ¼³Á¤

    ¡¬c : µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼Ó

    ¡¬d : ÇöÀç µ¥ÀÌÅÍ º£À̽ºÀÇ Àüü Å×ÀÌºí ¶Ç´Â Æ¯Á¤ Å×À̺í Ãâ·Â

    ¡¬di :µ¥ÀÌÅÍ º£À̽º ³»ºÎÀÇ À妽º¸¸ Ãâ·Â

    ¡¬ds :µ¥ÀÌÅÍ º£À̽º ³»ºÎÀÇ ½ÃÄö½º¸¸ Ãâ·Â

    ¡¬dt :µ¥ÀÌÅÍ º£À̽º³»ºÎÀÇ Å×ÀÌºí¸¸ Ãâ·Â

    ¡¬e : ÇöÀç¹öÆÛ¿¡ ÀÖ´Â ÁúÀǾ ÆÄÀÏÀ» ÆíÁý

    ¡¬f : ÇÊµå ±¸ºÐÀÚ º¯°æ (º¸ÅëÀº '|')

    ¡¬h : SQL ¸í·É¾î¿¡ ´ëÇÑ ¹®¹ýÀû µµ¿ò¹ßÃâ·Â

    ¡¬H : ÁúÀÇÀÇ °á°ú¸¦ html3 À¸·Î Ãâ·ÂÇÒÁöÀÇ ¿©ºÎ °áÁ¤

    ¡¬i : ¿ÜºÎ ÆÄÀÏ¿¡¼­ ÁúÀǸ¦ Àо ½ÇÇàÇÔ

    ¡¬l : ½Ã½ºÅÛÀÇ ¸ðµç µ¥ÀÌÅÍ º£À̽º¸¦ Ãâ·Â

    ¡¬p : ÇöÀçÀÇ ÁúÀÇ ¹öÆÛ¸¦ Ãâ·Â

    ¡¬q : Á¾·Î

    ¡¬r : ÁúÀÇ ¹öÆÛ¸¦ û¼Ò

    ¡¬t : Çì´õÁ¤º¸¿Í ÇàÀÇ °¹¼ö¸¦ Ãâ·ÂÇÒÁöÀÇ ¿©ºÎ°áÁ¤

          ¡¬T : html3.0 <Table...> ¿É¼Ç°áÁ¤

          ¡¬z : ÇöÀçÀÇ Çã¿ë/Ãë¼Ò ±ÇÇÑ Ãâ·Â

          ¡¬! : ½© ¸í·É¾î ½ÇÇà

    ÀÌÁß¿¡¼­ ¡¬i ¿Í ¡¬d, ¡¬h Á¤µµ¸¦ °¡Àå ¸¹ÀÌ »ç¿ëÇÏ°Ô µÉ °ÍÀÌ´Ù.

    7) psql ¿ÜºÎ¿É¼Ç

    psql ¸ð´ÏÅ͸µ ÇÁ·Î±×·¥Àº ¾ÆÁÖ À¯¿ëÇÑ ¿ÜºÎ¿É¼ÇÀ» ¸¹ÀÌ Á¦°øÇÑ´Ù. ÀÌ°É »ç¿ëÇÏ¸é ½©½ºÅ©¸³Æ®·Î PostgreSQL¸¦ »ç¿ëÇÑ CGI ÇÁ·Î±×·¥À» °£´ÜÇÏ°Ô Â© ¼ö ÀÖ´Ù.

      -c ÁúÀǾî : psql  ¸í·ÉÇàÀ¸·Î µé¾î°¡Áö ¾Ê°í ÁúÀǾ Àü´ÞÇÏ¿© ÀÛ¾÷ÇÒ ¼ö ÀÖ´Ù.
                       °£´ÜÇÑ PostgreSQLÀÛ¾÷¿¡ À¯¿ëÇÏ´Ù.

      -d µðºñÀ̸§ : Á¢¼ÓÇÒ µ¥ÀÌÅÍ º£À̽º¸¦ ÁöÁ¤ÇÑ´Ù.

      -e : backend·Î º¸³½ ÁúÀǾ echo ÇÑ´Ù.

      -f ÆÄÀÏÀ̸§ : psql ³»ºÎ¿¡¼­ ¡¬i ¸í·ÉÀ» »ç¿µÇϵíÀÌ, ¿ÜºÎ¿¡¼­µµ SQL ÁúÀǾ ´ã±ä
                         ÆÄÀÏÀ» ÁöÁ¤ÇÏ¿© ½ÇÇàÇÒ ¼ö ÀÖ´Ù

      -H È£½ºÆ® À̸§ : postmaster °¡ ¼öÇàµÇ°í Àִ ȣ½ºÆ®¿¡ Á¢¼ÓÇÑ´Ù ±âº»°ªÀº
                              localhost ÀÌ´Ù.

      -l : »ç¿ë°¡´ÉÇÑ µ¥ÀÌÅ× º£À̽º ¸ñ·ÏÀ» Ãâ·ÂÇÑ´Ù.

      -n : psql ³»ºÎ ¸í·ÉÇà¿¡¼­ readline ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù.
            ÇѱÛÀԷ¿¡ ¹®Á¦°¡ ÀÖÀ» ¶§ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

      -p Æ÷Æ® : postmaster °¡ µ¹¾Æ°¡°í ÀÖ´Â ÀÎÅÍ³Ý tcp Æ÷Æ®¸¦ ÁöÁ¤ÇÑ´Ù.
                   ±âº»°ªÀº 5432ÀÌ´Ù.

      -q : ¿©·¯ °¡Áö ºÎ°¡ÀûÀÎ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.

      -s : ½Ì±Û ½ºÅܸðµå·Î psqlÀ» ½ÇÇàÇÑ´Ù. ÁúÀǾ ½ÇÇàÇϱâ Àü¿¡ ¿£ÅÍÅ°¸¦ Çѹø ´õ
             ÃÄ¾ß ÇÑ´Ù. Á¶½ÉÇØ¾ß ÇÒ ÀÛ¾÷¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

    ½©¿¡¼­ ¾î¶°ÇÑ ¸ñÀûÀ¸·Î psql ³»ºÎ¿¡ µé¾î°¡Áö ¾Ê°í ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù.

      $ psql mydb -e -c "select * from ³¯¾¾"

    ´ÙÀ½È£¿¡¼­´Â ½ÇÁ¦ÀûÀÎ ¾÷¹«¿¡¼­ »ç¿ëµÉ ¹ýÇÑ Á»´õ º¹ÀâÇÑ µ¥ÀÌÅÍ º£À̽º¸¦ PostgreSQL·Î ´Ù·ç¾î º¸¸é¼­ È°¿ë¹æ¾ÈÀ» »ìÆ캸°Ú´Ù.




¡ã top

homeÀ¸·Î...