1.3. µ¥ÀÌÅͺ£À̽º ¸¸µé±â

µ¥ÀÌÅͺ£À̽º ¼­¹ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö¸¦ È®ÀÎÇϱâ À§ÇÑ Å×½ºÆ®·Î ¸ÕÀú ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé¾î º¸°Ú½À´Ï´Ù. °¢°¢ÀÇ »ç¿ëÀÚ ´ÜÀ§³ª, ÇÁ·ÎÁ§Æ® ´ÜÀ§·Î µ¥ÀÌÅͺ£À̽º¸¦ ºÐ¸®Çؼ­ ÀÛ¾÷ÇÏ´Â °ÍÀÌ ÀϹÝÀûÀ̱⿡, ÇϳªÀÇ PostgreSQL ¼­¹ö´Â ¸¹Àº µ¥ÀÌÅͺ£À̽º¸¦ °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¾î¼¸é, ÀÌ¹Ì ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ÀÏ¹Ý »ç¿ëÀÚµéÀ» À§Çؼ­ ±×µéÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅͺ£À̽º¸¦ ¹Ì¸® ¸¸µé¾î µÎ¾úÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·± °æ¿ì¶ó¸é, ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ÀÏ¹Ý »ç¿ëÀڵ鿡°Ô ±× »ç½ÇÀ» ¾Ë·Á¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅͺ£À̽º À̸§À» ¾Ë·ÁÁÖ¾î¾ß°ÚÁö¿ä. ÀÌ·¸°Ô ÀÌ¹Ì ¸¸µé¾îÁø µ¥ÀÌÅͺ£À̽º°¡ ÀÖ°í, ±×°ÍÀÇ À̸§ÀÌ ¾î¶² °ÍÀÎÁö ¾Ë°í ÀÖ´Ù¸é, ÀÌ ¼½¼ÇÀ» ÀÐÁö ¾Ê°í ³Ñ¾î°¡¼Åµµ ÁÁ½À´Ï´Ù.

¿¹¸¦ µé¾î mydb¶ó´Â À̸§ÀÇ »õ·Î¿î µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µå·Á¸é, ´ÙÀ½°ú °°Àº ¸í·ÉÀ» »ç¿ëÇÕ´Ï´Ù:

$ createdb mydb

Á¤»óÀûÀÎ °á°ú¶ó¸é ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³³´Ï´Ù:

CREATE DATABASE

Á÷Á¢ Çغ» °á°ú°¡ À­ ¸Þ½ÃÁö¿Í °°´Ù¸é, ±×³É ÀÌ ¼½¼ÇÀ» ³Ñ¾î°¡¼¼¿ä.

createdb: command not found

ÀÌ·± ¸Þ½ÃÁö°¡ ³ªÅ¸³µ´Ù¸é, PostgreSQL ÆÐÅ°Áö°¡ Á¤¼ºÀûÀ¸·Î ¼³Ä¡ µÇÁö ¾ÊÀº °æ¿ìÀ̰ųª »ç¿ëÀÚÀÇ ½ÇÇà °æ·Î ȯ°æº¯¼ö(PATH)¿¡ ÀÌ PostgreSQL ¼³Ä¡ °æ·Î°¡ Æ÷ÇԵǾîÀÖÁö ¾ÊÀº °æ¿ìÀÔ´Ï´Ù. ÀÌ°ÍÀ» ¾Ë±â À§Çؼ­´Â ÀÏ´Ü ´ÙÀ½°ú °°ÀÌ Àý´ë°æ·Î·Î ´Ù½Ã Çѹø È£ÃâÇØ º¾´Ï´Ù:

$ /usr/local/pgsql/bin/createdb mydb

À­ ¸í·É¿¡¼­ÀÇ Àý´ë °æ·Î´Â °¢ ½Ã½ºÅÛ¸¶´Ù Ʋ¸± ¼ö ÀÖ½À´Ï´Ù. Á¤È®È÷ ¾Ë±â À§Çؼ­´Â ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇØ º¸µçÁö, Á÷Á¢ ¼³Ä¡Çß´Ù¸é, ½ÇÄ¡ °úÁ¤À» ´Ù½Ã »ìÆ캸µçÁö Çϼ¼¿ä.

ÀÌ ¸í·ÉÀÇ ¶Ç ´Ù¸¥ °á°ú·Î ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö°¡ º¸ÀÏ ¼ö ÀÖ½À´Ï´Ù:

createdb: postgres µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°á ÇÒ ¼ö ¾øÀ½: ¼­¹ö¿¡ ¿¬°áÇÒ ¼ö ¾øÀ½: ±×·± ÆÄÀÏÀ̳ª µð·ºÅ丮°¡ ¾øÀ½
        ·ÎÄÃÈ£½ºÆ®¿¡ ¼­¹ö°¡ °¡µ¿ ÁßÀÎÁö,
        "/tmp/.s.PGSQL.5432" À¯´Ð½º µµ¸ÞÀÎ ¼ÒÄÏ Á¢±ÙÀÌ °¡´ÉÇÑÁö »ìÆ캸½Ê½Ã¿À.

ÀÌ °æ¿ì´Â ÇöÀç ½Ã½ºÅÛ¿¡´Â PostgreSQL ¼­¹ö°¡ °¡µ¿ÁßÀÌÁö ¾Ê´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ´Ù½Ã Çѹø ¼³Ä¡, ¼­¹ö ½ÇÇà °ü·Ã ¹®¼­¸¦ »ìÆ캸°Å³ª, ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ÀÚ¹®À» ±¸Çغ¸½Ê½Ã¿À.

¶Ç ´Ù¸¥ ¿À·ù ¸Þ½ÃÁö·Î,

createdb: postgres µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°á ÇÒ ¼ö ¾øÀ½: FATAL:  role "joe" does not exist

ÀÌ °æ¿ì´Â »ç¿ëÀÚ °èÁ¤ÀÇ À̸§ÀÌ µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ·Î µî·ÏµÇ¾îÀÖÁö ¾ÊÀº °æ¿ìÀÔ´Ï´Ù. (PostgreSQL¿¡¼­´Â µ¥ÀÌÅͺ£À̽º »ç¿ëÀڷΠƯº°È÷ ÁöÁ¤ÇÏÁö ¾Ê¾ÒÀ» °æ¿ì, ±âº»°ªÀ¸·Î ½Ã½ºÅÛ »ç¿ëÀÚ À̸§À» »ç¿ëÇÕ´Ï´Ù.) Á÷Á¢ µ¥ÀÌÅͺ£À̽º¸¦ °ü¸®ÇÑ´Ù¸é, »ç¿ëÀÚ Ãß°¡¿¡ °ü°èµÈ ¹®¼­ÀÎ 19장À» ÀÐ¾î º¸½Ê½Ã¿À. ±âº»ÀûÀ¸·Î PostgreSQL ¼³Ä¡´Â postgres »ç¿ëÀÚ·Î ÁøÇàµÇ¸ç, ÀÌ °èÁ¤ÀÌ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ °ü¸®ÀÚ°¡ µË´Ï´Ù. ¶ÇÇÑ PostgreSQL »ç¿ëÀÚ¿Í ½Ã½ºÅÛ »ç¿ëÀÚ À̸§ ¼­·Î Ʋ¸± °æ¿ì, -U ¿É¼ÇÀ» »ç¿ëÇؼ­ µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ À̸§À» ÁöÁ¤Çϰųª, PGUSER ½Ã½ºÅÛ È¯°æº¯¼ö·Î ±× À̸§À» ÁöÁ¤Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÇÑÆí, µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ·Î µî·ÏÀº µÇ¾îÀÖÀ¸³ª, µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé ±ÇÇÑÀÌ ¾ø´Â °æ¿ì´Â ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³³´Ï´Ù:

createdb: µ¥ÀÌÅͺ£À̽º ¸¸µé±â ½ÇÆÐ: ¿À·ù:  µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé ±ÇÇÑÀÌ ¾øÀ½

¸ðµç »ç¿ëÀÚ°¡ µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé ¼ö ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ¸¸ÀÏ PostgreSQL¿¡¼­ µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé°í ½Í´Ù¸é, µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ¿¡°Ô ÇØ´ç »ç¿ëÀÚ¿¡°Ô µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé ¼ö ÀÖ´Â ±ÇÇÑÀ» ´Þ¶ó°í ¿äûÇؾßÇÒ °ÍÀÔ´Ï´Ù. ÀÚ½ÅÀÌ °ü¸®ÀÚ¶ó¸é, ÇØ´ç »ç¿ëÀÚ¿¡°Ô ±ÇÇÑÀ» ºÎ¿©ÇØ ÁÖ¾î¾ßÇÕ´Ï´Ù. Á÷Á¢ ¼³Ä¡Çß´Ù¸é, ±× ¼³Ä¡ÇÏ°í, °¡µ¿ÇÑ ½Ã½ºÅÛ »ç¿ëÀÚ °èÁ¤ÀÌ µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ°¡ µË´Ï´Ù. [1]

¹°·Ð µ¥ÀÌÅͺ£À̽º À̸§Àº ¾Æ¹«°Å³ª ´Ù¸¥ À̸§À» »ç¿ëÇصµ ±¦Âú½À´Ï´Ù. PostgreSQLL¿¡¼­´Â ¸¸µé ¼ö ÀÖ´Â µ¥ÀÌÅͺ£À̽º °¹¼ö Á¦ÇÑÀÌ ¾ø½À´Ï´Ù. ÇÏÁö¸¸, µ¥ÀÌÅͺ£À̽º À̸§Àº ù±ÛÀÚ°¡ ¼ýÀÚ³ª ±âÈ£°¡ ¿Ã ¼ö ¾ø°í, 63±ÛÀÚ ±îÁöÀÇ ¾î¶°ÇÑ À̸§µµ ±¦Âú½À´Ï´Ù. µ¥ÀÌÅͺ£À̽º À̸§À¸·Î °¡Àå ÆíÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â À̸§Àº ±× µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µå´Â »ç¿ëÀÚÀÇ À̸§°ú °°Àº °ÍÀÔ´Ï´Ù. ¿Ö³ÄÇÏ¸é ¸¹Àº ÇÁ·Î±×·¥µéÀÌ ÀÌ »ç¿ëÀÚ¿Í °°Àº À̸§ÀÇ µ¥ÀÌÅͺ£À̽º À̸§À» ±× »ç¿ëÀÚÀÇ ±âº» µ¥ÀÌÅͺ£À̽º·Î °¡Á¤Çϱ⠶§¹®ÀÔ´Ï´Ù. ÀÌ·±½ÄÀ¸·Î »ç¿ëÀÚÀÇ À̸§°ú °°Àº µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µå·Á¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ÀÌ¿ëÇÏ¸é µË´Ï´Ù. °£ÆíÇÏÁö¿ä.

$ createdb

¸¸µç µ¥ÀÌÅͺ£À̽º¸¦ ´õ ÀÌ»ó »ç¿ëÇÒ ÀÏÀÌ ¾øÀ¸¸é, µ¥ÀÌÅͺ£À̽º¸¦ »èÁ¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î mydb µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µç »ç¶÷ÀÌ ±× µ¥ÀÌÅͺ£À̽º¸¦ »èÁ¦ÇÏ·Á¸é, ´ÙÀ½°ú °°Àº ¸í·ÉÀ» »ç¿ëÇÕ´Ï´Ù:

$ dropdb mydb

(dropdb ¸í·ÉÀº ±× ÀÎÀÚ°¡ ¾ø¾îµµ ±âº»À¸·Î »èÁ¦ÇÒ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÀÚ À̸§°¡ °°Àº µ¥ÀÌÅͺ£À̽º¸¦ »èÁ¦ÇÏÁö´Â ¾Ê½À´Ï´Ù. ¹Ýµå½Ã »èÁ¦ÇÒ µ¥ÀÌÅͺ£À̽º À̸§À» ÁöÁ¤ÇØ ÁÖ¾î¾ßÇÕ´Ï´Ù) ÀÌ ÀÛ¾÷Àº ÇØ´ç µ¥ÀÌÅͺ£À̽º¿Í °ü·ÃµÈ ¸ðµç ÆÄÀϵéÀ» ¹°¸®ÀûÀ¸·Î ¿ÏÀüÈ÷ »èÁ¦ÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·¯±â¿¡ ½ÇÇàÃë¼Ò¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ ÀÛ¾÷À» ÇÒ ¶§´Â ¹Ýµå½Ã ½ÅÁßÀ» ±âÇϽʽÿÀ.

createdb, dropdb ¸í·ÉÀÇ ÀÚ¼¼ÇÑ Á¤º¸´Â createdb, dropdb ¼³¸í¼­¸¦ ÂüÁ¶ ÇϽʽÿÀ.

주석

[1]

»ç¿ëÀÚ À̸§¿¡ ´ëÇÑ ºÎ°¡ ¼³¸íÀ» Çϸé, PostgreSQL ¼­¹öÀÇ »ç¿ëÀÚ¿Í ½Ã½ºÅÛ »ç¿ëÀÚ´Â ¾ö°ÝÈ÷ Ʋ¸³´Ï´Ù. ±¸Ã¼ÀûÀ¸·Î ¼³¸íÇϸé, µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé°Å³ª »ç¿ëÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ°¡ ²À ½Ã½ºÅÛ »ç¿ëÀÚ·Î Á¸ÀçÇؾßÇÏ´Â °Íµµ ¾Æ´Ï¸ç, ƯÁ¤ ½Ã½ºÅÛ »ç¿ëÀÚ°¡ ¹Ýµå½Ã PostgreSQL ¼­¹öÀÇ »ç¿ëÀÚ·Î Á¸ÀçÇؾßÇÒ ÀÌÀ¯µµ ¾ø½À´Ï´Ù. ´ÜÁö PostgreSQL ÇÁ·Î±×·¥µéÀº ÇØ´ç µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇϱâ À§ÇÑ »ç¿ëÀÚ¸¦ ÁöÁ¤ÇÒ ¶§, ±âº»ÀûÀ¸·Î ÇöÀç »ç¿ëÁßÀÎ ½Ã½ºÅÛ »ç¿ëÀÚÀÇ À̸§À» ÀÌ¿ëÇÕ´Ï´Ù. ¸¸ÀÏ »ç¿ëÀÚ°¡ ¾ø´Ù°Å³ª, ÇØ´ç »ç¿ëÀÚÀÇ ±ÇÇÑÀÌ ºÎ´çÇÑ ¿À·ù ¸Þ½ÃÁö¸¦ ¸¸³­´Ù¸é, ±×°ÍÀº µ¥ÀÌÅͺ£À̽ºÀÇ »ç¿ëÀÚ¿¡ ´ëÇÑ À̾߱âÀÔ´Ï´Ù. ÀÌ »ç¿ëÀÚ¸¦ ¹Ù²Ù·Á¸é, -U ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.