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