PostgreSQL °­ÁÂ 1

¼³Ä¡ ¹× ±âº» »ç¿ë¹ý

Çѵ¿ÈÆ

1997³â 11¿ù ¸®´ª½º¿ùµå¿¡¼­ ¹ßÃéÇÑ ³»¿ëÀÔ´Ï´Ù.
´Ù¸¥ °÷¿¡ »ç¿ëÇÏ½Ç ¶§´Â ºÐ¸íÈ÷ ¸®´ª½º¿ùµåÀÇ ±â»çÀÓÀ» ¹àÇôÁֽʽÿÀ

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ÀÇ ºÎºÐ ÁýÇÕÀ¸·Î ´ëüÇÏ°í ÀÖ´Ù."

tgraSQLÀº ÇѸ¶µð·Î °´Ã¼ÁöÇâ ±â´ÉÀ» °¡Áö°í ÀÖ´Â °ü°èÇü µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀÌ´Ù. 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°¡ °¡Áö°í ÀÖ´Â °ÅÀÇ ¸ðµç ±â´ÉÀ» °¡Áö°í ÀÕ´Ù. ¿¹¸¦ µé¸é SQL¿¡¼­ ¼­¼úÀûÀÎ ÁúÀǾîÀÇ »ç¿ë°ú ÁúÀÇ ÃÖÀûÈ­, µ¿½Ã¼ºÁ¦¾î,Æ®·£Àè¼Çó¸®, ¸ÖƼ À¯Àú ±â´É µîÀ» Á¦°øÇÏ°í ÀÖ´Ù.

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

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

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

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

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

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

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

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

3. PostgresSQL ÀúÀÛ±Ç

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

4. PostgresSQL ÀÇ ¼³Ä¡

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

 

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.´ë¿¡¼­´Â °ÅÀÇ °°´Ù. Ȥ½Ã º£Å¸¹öÀüÀ» ¼³Ä¡ÇÏ·Á´Â ºÐÀ̳ª ¸çÄ¥ ÀÖÀ¸¸é ³ª¿Ã PostgresSQL6.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) µð½ºÅ© ¿ë·®ÀÌ ÃæºÐÇÑÁö üũÇÑ´Ù.
°¡²û Èñ¾ÈÇÑ ¿¡·¯°¡ ³ª´Â °æ¿ì°¡ ³ª´Â °æ¿ì¸¦ ÀÚÁÖ º¼ °æ¿ì°¡ Àִµ¥ ÀÌ·² °æ¿ì¿¡ 'dr'À» Ãĺ¸´Ï ³²Àº µð½ºÅ© ¿ë·®ÀÌ 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¹èÆ÷º»ÀÇ ¾ÐÃàÀ» Ç®¾îº¸ÀÚ

Ȥ½Ã 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 ÆÐÅ°Áö¸¦ ¼³Ä¡ÇؾßÇÑ´Ù. ÀÌ°ÍÀº ´ÙÀ½¿¡¼­ ±¸ÇÒ¼ö ÀÖ´Ù.

s2k-ftp.C.S.Berkeley.EDU:pub/personal/andrew/libdl-1.1.tar.Z

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        creat operator        create rule
 
createsequence      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;
 
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 ·Î ´Ù·ç¾î º¸¸é¼­ È°¿ë¹æ¾ÈÀ» »ìÆ캸°Ú´Ù.