3. Postgres ½ÃÀÛÇϱâ

ÀÌ ºÎºÐ¿¡¼­´Â ÀüÀ§ÀÇ ÀÀ¿ë ÇÁ·Î±×·¥À» »ç¿ëÇϱâ À§Çؼ­ Postgres¸¦ ½ÃÀÛÇÏ´Â ¹æ¹ý °ú ÀÚ½ÅÀÇ È¯°æ¿¡ ¸Âµµ·Ï ¼ÂÆÃÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ³íÀÇÇÑ´Ù. ÀÌ¹Ì Postgres´Â ¼º°øÀû À¸·Î ¼³Ä¡µÇ¾ú´Ù°í °¡Á¤ÇÑ´Ù. ( Postgres¸¦ ¼³Ä¡Çϱâ À§Çؼ­´Â ¼³Ä¡ note¸¦ ÂüÁ¶ÇÏ ¶ó.)

ÀÌ ºÎºÐ¿¡¼­ Á¦½ÃµÈ ¸î °¡Áö ´Ü°è´Â ¸ðµç Postgres »ç¿ëÀÚ¿Í µ¥ÀÌÅÍ º£À̽º °ü¸®ÀÚ ¿¡ ÇØ´ç µÇ´Â »çÇ×ÀÌ´Ù. µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛ °ü¸®ÀÚ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡Çϰí, µ¥ ÀÌÅÍ º£À̽º¸¦ ¸¸µé°í, postmaster¸¦ ½ÇÇà½ÃŰ´Â »ç¶÷ÀÌ´Ù. µ¥ÀÌÅÍ º£À̽º °ü¸®ÀÚ°¡ À¯´Ð½º ÀÇ ¼öÆÛÀ¯ÀúÀÎ rootÀ̰ųª, ÄÄÇ»ÅÍÀÇ Çϵå¿þ¾î ÀûÀÎ °ü¸®ÀÚÀÏ ÇÊ¿ä´Â ¾ø´Ù. ¿©±â¼­´Â ÀÏ¹Ý »ç¿ëÀÚ¸¦ User·Î Ç¥ÇöÇϰí, µ¥ÀÌÅÍ º£À̽º °ü¸®ÀÚ¸¦ Admin À¸·Î Ç¥½Ã Çϵµ·Ï ÇϰڴÙ.

ÀÌ ¼³¸í¼­ÀÇ ¿¹Á¦Áß % ±âÈ£·Î ½ÃÀ۵Ǵ ¹®ÀåÀº À¯´Ð½º ½©»óÀÇ ¸í·É¾î¸¦ ÀǹÌÇϸç, * ±âÈ£´Â Postgres SQL ÁúÀǾî»óÀÇ ¸í·ÉÀ» ¶æÇÑ´Ù.

3.1 Admin / User : »ç¿ëÀÚ È¯°æ Á¶Á¤

´Ü¼øÇÔÀ» À§ÇÏ¿© Postgres°¡ /usr/local/postgres95 µð·ºÅ丮¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù°í °¡ Á¤ Çϵµ·Ï ÇÑ´Ù. ±×·¯¹Ç·Î /usr/local/postgres95 ¶ó´Â µð·ºÅ丮¸¦ º¼¶§¸¶´Ù ¿©·¯ºÐ µéÀº ½ÇÁ¦ Postgres°¡ ¼³Ä¡µÈ µð·ºÅ丮¿Í ¹Ù²Ù¾î »ý°¢ÇØ¾ß ÇÑ´Ù. (È¥µ¿À» ÇÇÇϱâ À§ ÇÏ¿© ¾Æ¿¹ óÀ½ºÎÅÍ /usr/local/postgres95 µð·ºÅ丮¿¡ ¼³Ä¡ÇÏ´Â °Íµµ ÁÁÀº ¹æ¹ýÀÏ °ÍÀÌ´Ù.)

¸ðµç ¸í·É¾îµéÀº /usr/local/postgres95/bin µð·ºÅ丮¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù. ±×·¯¹Ç·Î ½© ¸í·É¾î »óÅ¿¡¼­´Â ÀÌ µð·ºÅ丮¸¦ path ¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù. ´ç½ÅÀÌ ¸¸¾à Berkeley C Shell ÀÇ º¯Á¾À̳ª, tcsh À» »ç¿ëÇϰí ÀÖ´Ù¸é .login ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ÁÙÀ» Ãß °¡ÇÑ´Ù.

    % set path = ( /usr/local/postgres95/bin $path )

Bourne shell ÀÇ º¯Á¾À̳ª ksh, bash ÀÎ °æ¿ì¿¡´Â .profile ¿¡ ´ÙÀ½°ú °°ÀÌ ¾´´Ù.

    $ PATH=/usr/local/postgres95/bin:$PATH $ export PATH

ÀÌÁ¦ Postgres ÀÇ bin µð·ºÅ丮°¡ path¿¡ Ãß°¡µÇ¾ú´Ù°í °¡Á¤ÇϰڴÙ. ºÎ°¡ÀûÀ¸·Î ÀÌ ¼³¸í¼­¸¦ ÅëÇÏ¿© ½©º¯¼ö ÁöÁ¤ ¶Ç´Â ȯ°æº¯¼ö ÁöÁ¤À̶ó´Â °ÍÀ» ÀÚÁÖ ÂüÁ¶ÇÏ°Ô µÉ °Í ÀÌ´Ù. path¸¦ º¯°æÇϴµ¥ À־ À§ ¹®´ÜÀÇ ³»¿ëµéÀ» ÃæºÐÈ÷ ÀÌÇØÇÒ¼ö ¾ø¾ú´Ù¸é, ´ÙÀ½À¸·Î ³Ñ¾î°¡±â Àü¿¡ ´ç½ÅÀÌ »ç¿ëÁßÀÎ ½©À» ±â¼úÇØ ³õÀº À¯´Ð½º ¼³¸í¼­¸¦ Âü°íÇÏ ¿©¾ß ÇÑ´Ù.

3.2 Admin : Postmaster ½ÃÀÛÇϱâ

³íÀÇ¿¡ ¾Õ¼­ postmaster ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ¾î ÀÖÁö ¾ÊÀ¸¸é µ¥ÀÌÅÍ º£À̽º¿¡ ´ëÇÑ ¾î ¶°ÇÑ ÀÛ¾÷µµ ºÒ°¡´ÉÇÏ´Ù´Â °ÍÀ» ¸í¹éÈ÷ ÇϰíÀÚ ÇÑ´Ù. ´ç½ÅÀÌ ¸¸¾à Admin À̶ó¸é pos tmaster¸¦ ½ÇÇàÇϱâ Àü¿¡ ¸î °¡Áö ±â¾ïÇØ µÎ¾î¾ß¸¸ Çϴ°ÍÀÌ ÀÖ´Ù. ÀÌ ¼³¸í¼­¿¡¼­´Â 'Administering Postgres' ¶ó´Â Á¦¸ñÀÌ ÀÖ´Â ºÎºÐ¿¡¼­ ±×°ÍÀ» ´Ù·ç±â·Î ÇÑ´Ù. ±×·¯ ³ª ¿©±â ¾²¿©Áø °Í°ú °°ÀÌ Á¤È®ÇÏ°Ô Postgres°¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é, ´ÙÀ½°ú°°Àº °£´Ü ÇÑ ¸í·É¾î·Î postmaster ¸¦ ½ÃÀÛÇÒ¼ö ÀÖ´Ù. % postmaster &

postmaster´Â ¹®Á¦°¡ ¹ß»ýÇÒ °æ¿ì µµ¿òÀÌ µÇ´Â ¾î¶² ¸Þ¼¼Áö¸¦ ³»º¸³»°ï ÇÑ´Ù. ¸¸ ¾à postmaster·Î ºÎÅÍ µð¹ö±ë ¸Þ¼¼Áö¸¦ º¸°í ½ÍÀº °æ¿ì¿¡´Â -d ¿É¼ÇÀ» ÁÖ°í, ±×°ÍÀ» redirect ·Î ¹Þ¾Æ¼­ ÀúÀåÇÏ¸é µÈ´Ù.

    % postmaster -d >& pm.log &

¸Þ¼¼Áö¸¦ º¸°í ½ÍÁö ¾ÊÀº °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

    % postmaster -S

±×·¯¸é postmaster ´Â ¾Æ¹«°Íµµ Ç¥½ÃÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ³¡¿¡ & °¡ ºÙÁö ¾Ê¾ÒÀ½¿¡ À¯ ÀÇÇ϶ó.

3.3 Admin : »ç¿ëÀÚÀÇ Ãß°¡ ¹× »èÁ¦

createuser ¸í·É¾î´Â ¾î¶² Ưº°ÇÑ »ç¿ëÀÚ°¡ Postgres¿¡ Á¢±Ù °¡´ÉÇϵµ·Ï ÇØÁØ´Ù. ÀÌ ¿Í ¹Ý´ë·Î destroyuser ¸í·É¾î´Â »ç¿ëÀÚ¸¦ »èÁ¦Çϰí, Postgres¿¡ Á¢±ÙÇÒ ¼ö ¾øµµ·Ï ÇÑ´Ù. ÀÌ·¯ÇÑ ¸í·É¾îµéÀº ´ÜÁö Postgres»ç¿ëÀÚ¿¡ ´ëÇØ¼­¸¸ È¿°ú°¡ ÀÖ´Ù´Â °Í¿¡ À¯ÀÇ Ç϶ó. OS ¸¦ °ü¸®ÇÏ´Â »ç¿ëÀÚ¿¡°Ô´Â ¾Æ¹« È¿°ú°¡ ¾ø´Ù.

3.4 User : ÀÀ¿ë ÇÁ·Î±×·¥ ½ÃÀÛÇϱâ

µ¥ÀÌÅÍ º£À̽º °ü¸®ÀÚ (site adminstrator)°¡ ÀûÀýÇÏ°Ô postmaster ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇÏ¿´°í, ´ç½ÅÀÌ »ç¿ëÀڷμ­ µ¥ÀÌÅÍ º£À̽º¿¡ Á¢±ÙÇÒ¼ö ÀÖ´Â ±ÇÇÑÀ» ºÎ¿© ¹Þ¾ÒÀ¸¸é ÀÀ¿ë ÇÁ·Î±×·¥À» ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. ¾Õ¿¡¼­ ¾ð±ÞÇß´ø °Í ó·³ ´ç½ÅÀº path¿¡ /usr/lo- cal/postgres95/bin µð·ºÅ丮¸¦ Ãß°¡ÇØ¾ß ÇÑ´Ù. ´ëºÎºÐÀÇ °æ¿ì ÀÌ Á¤µµ°¡ ´ç½ÅÀÌ ÁغñÇØ¾ß ÇÒ ³»¿ëÀÇ ÀüºÎÀÌ´Ù.

¸¸¾à Postgres ¸í·É¾î (psqlÀ̳ª createdb) ½ÇÇà µµÁß¿¡ ´ÙÀ½°ú °°Àº ¿¡·¯¸Þ¼¼Áö¸¦ ³µ´Ù¸é, ±×°ÍÀº ´ÙÀ½°ú °°Àº °æ¿ì¿¡ ÇØ´çÇÑ´Ù.

    connectDB() failed : Is the postmaster running at 'localhost' on port '4322' ?

postmaster °¡ ½ÇÇàµÇÁö ¾Ê¾Ò°Å³ª, À߸øµÈ server host ¿¡ ¿¬°áÀ» ½ÃµµÇÏ·Á°í ÇßÀ» °æ¿ìÀÌ´Ù. ¸¸¾à ´ÙÀ½°ú °°Àº ¿¡·¯¸Þ¼¼Áö¸¦ ¸¸³µ´Ù¸é µ¥ÀÌÅÍ º£À̽º °ü¸®ÀÚ°¡ ¿Ã¹Ù¸¥ °èÁ¤À¸·Î postmaster ¸¦ ½ÇÇà½ÃŰÁö ¾Ê¾Ò´Ù´Â ¶æÀÌ´Ù.

    FATAL 1:Feb 17 23:19:55:process userid (2360) != database owner (268)

ÀÌ·²¶§´Â ´Ù½Ã postmaster¸¦ ¼öÇàÇϵµ·Ï Postgres superuser ¿¡°Ô ¾Ë·ÁÁÖ¾î¾ß ÇÑ´Ù.

3.5 User : Database °ü¸®Çϱâ

Postgres°¡ ½ÇÇàÁßÀ̶ó¸é ½ÃÇè»ï¾Æ ¸î °³ÀÇ µ¥ÀÌÅÍ º£À̽º¸¦ ¸¸µé¼ö ÀÖ´Ù. ¿©±â ±â º»ÀûÀÎ µ¥ÀÌÅÍ º£À̽º ¸í·É¾îµéÀ» ¼Ò°³ÇÑ´Ù.

Data Base ÀÛ¼ºÇϱâ

ÀÚ, ´ç½ÅÀÌ mydb ¶ó´Â À̸§ÀÇ µ¥ÀÌÅÍ º£À̽º¸¦ ¸¸µé°íÀú ÇÑ´Ù. ±×·¸´Ù¸é ´ÙÀ½°ú °° Àº ¸í·É¾î¸¦ ÁÖ¸é µÈ´Ù.

    % createdb mydb

Postgres´Â ÁÖ¾îÁø °÷¿¡ ¾ó¸¶µçÁö ¿©·¯°³ÀÇ µ¥ÀÌÅÍ º£À̽º¸¦ ¸¸µé ¼ö ÀÖµµ·Ï ÇØ ÁÖ ¸ç, ±× ¼ø°£¿¡´Â ÀÚµ¿À¸·Î ¿©·¯ºÐÀÌ µ¥ÀÌÅÍ ½Ã½ºÅÛ °ü¸®ÀÚ°¡ µÈ´Ù. µ¥ÀÌÅÍ º£À̽ºÀÇ À̸§Àº ¾ËÆÄºª ±ÛÀÚ°¡ óÀ½¿¡ ¿Í¾ß Çϰí, ±æÀÌ´Â 16±ÛÀÚ·Î Á¦ÇѵȴÙ.

¸ðµç »ç¿ëÀÚ°¡ µ¥ÀÌÅÍ º£À̽º¸¦ ¸¸µé¼ö ÀÖ´Â ±ÇÇÑÀ» ºÎ¿©¹Þ´Â °ÍÀº ¾Æ´Ï´Ù. ¸¸¾à ´ç ½ÅÀÌ Postgres¿¡¼­ µ¥ÀÌÅÍ º£À̽º¸¦ ¸¸µé¼ö ¾ø´Ù¸é µ¥ÀÌÅÍ º£À̽º °ü¸®ÀÚ·Î ºÎÅÍ µ¥ ÀÌÅÍ º£À̽º¸¦ »ý¼ºÇÒ¼ö ÀÖ´Â Çã°¡±ÇÀ» ¾ò¾î¾ß ÇÑ´Ù. ÀÌ·² ¶§´Â µ¥ÀÌÅÍ º£À̽º °ü¸® ÀÚ¿Í ÀÇ ³íÇϵµ·Ï ÇÏÀÚ.

Data Base Á¢±ÙÇϱâ

µ¥ÀÌÅÍ º£À̽º¸¦ ¸¸µé¾úÀ¸¸é ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î Á¢±ÙÇÒ¼ö ÀÖ´Ù.

ÀÌ ¼³¸í¼­ÀÇ ¿¹Á¦¸¦ ½ÃÇèÇØ º¸·Á¸é psqlÀ» ¼öÇàÇÏ¿©¾ß ÇÑ´Ù. ´ÙÀ½°ú °°Àº ¸í·É¾î·Î mydb¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â »óŰ¡ µÈ´Ù.

    % psql mydb

´ÙÀ½°ú °°Àº ȯ¿µ ¸Þ¼¼Áö(?)¸¦ ¹Þ°Ô µÉ °ÍÀÌ´Ù.

    Welcome to the Postgres95 interactive sql monitor
    type \? for help on slash commands type \q to quit type \g to terminate with semicolon to excute query
    You are currently conneted to the database: mydb
    mydb =>

ÀÌ ÇÁ·ÒÇÁÆ®´Â Å͹̳θð´ÏÅͰ¡ ÀÌÁ¦ºÎÅÍ ´ç½ÅÀÇ ¸í·ÉÀ» ¹Þ¾ÆµéÀÏ ¼ö ÀÖ´Ù´Â ¶æÀÌ´Ù. ÀÌÁ¦ Å͹̳Π¸ð´ÏÅͰ¡ Á¦°øÇÏ´ÂÀÛ¾÷ ¿µ¿ª¿¡¼­ SQL Äõ¸®¸¦ ¾µ ¼ö ÀÖ´Ù. psqlÀº ¿ª½½·¡½Ã(\)·Î ½ÃÀÛÇÏ´Â escapeÄڵ忡 ÀÀ´äÇÑ´Ù. ¿¹¸¦ µé¾î, Postgres¿¡ ´ëÇÑ ¿©·¯ °¡Áö ¹®¹ýÀû µµ¿ò¸»À» ¾ò±â À§Çؼ­´Â ¸í·É¾î ¶óÀο¡¼­ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù.

    mydb => \h

Äõ¸® ¹®ÀåÀÌ ³¡³µÀ½À» ¾Ë¸®°í, ÀÛ¾÷°ø°£ÀÇ ³»¿ëÀ» Postgres¼­¹ö¿¡ ¾Ë·ÁÁÖ±â À§ÇØ ´Ù À½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù.

    mydb => \g

À̰ÍÀº ¼­¹ö¿¡°Ô Äû¸®ÀÇ ³»¿ëÀ» ½ÇÇàÇ϶ó´Â ¶æÀÌ´Ù. ¸¸¾à ¹®Àå ³¡¿¡ ¼¼¹ÌÄÝ·ÐÀ» »ç ¿ë Çß´Ù¸é \g ´Â ÇÊ¿ä¾ø´Ù. ¼¼¹ÌÄÝ·ÐÀÌ ºÙÀ¸¸é psql Àº ÀÚµ¿À¸·Î Äõ¸®¸¦ ó¸®ÇÑ´Ù.

¿ÜºÎ È­ÀÏ·Î ºÎÅÍ Äõ¸® ³»¿ëÀ» ÀоîµéÀ̱â À§Çؼ­´Â ´ëÈ­Çü ¹æ½Ä´ë½Å ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù.

    mydb => \i filename

À¯´Ð½º·Î ºüÁ®³ª°¡±â À§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

    mydb => \q

±×·¯¸é psqlÀÌ Á¾·áµÇ°í, À¯´Ð½º ¸í·É¾î¸¦ ¾µ ¼ö ÀÖ´Â ½© »óŰ¡ µÈ´Ù. ( ´õ ÀÚ¼¼ÇÑ °ÍÀº \h¸¦ ÀÔ·ÂÇØ º¸¶ó.) ÅÇ È¤Àº ºóÄ­Àº SQL Äõ¸®³»¿¡¼­ ¾ó¸¶µçÁö ¾µ¼ö ÀÖ´Ù. dash ÀÌÈÄ¿¡ ¾²¿©Áø ¸ðµç ÁÙµéÀº ¹«½ÃµÇ¸ç, ±×°ÍÀº °ð ÁÖ¼®À¸·Î 󸮵ÊÀ» ÀǹÌÇÑ´Ù.

Data Base »èÁ¦Çϱâ

´ç½ÅÀÌ mydb ¿¡ ´ëÇÑ µ¥ÀÌÅÍ º£À̽º °ü¸®ÀÚ¶ó¸é ´ÙÀ½°ú °°Àº ¸í·É¾î¸¦ ½á¼­ »èÁ¦ ÇÒ ¼öÀÖ´Ù.

    % destroydb mydb

ÀÌ·¯ÇÑ ¸í·É¾î´Â µ¥ÀÌÅÍ º£À̽º¿¡ °ü°èµÈ ¸ðµç À¯´Ð½º È­ÀÏÀ» ¹°¸®ÀûÀ¸·Î Áö¿ö¹ö¸® ±â ¶§¹®¿¡ º¹±¸ ÇÒ ¼ö ¾ø°Ô µÈ´Ù. ±×·¯¹Ç·Î ÀÛ¾÷¿¡ ¾Õ¼­¼­ ´õ¿í ½ÅÁßÇÏ°Ô »ý°¢ÇØ¾ß ÇÒ °ÍÀÌ´Ù.