PostgreSQL °ÁÂ 1
¼³Ä¡ ¹× ±âº» »ç¿ë¹ý
Çѵ¿ÈÆ
1997³â 11¿ù ¸®´ª½º¿ùµå¿¡¼ ¹ßÃéÇÑ
³»¿ëÀÔ´Ï´Ù.
´Ù¸¥ °÷¿¡ »ç¿ëÇÏ½Ç ¶§´Â ºÐ¸íÈ÷ ¸®´ª½º¿ùµåÀÇ ±â»çÀÓÀ» ¹àÇôÁֽʽÿÀ
¿äÁòÀº ÇÑÂü RDBMS°¡ À¯ÇàÀÌ´Ù ´«¸¸ ¶ß¸é ÀϾ µ¥ÀÌÅÍ º£À̽º ¼Ö·ç¼ÇÀÌ´Ï ¹¹´Ï ÇÏ¸é¼ RDBMS¸¦ ¸ð¸£¸é ¸¶Ä¡ ÀÌ ¼¼»óÀ» »ì¾Æ °¥¼ö ¾ø´Â °Íó·³ ¸¸µç´Ù. Àû¾îµµ ±× ´ë»óÀ» ÇÁ·Î±×·¡¸Ó·Î ±¹ÇÑÀ» ½ÃÅ°´õ¶ó°í ¸»ÀÌ´Ù.
ÇÏÁö¸¸ ¾ÆÁ÷µµ Àڱ׸¶ÇÑ Áß¼Ò±â¾÷¿¡¼´Â Ŭ¸®ÆÛ³ª DB+ °°Àº °ÍÀ» »ç¿ëÇÏ¿© ¸¸µç µ¥ÀÌÅÍ º£À̽º ÇÁ·Î±×·¥À» »ç¿ëÇϱ⵵ ÇÑ´Ù ¹«¸© ¾î¶°ÇÑ Çʿ伺ÀÌ ¾î¶°ÇÑ ¹ß¸íÀ̳ª ¹ßÀüÀ» ÀÖ°Ô ÇÏ´Â °Í °°´Ù. ¿äÁòÀº µ¥ÀÌÅÍ º£À̽º ºÐ¾ß¿¡µµ °ü°èÇü °³³äÀº ³Ñ¾î °´Ã¼ÁöÇâ °³³äÀ̳ª ºÐ»ê°³³äÀÌ µµÀԵDZ⵵ ÇÑ´Ù. °¡¸é °¥¼ö·Ï ¼¼»óÀ» ºü¸£°Ô º¯ÇÏ´Â °Í °°°í , ´õ¿í ´õ ¸¹Àº ´É·ÂÀ» ÇÁ·Î±×·¡¸Ó¿¡°Ô ¿ä±¸ÇÏ´Â °Í °°´Ù.
¿ì¸®°¡ ÀϹÝÀûÀ¸·Î ¾Ë°í ÀÖ´Â RDBMS Áß¿¡´Â ¿À¶óŬ, ÀÎÆ÷¹Í½º °°Àº ¼ö¹é¸¸¿øÀ» È£°¡ÇÏ´Â º»°Ý »ó¿ë µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀÌ ¸¹ÀÌ ¾Ë·ÁÁ® ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ¿¡ ¸øÁö ¾ÊÀº µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀÌ °ø°³¿ëÀ¸·Î ¿©·¯ºÐ °¡±îÀÌ¿¡ ÀÖ´Ù°í ÇÏ¸é ¾î¶»°Ô ÇÒ °ÍÀΰ¡ ?
¸®´ª½º »ç¿ëÀÚ¶ó¸é PostgreSQLÀ̶ó´Â °·ÂÇÑ RDBMS ÀÖ´Ù´Â °ÍÀ» ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù.
¹°·Ð PostgreSQLÀÌ¿Ü¿¡µµ ¾µ ¸¸ÇÑ µ¥ÀÌÅÍ º£À̽º
½Ã½ºÅÛÀ¸·Î mSQL°ú mySQLÀ̶ó´Â °Íµµ ÀÖ´Ù.
PostgreSQL´Â Á¤¸» Áß°£±Ô¸ð Á¤µµÀÇ ±â¾÷¿¡¼ ´ë¿ë·® µ¥ÀÌÅÍ º£À̽º¸¦ ó¸®Çϱ⿡µµ
ÃæºÐÇÑ ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ÀÌÁ¦ 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
PostgresSQL´Â ±âº»ÀûÀ¸·Î ¼Ò½º¼öÁرîÁöµµ °ø°³ÀûÀÎ ¼º°ÝÀ» ¶ç°í ÀÖ´Ù. GPLÀº ¾Æ´ÏÁö¸¸ »ç¿ë,º¹»ç, ¼öÁ¤,¹èÆ÷¿¡ ÀÖ¾î¼ ÀÚÀ¯·Î¿ì¸ç ¹«·á·Î ±¸ÇÒ ¼ö ÀÖ´Ù. ¾Æ¿ï·¯ COPYRIGHT¹®¼¿¡´Â , ¼ÒÇÁÆ®¿þ¾î »ç¿ëÀ¸·Î ÀÎÇÑ ¼ÕÇØ¿¡ ´ëÇØ ¾î¶°ÇÑ º¸Áõµµ ÇÏÁö ¾ÊÀ¸¸ç ,, »ó¾÷ÀûÀÎ ÀÌ¿ëÀ̳ª ¾î¶² Ưº°ÇÑ ¸ñÀû¿¡ÀÇ »ç¿ë¿¡ ´ëÇؼµµ º¸Áõ(warranties)À» °ÅºÎÇÑ´Ù. °í ¸í½ÃÇÏ°í ÀÖ´Ù. Áï »ó½ÄÀûÀÎ ¼öÁØ¿¡¼ °ø°³ ¼ÒÇÁÆ®¿þ¾îÀÇ ¹üÁÖ¿¡ Æ÷ÇÔµÈ´Ù°í º¸¸é µÉ °Í °°´Ù.
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¿¡¼´Â ¾à°£ÀÇ ¹®Á¦°¡ ÀÖ´Ù°í ÇÑ´Ù.
ÇöÀç±îÁö ³ª¿Â 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 À̶ó´Â º°ÀÇ¹Ì ¾ø´Â µ¥ÀÌÅÍ º£À̽º°¡ ÇϳªÀÖ´Ù.
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 °èÁ¤À¸·Î ·Î±äÇÏ¿© ¾Õ¼¿Í ¸¶Âù°¡Áö·Î µ¥ÀÌÅÍ º£À̽º¿Í »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ¸é µÈ´Ù.ÇÏÁö¸¸ ÀÌ·¸°Ô ÇÑ´Ù°í Çؼ ¸ðµç ¹®Á¦°¡ ÇØ°áµÇ´Â °ÍÀº ¾Æ´Ï´Ù ±×³É °£´ÜÇÏ°Ô ¹è¿ì±â¿¡´Â º°¹®Á¦°¡ ¾ø°ÚÁö¸¸ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀ» ±¸ÃàÇÑ´Ù´Â Ãø¸é¿¡¼ º¸¸é ²À ¼Ò½ºÆÄÀÏ·Î ¼³Ä¡ÇÏ´øÁö Á¦´ë·Î µÈ ¹ÙÀ̳ʸ® ÆÐÅ°Áö¸¦ ±¸Çؼ ¼³Ä¡Çϱ⠹ٶõ´Ù.
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 ·Î ´Ù·ç¾î º¸¸é¼ È°¿ë¹æ¾ÈÀ» »ìÆ캸°Ú´Ù.