| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 5. µ¥ÀÌÅÍ Á¤ÀÇ | Fast Forward | Next |
PostgreSQLµ¥ÀÌÅͺ£À̽º Ŭ·¯½ºÅÍ¿¡´Â º¹¼öÀÇ À̸§ ÷ºÎ µ¥ÀÌÅͺ£À̽º°¡ Æ÷ÇԵ˴ϴÙ. À¯Àú ¹× À¯ÀúÀÇ ±×·ìÀº Ŭ·¯½ºÅÍ Àüü¸¦ °øÀ¯ÇÏÁö¸¸, ´Ù¸¥ µ¥ÀÌÅÍ´Â µ¥ÀÌÅͺ£À̽º °£¿¡ °øÀ¯µÇÁö ¾Ê½À´Ï´Ù. ¼¹ö¿¡ Á¢¼ÓÇϰí Àִ Ŭ¶óÀÌ¾ðÆ®´Â ´ÜÀÏÀÇ µ¥ÀÌÅͺ£À̽º, Áï Á¢¼Ó ¿ä±¸·Î ÁöÁ¤ÇÑ µ¥ÀÌÅͺ£À̽º ³»ÀÇ µ¥ÀÌÅÍ ¹Û¿¡ ¾×¼¼½º ÇÒ ¼ö ¾ø½À´Ï´Ù.
Note: Ŭ·¯½ºÅÍÀÇ À¯Àú´Â Ŭ·¯½ºÅͳ»ÀÇ ¸ðµç µ¥ÀÌÅͺ£À̽ºÀÇ ¾×¼¼½º±ÇÇÑÀ» °¡Áö°í ÀÖ´Ù°í´Â ÇÒ ¼ö ¾ø½À´Ï´Ù. À¯Àú¸íÀ» °øÀ¯ÇÑ´Ù°í ÇÏ´Â °ÍÀº ¿¹¸¦ µé¸éjoe¶ó°í ÇÏ´Â °°Àº À¯Àú¸íÀ» °¡Áö´Â ´Ù¸¥ À¯Àú°¡ °°Àº Ŭ·¯½ºÅͳ»ÀÇ 2°³ÀÇ µ¥ÀÌÅͺ£À̽º¿¡ Á¸ÀçÇÒ ¼ö ¾ø´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª joe°¡ ÀϺÎÀÇ µ¥ÀÌÅͺ£À̽º¸¸ ¾×¼¼½º ÇÒ ¼ö ÀÖµµ·Ï ½Ã½ºÅÛÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
µ¥ÀÌÅͺ£À̽º¿¡´Â Çϳª ÀÌ»óÀÇ À̸§À» °¡Áø schema°¡ Æ÷ÇÔÇÕ´Ï´Ù. ½ºÅ°¸¶´Â Å×À̺íÀ» Æ÷ÇÔÇÕ´Ï´Ù. ½ºÅ°¸¶¿¡´Â µ¥ÀÌÅÍÇü, ÇÔ¼ö ¹× ¿¬»êÀÚ µî ´Ù¸¥ À̸§ÀÇ ¿ÀºêÁ§Æ®µµ Æ÷ÇԵ˴ϴÙ. °°Àº ¿ÀºêÁ§Æ®¸íÀ» ´Ù¸¥ schema·Î »ç¿ëÇØµµ ¸ð¼øÀº ÀϾÁö ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¸é, schema1¿Í myschemaÀÇ ¾çÂÊ ½ºÅ°¸¶¿¡mytable¶ó°í ÇÏ´Â Å×À̺íÀÌ Æ÷ÇԵǾî À־ »ó°ü¾ø½À´Ï´Ù. ½ºÅ°¸¶´Â µ¥ÀÌÅͺ£À̽º¿Í ´Þ¸® ¾ö°ÝÇÏ°Ô ºÐ¸®µÇ¾î ÀÖÁö ¾Ê±â ¶§¹®¿¡, À¯Àú´Â ±ÇÇѸ¸ °¡Áö°í ÀÖÀ¸¸é Á¢¼ÓÇϰí ÀÖ´Â µ¥ÀÌÅͺ£À̽º ³»ÀÇ ¾î´À ½ºÅ°¸¶ÀÇ ¿ÀºêÁ§Æ®¶óµµ ¾×¼¼½º ÇÒ ¼ö ÀÖ½À´Ï´Ù.
½ºÅ°¸¶ÀÇ »ç¿ëÀÌ ¼±È£µÇ´Â ÀÌÀ¯´Â ¸î °³Àΰ¡ ÀÖ½À´Ï´Ù.
ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù¼öÀÇ À¯Àú°¡ ¼·Î °£¼·ÇÏ´Â ÀÏ ¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ ÀÔ´Ï´Ù.
°ü¸®Çϱ⠽¬¿öÁöµµ·Ï, µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®¸¦ ³í¸® ±×·ì¿¡ Æí¼ºÇϱâ À§Çؼ ÀÔ´Ï´Ù.
½áµåÆÄƼÀÇ ¾îÇø®ÄÉÀ̼ÇÀ» ´Ù¸¥ ½ºÅ°¸¶¿¡ ³Ö´Â °ÍÀ¸·Î, ´Ù¸¥ ¿ÀºêÁ§Æ®ÀÇ À̸§°ú Ãæµ¹ÇÏÁö ¾Ê°Ô Çϱâ À§Çؼ ÀÔ´Ï´Ù.
½ºÅ°¸¶´Â Æ÷Ç﵃ ¼ö ¾ø´Ù´Â Á¡À» Á¦¿ÜÇϰí, operating systemÀÇ µð·ºÅ丮¿Í ´à¾Æ ÀÖ½À´Ï´Ù.
½ºÅ°¸¶¸¦ ÀÛ¼ºÇÏ·Á¸é , CREATE SCHEMA Ä¿¸Çµå¸¦ »ç¿ëÇÕ´Ï´Ù. ½ºÅ°¸¶¿¡ ÀÚÀ¯·Ó°Ô À̸§À» ºÙÀÔ´Ï´Ù. ¿¹¸¦ µé¸é,
CREATE SCHEMA myschema;
½ºÅ°¸¶ ³»¿¡ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇϰųª À̰Ϳ¡ ¾×¼¼½º ÇÏ·Á¸é, ½ºÅ°¸¶ ¸í°ú Å×À̺í¸íÀ» Á¡À¸·Î ´Ü¶ôÁöÀº¼ö½Ä¸íÀ» ¾¹´Ï´Ù.
schema . table
ÀÌ ¹æ¹ýÀº µÞ Àå¿¡¼ ¼³¸íÇÏ´Â Å×ÀÌºí º¯°æ Ä¿¸Çµå³ª µ¥ÀÌÅÍ ¾×¼¼½º Ä¿¸Çµå µî, Å×À̺í¸íÀ» ÇÊ¿ä·Î ÇÏ´Â ¸ðµç °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (°£´ÜÇϰÔ, Å×ÀÌºí¸¸À» À̾߱â ÇÕ´Ï´Ù. ±×·¯³ª Çüųª ÇÔ¼ö¿Í °°Àº À̸§ ºÙ¿©Áø ¿ÀºêÁ§Æ®ÀÇ ´Ù¸¥ Á¾·ù¿¡ ´ëÇØ °°Àº »ý°¢À» Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù).
½ÇÁ¦·Î´Â º¸´Ù ÀϹÝÀûÀÎ ÀÌÇÏÀÇ ±¸¹®
database . schema . table
À» »ç¿ëÇÒ ¼öµµ ÀÖÁö¸¸, ÇöÀç´Â ÀÌ ±¸¹®ÀºÇü½Ä»óÇ¥ÁØ SQL¿¡ ÁذÅÇϱâ À§ÇØ Á¸ÀçÇϰí ÀÖ½À´Ï´Ù. ±â¼úµÇ´Â µ¥ÀÌÅͺ£À̽º¸íÀº Á¢¼ÓÇϰí ÀÖ´Â µ¥ÀÌÅͺ£À̽º¿Í °°Àº À̸§À̾î¾ß ÇÕ´Ï´Ù.
±×·¯¹Ç·Î, »õ·Î¿î ½ºÅ°¸¶¿¡ Å×À̺íÀ» ÀÛ¼ºÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
CREATE TABLE myschema.mytable ( ... );
ºó ½ºÅ°¸¶(¸ðµç ¿ÀºêÁ§Æ®°¡ »èÁ¦µÈ ½ºÅ°¸¶)¸¦ »èÁ¦ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
DROP SCHEMA myschema;
¿ÀºêÁ§Æ®¸¦ Æ÷ÇÔÇÑ ½ºÅ°¸¶¸¦ »èÁ¦ÇÏ´Â °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
DROP SCHEMA myschema CASCADE;
ÀÌ ¹èÈÄ¿¡ ÀÖ´Â ÀϹÝÀûÀÎ ¸ÅÄ¿´ÏÁò¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »çÇ×Àº Section 5.11À» ÂüÁ¶ÇØ Áֽʽÿä.
´Ù¸¥ À¯Àú°¡ ¼ÒÀ¯Çϱâ À§ÇÑ ½ºÅ°¸¶¸¦ ÀÛ¼ºÇÏ°í ½ÍÀº °æ¿ì°¡ ÀÖ½À´Ï´Ù(À̰ÍÀº ´Ù¸¥ À¯ÀúÀÇ È°µ¿À» ¸íÈ®ÇÏ°Ô Á¤ÀÇÇÑ À̸§ °ø°£³»¿¡ Á¦ÇÑÇÏ´Â ¹æ¹ýÀÇ ÇϳªÀÔ´Ï´Ù). ±× ¶§ÀÇ Äõ¸® ±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.
CREATE SCHEMA schemaname AUTHORIZATION username ;
½ºÅ°¸¶ À̸§À» »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ½ºÅ°¸¶ À̸§Àº À¯Àú¸í°ú µ¿ÀÏÇØ Áý´Ï´Ù. Section 5.7.6¸¦ ÂüÁ¶ÇÏ¿©, À̰ÍÀÌ ¾î¶»°Ô À¯¿ëÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´ÂÁö »ìÆìº¸½Ê½Ã¿ä.
pg_·Î ½ÃÀ۵Ǵ ½ºÅ°¸¶ ¸íÀº ½Ã½ºÅÛ »óÀÇ »ç¿ëÀ» À§ÇØ ¿¹¾àµÇ¾ú±â ¶§¹®¿¡, À¯Àú°¡ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù.
ÀÌÀü±îÁö´Â ½ºÅ°¸¶ ¸íÀ» ÁöÁ¤ÇÏÁö ¾Ê°í Å×À̺íÀ» ÀÛ¼ºÇØ ¿Ô½À´Ï´Ù. µðÆúÆ®¿¡¼´Â ÀÌ·¯ÇÑ Å×À̺í(¹× ´Ù¸¥ ¿ÀºêÁ§Æ®)Àº ÀÚµ¿À¸·Î"public"¶ó´Â À̸§ÀÇ ½ºÅ°¸¶¿¡ ³Ö¾îÁý´Ï´Ù. »õ·Î¿î µ¥ÀÌÅͺ£À̽º¿¡´Â ¸ðµÎ ÀÌ·¯ÇÑ ½ºÅ°¸¶°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡, ÀÌÇÏÀÇ 2°³ÀÇ ±¸¹®Àº µ¿µîÇÕ´Ï´Ù.
CREATE TABLE products ( ... );
and
CREATE TABLE public.products ( ... );
¼ö½Ä¸íÀ» ¾²´Â °ÍÀº ½Ã°£ÀÌ µé°í, ¾î´À ÂÊÀ¸·Î ÇØµµ, ¾îÇø®ÄÉÀ̼ǿ¡ ƯÁ¤ÇÑ ½ºÅ°¸¶ ¸íÀ» ±âÀÔÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁÀº ÀÏÀÌ ¸¹½À´Ï´Ù. ±× ¶§¹®¿¡, Å×À̺íÀº ¸¹Àº °æ¿ì, Å×À̺í¸í ¹Û¿¡ °¡ÁöÁö ¾Ê´Â ºñ¼ö½Ä¸íÀ¸·Î¼ ÂüÁ¶µË´Ï´Ù. ½Ã½ºÅÛÀº °Ë»öÇÏ´Â ½ºÅ°¸¶ÀÇ ¸®½ºÆ®Àΰ˻ö °æ·Î¿¡ µû¶ó, ¾î´À Å×À̺íÀ» °¡¸®Å°°í ÀÖ´ÂÁö¸¦ ÆÇº°ÇÕ´Ï´Ù. °Ë»ö °æ·Î¿¡¼ ÃÖÃÊ·Î ÀÏÄ¡ÇÑ Å×À̺íÀÌ, ¿øÇÏ´Â Å×À̺íÀ̶ó°í ÇØ¼®µË´Ï´Ù. °Ë»ö °æ·Î³»¿¡ ÀÏÄ¡ÇÏ´Â Å×À̺íÀÌ ¾ø°Å³ª µ¥ÀÌÅͺ£À̽ºÀÇ ´Ù¸¥ ½ºÅ°¸¶ ³»¿¡ ÀÏÄ¡ÇÏ´Â Å×À̺íÀÌ ÀÖ´Â °æ¿ì¿¡¼µµ ¿¡·¯°¡ º¸°íµË´Ï´Ù.
°Ë»ö °æ·ÎÀÇ ÃÖÃʷΠȣÃâµÈ ½ºÅ°¸¶´Â ÃÖ±Ù ½ºÅ°¸¶(the current schema)¶ó°í ºÒ¸³´Ï´Ù. ÃÖ±Ù ½ºÅ°¸¶´Â °Ë»öµÇ´Â ÃÖÃÊÀÇ ½ºÅ°¸¶ÀÌ¸é¼ ½ºÅ°¸¶¸¦ ÁöÁ¤ÇÏÁö ¾Ê°íCREATE TABLEÄ¿¸Çµå·Î Å×À̺íÀ» ÀÛ¼ºÇßÀ» °æ¿ì, »õ·Î¿î Å×À̺íÀÌ ÀÛ¼ºµÇ´Â ½ºÅ°¸¶À̱⵵ ÇÕ´Ï´Ù.
ÃÖ±Ù °Ë»ö °æ·Î¸¦ ³ªÅ¸³»·Á¸é ´ÙÀ½ÀÇ Ä¿¸Çµå¸¦ »ç¿ëÇÕ´Ï´Ù.
SHOW search_path;
µðÆúÆ®ÀÇ ¼³Á¤¿¡¼´Â ´ÙÀ½°ú °°ÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù.
search_path -------------- "$user",public
ÃÖÃÊ ¿ä¼Ò´Â ÇöÀç À¯Àú¿Í °°Àº À̸§ÀÇ ½ºÅ°¸¶¸¦ °Ë»öÇϵµ·Ï ÁöÁ¤Çϰí ÀÖ½À´Ï´Ù. ±×·¯ÇÑ ½ºÅ°¸¶°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, ÀÌ Ç׸ñÀº ¹«½ÃµË´Ï´Ù. 2¹øÂ°ÀÇ ¿ä¼Ò´Â ¹æ±Ý Àü ¼³¸íÇÑ °ø¿ë ½ºÅ°¸¶¸¦ ÂüÁ¶Çϰí ÀÖ½À´Ï´Ù.
°Ë»ö °æ·Î³»¿¡¼ ÃÖÃÊ·Î Á¸ÀçÇÏ´Â ½ºÅ°¸¶°¡, ½Å±Ô ¿ÀºêÁ§Æ®°¡ ÀÛ¼ºµÇ´Â µðÆúÆ®ÀÇ Àå¼Ò°¡ µË´Ï´Ù. À̰ÍÀÌ, µðÆúÆ®·Î ¿ÀºêÁ§Æ®°¡ °ø¿ë ½ºÅ°¸¶¿¡ ÀÛ¼ºµÇ´Â ÀÌÀ¯ÀÔ´Ï´Ù. ¿ÀºêÁ§Æ®°¡ ½ºÅ°¸¶ ¼ö½Ä¾øÀÌ ´Ù¸¥ ¹®¸ÆÀ¸·Î ÂüÁ¶µÇ´Â °æ¿ì(Å×ÀÌºí °£ÀÇ º¯°æ, µ¥ÀÌÅÍ º¯°æ, ȤÀº Äõ¸® Ä¿¸Çµå µî), ÀÏÄ¡ÇÏ´Â ¿ÀºêÁ§Æ®°¡ ¹ß°ßµÉ ¶§±îÁö °Ë»ö °æ·Î³»¿¡¼ Ž»öµË´Ï´Ù. ±× ¶§¹®¿¡ µðÆúÆ® ±¸¼º¿¡¼´Â ºñ¼ö½ÄÀÇ ¾×¼¼½º´Â °ø¿ë ½ºÅ°¸¶ ¹Û¿¡ ÂüÁ¶ÇÒ ¼ö ¾ø½À´Ï´Ù.
»õ·Î¿î ½ºÅ°¸¶¸¦ °æ·Î¿¡ Ãß°¡ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
SET search_path TO myschema,public;
($user´Â ¾ÆÁ÷ ÇÊ¿äÇÏÁö ¾Ê±â ¶§¹®¿¡, ¿©±â¿¡¼´Â »ý·« Çϰí ÀÖ½À´Ï´Ù. ) ±×¸®°í ´ÙÀ½°ú °°ÀÌ ½ºÅ°¸¶ ¼ö½Ä¾øÀÌ Å×ÀÌºí¿¡ ¾×¼¼½º ÇÕ´Ï´Ù.
DROP TABLE mytable;
¶ÇÇÑ, myschema´Â °æ·ÎÀÇ ÃÖÃÊ ¿ä¼ÒÀ̹ǷÎ, »õ·Î¿î ¿ÀºêÁ§Æ®´Â µðÆúÆ®·Î ¿©±â¿¡ ÀÛ¼ºµË´Ï´Ù.
ÀÌÇÏ¿Í °°ÀÌ ¾µ ¼öµµ ÀÖ½À´Ï´Ù.
SET search_path TO myschema;
ÀÌ¿Í °°ÀÌ Çϸé, ´õÀÌ»ó ¼ö½Ä¸í¾øÀÌ °ø¿ë ½ºÅ°¸¶¿¡ ¾×¼¼½º ÇÒ ¼ö ¾ø°Ô µË´Ï´Ù. °ø¿ë ½ºÅ°¸¶´Â µðÆúÆ®·Î Á¸ÀçÇÑ´Ù°í ÇÏ´Â °Í À̿ܿ¡ Ưº°ÇÑ Àǹ̴ ¾ø½À´Ï´Ù. ´Ù¸¥ ½ºÅ°¸¶¿Í °°ÀÌ »èÁ¦ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
½ºÅ°¸¶ °Ë»ö °æ·Î¸¦ Á¶ÀÛÇÏ´Â ´Ù¸¥ ¹æ¹ýÀº Section 9.19À» ÂüÁ¶ÇØ Áֽʽÿä.
°Ë»ö °æ·Î´Â µ¥ÀÌÅÍÇü¸í, ÇÔ¼ö¸í, ¿¬»êÀÚ¸í¿¡ ´ëÇØ¼µµ, Å×À̺í¸íÀÇ °æ¿ì¿Í °°ÀÌ ±â´ÉÇÕ´Ï´Ù. µ¥ÀÌÅÍÇü ¹× ÇÔ¼öÀÇ À̸§Àº Å×À̺í¸í°ú ¿ÏÀüÈ÷ ¶È°°ÀÌ ¼ö½ÄÇÒ ¼ö ÀÖ½À´Ï´Ù. ½Ä¿¡¼ ¼ö½Ä ¿¬»êÀÚ¸íÀ» ¾²´Â °æ¿ì¿¡´Â Ưº°ÇÑ °áÁ¤ÀÌ ÀÖ½À´Ï´Ù. ±×°ÍÀº ÀÌÇÏ¿Í °°½À´Ï´Ù.
OPERATOR( schema . operator )
ÀÌ ±ÔÄ¢Àº ±¸¹®ÀÌ ¾Ö¸ÅÇÏ°Ô µÇ´Â °ÍÀ» ¸·±â À§ÇÑ °ÍÀÔ´Ï´Ù. ÀÌÇÏ¿¡ ¿¹¸¦ µé¸é,
SELECT 3 OPERATOR(pg_catalog.+) 4;
½ÇÁ¦¿¡¼ ÀÌ·¯ÇÑ º¸±â Èûµç ±¸¹®À» ¾²Áö ¾Ê¾Æµµ µÇµµ·Ï, ¿¬»êÀÚ¿¡ ´ëÇØ¼µµ °Ë»ö °æ·Î°¡ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.
À¯Àú´Â µðÆúÆ®¿¡¼´Â ¼ÒÀ¯Çϰí ÀÖÁö ¾Ê´Â ½ºÅ°¸¶ÀÇ ¿ÀºêÁ§Æ®¸¦ ¾×¼¼½º ÇÒ ¼ö ¾ø½À´Ï´Ù. ¾×¼¼½º Çϱâ À§Çؼ´Â ±× ½ºÅ°¸¶ÀÇ ¼ÒÀ¯ÀڷκÎÅÍ ½ºÅ°¸¶ÀÇUSAGE±ÇÇÑÀ» ºÎ¿©¹ÞÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. ±× ½ºÅ°¸¶³»ÀÇ ¿ÀºêÁ§Æ®¿¡ ´ëÇØ¼ Á¶ÀÛÀ» ½Ç½ÃÇÏ·Á¸é, Ãß°¡ÀûÀÎ ±ÇÇÑÀÌ ÇÊ¿äÇÑ °æ¿ì°¡ ÀÖ½À´Ï´Ù.
´Ù¸¥ À¯ÀúÀÇ ½ºÅ°¸¶ ³»¿¡¼ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÏ´Â Àϵµ °¡´ÉÇÕ´Ï´Ù. °Å±â¿¡´Â ½ºÅ°¸¶¿¡¼ ºÎ¿©µÈ CREATE±ÇÇÑÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù. µðÆúÆ®¿¡¼ public ½ºÅ°¸¶¿¡ °üÇØ¼´Â ¸ðµç À¯Àú°¡CREATE¿Í USAGE±ÇÇÑÀ» °¡Áö°í ÀÖ´Â °ÍÀ» ÁÖÀÇÇϽʽÿä. Áï, ¸ðµç À¯Àú´Â ±× À¯Àú°¡ Á¢¼ÓÇÒ ¼ö ÀÖ´Â ÀÓÀÇÀÇ µ¥ÀÌÅͺ£À̽ºÀÇ public½ºÅ°¸¶¿¡ ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. À̰ÍÀÌ ¹Ù¶÷Á÷ÇÏÁö ¾ÊÀº °æ¿ì´Â ÀÌÇÏ¿Í °°ÀÌ ±ÇÇÑÀ» Ãë¼ÒÇÒ ¼ö ÀÖ½À´Ï´Ù.
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
(ÃÖÃÊÀÇ"public"´Â ½ºÅ°¸¶ÀÔ´Ï´Ù. 2¹øÂ°ÀÇ"public"´Â "¸ðµç À¯Àú"¸¦ ÀǹÌÇÕ´Ï´Ù. ÃÖÃÊÀÇ public´Â ½Äº°ÀÚ·Î, 2¹øÂ°ÀÇ public´Â Ű¿öµåÀ̹ǷÎ, °¢°¢ ¼Ò¹®ÀÚ, ´ë¹®ÀÚ¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù. Section 4.1.1ÀÇ °¡ÀÌµå ¶óÀÎÀ» »ý°¢ÇØ Áֽʽÿä. )
°¢ µ¥ÀÌÅͺ£À̽º¿¡´Â public¹× À¯Àú ÀÛ¼ºÀÇ ½ºÅ°¸¶ ¿Ü¿¡pg_catalog½ºÅ°¸¶°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ ½ºÅ°¸¶¿¡´Â ½Ã½ºÅÛ Å×À̺í°ú ¸ðµç ³»Àå µ¥ÀÌÅÍÇü, ÇÔ¼ö ¹× ¿¬»êÀÚ°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. pg_catalog´Â Ç×»ó °Ë»ö °æ·Î¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. °æ·Î¿¡ ¸í½ÃÀûÀ¸·Î ¸®½ºÆ®µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â °æ·ÎÀÇ ½ºÅ°¸¶¸¦ °Ë»öÇϱâ Àü ¿¡ ¾Ï¹¬ÀûÀ¸·Î °Ë»öµË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ ³»Àå À̸§ÀÌ Ç×»ó °Ë»öµÇ´Â °ÍÀÌ º¸ÁõµË´Ï´Ù. ±×·¯³ª À¯Àú Á¤ÀÇ À̸§À¸·Î ³»ÀåÀÇ À̸§À» µ¡¾²±âÇÏ´Â °æ¿ì´Â pg_catalog¸¦ ¸í½ÃÀûÀ¸·Î °æ·ÎÀÇ ¸¶Áö¸·¿¡ µÑ ¼ö ÀÖ½À´Ï´Ù.
PostgreSQLÀÇ 7.3 ÀÌÀü ¹öÀü¿¡¼ pg_·Î ½ÃÀ۵Ǵ Å×À̺í¸íÀº ¿¹¾àµÇ¾î ÀÖ¾ú½À´Ï´Ù. ±×·¯³ª ÇöÀç´Â º¯°æµÇ¾î ½Ã½ºÅÛ ½ºÅ°¸¶ ÀÌ¿ÜÀÇ ½ºÅ°¸¶¿¡µµpg_·Î ½ÃÀ۵Ǵ À̸§À» ºÙÀÏ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù. ´Ù¸¸, ÀÌ·¯ÇÑ À̸§Àº »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ À¯¸®ÇÏ´Ù°í ¸»ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇâÈÄ ¹öÀü¿¡¼ À¯Àú Å×À̺í°ú °°Àº À̸§ÀÇ ½Ã½ºÅÛ Ä«Å»·Î±×°¡ Á¤ÀǵǾî Ãæµ¹ÇÏ´Â »çŸ¦ ÇÇÇϱâ À§Çؼ ÀÔ´Ï´Ù. (µðÆúÆ® °Ë»ö °æ·Î¸¦ ÅëÇØ À¯ÀúÀÇ Å×À̺í¸í¿¡ ºñ¼ö½ÄÀÇ ÂüÁ¶°¡ ½Ã½ºÅÛ Ä«Å»·Î±×·Î¼ ÇØ°áµÇ°Ô µË´Ï´Ù). ½Ã½ºÅÛ Ä«Å»·Î±×´Â °è¼ÓÇØ¼ pg_·Î ½ÃÀ۵Ǵ ±ÔÄ¢À» µû¸¦ °ÍÀ̹ǷÎ, À¯Àú°¡ pg_ ¶ó°í ÇÏ´Â Á¢µÎ»ç¸¦ »ç¿ëÇÏÁö ¾Ê´Â ÀÌ»ó ºñ¼ö½ÄÀÇ À¯Àú Á¤ÀÇ Å×À̺í¸íÀÌ ½Ã½ºÅÛ Ä«Å»·Î±×¿Í Ãæµ¹ÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
½ºÅ°¸¶´Â ¿©·¯°¡Áö ¹æ¹ýÀ¸·Î µ¥ÀÌÅÍÀÇ Æí¼º¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. µðÆúÆ® ±¸¼ºÀ¸·Î °£´ÜÇÏ°Ô ¼Æ÷Æ®ÇÒ ¼ö ÀÖ´Â ÃßõÀÇ »ç¿ë ÆÐÅÏÀÌ ¸î °³ ÀÖ½À´Ï´Ù.
½ºÅ°¸¶¸¦ ÀÛ¼ºÇÏÁö ¾Ê´Â °æ¿ì´Â ¸ðµç À¯Àú°¡ ¾Ï¹¬¿¡ °ø¿ë ½ºÅ°¸¶¿¡ ¾×¼¼½º ÇÕ´Ï´Ù. À̰ÍÀº ½ºÅ°¸¶¸¦ ÀüÇô »ç¿ëÇÒ ¼ö ¾ø´Â »óȲ°ú °°½À´Ï´Ù. ÀÌ ¼³Á¤Àº ÁÖ·Î, µ¥ÀÌÅͺ£À̽º·Î ÀÛ¾÷ÇÏ´Â ÀοøÀÌ 1¸í ¶Ç´Â 2, 3¸í ¹Û¿¡ ¾ø´Â °æ¿ì¿¡ ÃßõµË´Ï´Ù. ¶Ç ¼³Á¤¿¡¼ ½ºÅ°¸¶¸¦ ÀνÄÇÏÁö ¾Ê´Â »óȲÀ¸·ÎºÎÅÍ ÀÌÇàÀÌ ¿ëÀÌÇϵµ·Ï ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
°¢°¢ÀÇ À¯Àú¿¡°Ô, À¯Àú¸í°ú °°Àº À̸§ÀÇ ½ºÅ°¸¶¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. µðÆúÆ®ÀÇ °Ë»ö °æ·Î°¡$user·Î ½ÃÀ۵Ǵ °ÍÀ» »ý°¢ÇØ Áֽʽÿä. À̰ÍÀº À¯Àú¸íÀ¸·Î ÇØ°áµË´Ï´Ù. Áï, °¢ À¯Àú°¡ °³º°ÀûÀÎ ½ºÅ°¸¶¸¦ °¡Áö°í ÀÖÀ¸¸é, µðÆúÆ®·Î °¢°¢ÀÇ ½ºÅ°¸¶¿¡ ¾×¼¼½º ÇÏ°Ô µË´Ï´Ù.
ÀÌ ¼³Á¤À» »ç¿ëÇÏ´Â °æ¿ì´Â °ø¿ë ½ºÅ°¸¶·ÎÀÇ Á¢±ÙÀ» Ãë¼ÒÇϰí(¶Ç´Â ½ºÅ°¸¶¸¦ »èÁ¦ÇØ), À¯Àú°¡ ¿ÏÀüÈ÷ ÀÚ½ÅÀÇ ½ºÅ°¸¶ ¹Û¿¡ ¾×¼¼½º ÇÒ ¼ö ¾ø°Ô ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
°øÀ¯ ¾îÇø®ÄÉÀ̼Ç(°øÀ¯·Î »ç¿ëÇÏ´Â Å×À̺í, Á¦ 3ÀÚ°¡ Á¦°øÀÇ Ãß°¡ ÇÔ¼ö µî)À» ¼³Ä¡ÇÏ·Á¸é , °¢°¢ ´Ù¸¥ ½ºÅ°¸¶¿¡ ³Öµµ·Ï ÇØ Áֽʽÿä. ¶Ç ´Ù¸¥ À¯Àú°¡ À̰͵鿡 ¾×¼¼½º ÇÒ ¼ö ÀÖµµ·Ï ÀûÀýÇÑ ±ÇÇÑÀ» ºÎ¿©ÇÏ´Â °ÍÀ» ÀØÁö ¸»¾Æ Áֽʽÿä. °Å±â¿¡ µû¶ó ´Ù¸¥ À¯Àú´Â Ãß°¡ÀÇ ¿ÀºêÁ§Æ®¸¦ ½ºÅ°¸¶·Î ¼ö½ÄÇÏ´Â °Í¿¡ ÀÇÇØ ÂüÁ¶Çϵµ·Ï Èñ¸ÁÇÑ´Ù¸é, ½ºÅ°¸¶¸¦ °¢°¢ÀÇ °Ë»ö °æ·Î¿¡ Ãß°¡Çϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ç¥ÁØ SQL¿¡¼´Â ´Ù¸¥ À¯Àú°¡ ¼ÒÀ¯ÇÏ´Â °°Àº ½ºÅ°¸¶ÀÇ ¿ÀºêÁ§Æ®¶ó´Â °³³äÀº Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. ±× »Ó¸¸ ¾Æ´Ï¶ó, ½ÇÇà¿¡ µû¶ó¼´Â ¼ÒÀ¯ÀÚ¿Í ´Ù¸¥ À̸§ÀÇ ½ºÅ°¸¶¸¦ ÀÛ¼ºÇÏ´Â °ÍÀÌ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ìµµ ÀÖ½À´Ï´Ù. ½ÇÁ¦, Ç¥ÁØÀ¸·Î ±ÔÁ¤µÇ°í ÀÖ´Â ±âº» ½ºÅ°¸¶ ¼Æ÷Æ®¸¸À» ½ÇÇàÇϰí ÀÖ´Â µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡¼´Â ½ºÅ°¸¶¶ó°í ÇÏ´Â °³³ä°ú À¯Àú¶ó°í ÇÏ´Â °³³äÀº °ÅÀÇ °°½À´Ï´Ù. ±× ¶§¹®¿¡, ¼ö½Ä¸íÀÌ username . tablename ÀÇ ±¸¼ºÀ̶ó°í »ý°¢ÇÏ´Â À¯Àú°¡ ¸¹ÀÌ ÀÖ½À´Ï´Ù. PostgreSQL¿¡ ´ëÇØµµ, À¯Àú¸¶´Ù 1°³ÀÇ ½ºÅ°¸¶¸¦ ÀÛ¼ºÇϸé, ÀÌ¿Í °°ÀÌ µË´Ï´Ù.
¶ÇÇÑ, Ç¥ÁØ SQL¿¡´Â public½ºÅ°¸¶¶ó°í ÇÏ´Â °³³äµµ ¾ø½À´Ï´Ù. Ç¥ÁØ¿¡ ÃÖ´ëÇÑ µû¸£±â À§Çؼ´Â public½ºÅ°¸¶´Â »ç¿ëÇØ¾ß ÇÏÁö´Â ¾Ê½À´Ï´Ù(¾Æ¸¶ »èÁ¦ÇÏ´Â °ÍÀÌ ÁÁÀ»Áöµµ ¸ð¸¨´Ï´Ù).
¹°·Ð, ½ºÅ°¸¶¸¦ ÀüÇô ½ÇÇàÇÏÁö ¾Ê±âµµ Çϰí, ¶Ç´Â µ¥ÀÌÅͺ£À̽º°£ ¾×¼¼½º¸¦(°æ¿ì¿¡ µû¶ó¼´Â Á¦ÇѵǾî) Á¦°øÇϵµ·Ï Çã°¡ÇÏ´Â À̸§ °ø°£ÀÇ »ç¿ëÀ» ¼Æ÷Æ®ÇÏ´Â SQL µ¥ÀÌÅͺ£À̽ºµµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ½Ã½ºÅÛÀ¸·Î ÀÛ¾÷ÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì´Â ½ºÅ°¸¶¸¦ ÀüÇô »ç¿ëÇÏÁö ¾Ê°Ô ÇÏ´Â °ÍÀ¸·Î ÃÖ´ëÇÑÀÇ À̽ļºÀ» ½ÇÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.