|   1. µé¾î°¡¸é¼ 
                Áö³ ½Ã°£¿¡´Â PostgreSQLÀÇ ¼³Ä¡¿Í °£´ÜÇÑ Å×½ºÆ®¿¡ 
                À̾î, PostgreSQLÀÇ »ç¿ëÀ» µµ¿ÍÁÖ´Â ¿ÜºÎ ¸í·É¾î¸¦ »ìÆìº¸¾Ò´Ù. 
                À̹ø ½Ã°£¿¡´Â PostgreSQL¿¡¼ Á¦°øÇÏ´Â µ¥ÀÌÅÍ Å¸ÀÔ°ú µ¥ÀÌÅͺ£À̽º 
                ÁúÀǾîÀÎ SQL¿¡ ´ëÇØ¼ »ìÆìº¸°Ú´Ù.  PostgreSQL¿¡¼ÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀº »ó´çÈ÷ ¸¹°í 
                ÆøÀÌ ³Ð´Ù. »ý°¢µµ ÇÏÁö ¸øÇÑ µíÇÑ µ¥ÀÌÅÍ Å¸ÀÔµéÀÌ ÀÖÀ¸¸ç, °øÇпëÀ̳ª 
                º¹ÀâÇÑ ±âÇÏÇÐ ¿ëµµ·Î »ç¿ëµÉ ¹ýÇÑ µ¥ÀÌÅÍ Å¸ÀԵ鵵 Áغñ¿Ü¾î ÀÖ´Ù. 
                ¹°·Ð, ÀÌ·¯ÇÑ µ¥ÀÌÅÍ Å¸ÀÔÁ¶Â÷µµ »ç¿ëÀÚ ¸¶À½´ë·Î Á¤ÀÇÇÏ¿© »ç¿ëÇÒ 
                ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ±×¸®°í SQL ÁúÀǾ ¸¶Âù°¡Áö·Î È®À强ÀÌ 
                ¶Ù¾î³ª´Ù. »ç½Ç, PostgreSQL 6.2¿¡¼ »õ·Ó°Ô Áö¿øÇÏ´Â Çʵå Á¦ÇÑ, 
                º¸Ãæ ±â´Éµé°ú Æ®¸®°Å ±â´ÉÀº ÀÌÀü ¹öÀü¿¡¼µµ PostgreSQLÀÇ SQLÈ®ÀåÀ» 
                »ç¿ëÇÏ¿© ÇØ°áÇÒ ¼ö ÀÖ¾ú´Ù. ÀÌÁ¦ º»°ÝÀûÀ¸·Î PostgreSQLÀÇ ±â´ÉµéÀ» 
                ¸¶À½²¯ ´©·Á º¸µµ·Ï ÇÏÀÚ.
   2. µ¥ÀÌÅÍ Å¸ÀÔ   1) ±âº» µ¥ÀÌÅÍ Å¸ÀÔ
 
                
                        
                            | abstime   : 
                             Àý´ë ³¯Â¥¿Í ½Ã°£aclitem    : 
                             ¿¢¼¼½º Á¦¾î ¸ñ·Ï ¾ÆÀÌÅÛ
 bool        : 
                             ºÎ¿ï·±(³í¸®) °ª
 box         : 
                             2Â÷¿ø »ç°¢Çü
 bpchar     : 
                             °ø¹é ä¿ò ¹®ÀÚ
 bytea       : 
                             °¡º¯±æÀÌÀÇ ¹ÙÀÌÆ® ¹è¿
 char        : 
                             ¹®ÀÚ
 char2      : 
                             2 ¹®ÀÚÀÇ ¹è¿
 char4      : 
                             4 ¹®ÀÚÀÇ ¹è¿
 char8      : 
                             8¹®ÀÚÀÇ ¹è¿
 char16     : 
                             16¹®ÀÚÀÇ ¹è¿
 cid          : 
                             ¸í·É ½Äº° ŸÀÔ
 date        : 
                             ANSI SQL µ¥ÀÌÅÍ Å¸ÀÔ
 datetime  : 
                             ¹ü¿ë ³¯Â¥¿Í ½Ã°£
 filename  :  °Å´ë 
                            °´Ã¼ÀÇ ÆÄÀÏÀ̸§
 int2         : 
                             ºÎÈ£ÀÖ´Â 2¹ÙÀÌÆ® Á¤¼ö
 int28       : 
                             int2ÀÇ 8 ¹è¿
 int4         : 
                             ºÎÈ£ÀÖ´Â 2¹ÙÀÌÆ® Á¤¼ö
 float4      : 
                             ´ÜÁ¤µµ ºÎµ¿¼Ò¼ö
 float8      : 
                             ¹èÁ¤µµ ºÎµ¿¼Ò¼ö
 lseg        : 
                             2Â÷¿ø ¼± ±¸°£
 money     : 
                             °íÁ¤ Á¤¹Ðµµ¸¦ °¡Áö´Â ½ÊÁø¼ö ŸÀÔ
 name 
                                 :  ÀúÀå ½Ã½ºÅÛ 
                            ½Äº°ÀÚ¸¦ À§ÇÑ ´ÙÁß ¹®ÀÚ Å¸ÀÔ
 oid         : 
                             °´Ã¼ ½Äº°ÀÚ Å¸ÀÔ
 oid8        : 
                             oidÀÇ 8 ¹è¿
 oidchar16  :  oid 
                            ¿Í char16ÀÇ Á¶ÇÕ
 oidint2    : 
                             oid ¿Í int2ÀÇ Á¶ÇÕ
 oidint4    : 
                             oid ¿Í int4ÀÇ Á¶ÇÕ
 path        : 
                             ¿·È°Å³ª ´ÝÇôÁø ¼± ±¸°£
 point       : 
                             2Â÷¿ø ±âÇÏÇÐ Á¡
 polygon  :  2Â÷¿ø 
                            ´Ù°¢Çü (´ÝÇôÁø path¿Í µ¿ÀÏ)
 circle      : 
                             2Â÷¿ø ¿ø (Áß½ÉÁ¡°ú ¹Ý°æ)
 regproc   : 
                             µî·ÏµÈ ÇÁ·Î½ÃÀú
 reltime     : 
                             »ó´ë ³¯Â¥¿Í ½Ã°£ °£°Ý
 smgr       : 
                             ÀúÀå °ü¸®ÀÚ
 text         : 
                             °¡º¯±æÀÌÀÇ ¹®ÀÚ ¹è¿
 tid          : 
                             Æ©Çà ½Äº°ÀÚ Å¸ÀÔ
 time        : 
                             ANSI SQL ½Ã°£ ŸÀÔ
 timespan  :  ¹ü¿ë 
                            ½Ã°£ °£°Ý
 timestemp  :  Á¦ÇÑ ¹üÀ§ 
                            ISOÇü½ÄÀÇ ³¯Â¥¿Í ½Ã°£
 tinterval   : 
                             ½Ã°£ °£°Ý(Àý´ë½ÃÀ۽ð¢°ú Àý´ëÁ¾·á½Ã°¢)
 varchar    :  °¡º¯±æÀÌÀÇ ¹®ÀÚµé
 xid           : 
                             Æ®·£Àè¼Ç ½Äº°ÀÚ Å¸ÀÔ
 |    2) SQL/92¿Í PostgreSQL ÀÇ ºñ±³ 3) ³¯Â¥/½Ã°£ µ¥ÀÌÅÍ Å¸ÀÔ 
                À§¿¡¼ ³ª¿ÇÑ ³¯Â¥/½Ã°£ µ¥ÀÌÅÍ¿¡ ´ëÇØ¼ Àá±ñ 
                »ìÆìº¸ÀÚ datetimeÀÌ µ¥ÀÌÅÍ Å¸ÀÔÀº ¹ü¿ë ³¯Â¥/½Ã°£Å¸ÀÔÀ¸·Î ´Ù¾çÇÑ ÇüÅÂÀÇ ÀÔ·ÂÀ» 
                Çã¿ëÇÑ´Ù. ÀÔ·Â ÇüÅ´ ISOȣȯ, SQL ȣȯ, PostgreSQL ¹æ½ÄÀÌ µÉ 
                ¼ö ÀÖ´Ù. Ãâ·ÂÇüÅ´ set ¸í·ÉÀ» »ç¿ëÇÏ¿© ´Ù¾çÇÏ°Ô Á¶ÀýÇÒ ¼ö ÀÖ´Ù. 
                datetime ŸÀÔÀº ´ÙÀ½ÀÇ ¹®¹ýÀ» »ç¿ëÇÑ´Ù.
 
 
                        
                            | ³â-¿ù-ÀÏ [½Ã:ºÐ:ÃÊ] 
                                   [AD, BC] 
                             [Timezone]    ³â¿ùÀÏ [½Ã:ºÐ:ÃÊ] 
                                   [AD, BC] 
                             [Timezone]       ¿ùÀÏ 
                            [½Ã:ºÐ:ÃÊ]³â     [AD, BC] 
                             [Timezone] |    
                À¯È¿ÇÑ ³¯Â¥´Â Nov 13 00:00:00 4013 BC GMT¿¡¼ 
                ¹Ì·¡±îÁöÀÌ´Ù. ½Ã°£ Áö´ë´Â GMT, PST, KST ¿Í °°Àº ¼¼¹®ÀÚÂ¥¸®ÀÌ´Ù. 
                ½Ã°£Àº GMT(Greenwich Mean Time) ·Î ÀúÀåµÇ¸ç, ÀÔÃâ·Â ÇÔ¼ö´Â À̵é 
                ½Ã°£À» ¼¹öÀÇ Áö¿ª½Ã°£À¸·Î º¯È¯ÇÑ´Ù. ±×¸®°í °ª ÁöÁ¤½Ã¿¡ 
                current, infinity, -infinityÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
 current´Â °ªÀÌ °è»ê µÉ ¶§ÀÇ ÇöÀç ½Ã°£À̸ç, 
                infinity´Â À¯È¿ ½Ã°£ ÀÌÈĸ¦ ¸»Çϸç, -infinity´Â À¯È¿½Ã°£ ÀÌÀüÀ» 
                ¶æÇÑ´Ù. ±× ¿Ü¿¡µµ now, today, yesterday, tomorrow, epoch¸¦ »ç¿ëÇÒ 
                ¼ö ÀÖ´Ù. current´Â Ç×»ó °è»ê ÇöÀç½Ã°£À¸·Î º¯°æµÇÁö¸¸ now, today 
                µîÀº ¹Ù·Î °è»êµÇ¾î »ó¼ö·Î ÀúÀåµÈ´Ù´Â Á¡¿¡¼ ´Ù¸£´Ù. epoch´Â 
                jan 1 00:00:00 1970 GMTÀ» À̾߱âÇÑ´Ù.
 
                        
                            | mydb=> create 
                            table test_datetime (dt datrtime);CREATE
 mydb=> insert into test_datetime values ('1997-11-24 
                             21:17:00  KST);
 INSERT 535342 1
 mydb=> select *from test_datetime;
 dt
 -----------------
 Mon Nov 24 21:17:00 1997 KAT
 (1 row)
 mydb=> ¡¬h setCommand: 
                            set
 Description: set run-time environment
 Syntax:
 set DateStyle to {'ISO' | 'SQL' | 'Postgres' 
                            | 'European' | 'US' | 'NonEuropean'}
 set GEQO 
                            to {'ON[=#]' | 'OFF'}
 set R_PLANS to {'ON'| 
                            'OFF'}
 mydb=>set DateStyle to 'SQL' 
                            ;SET VARIABLE
 mydb=> select *from test_datetime;
 dt
 ------------------
 11/24/1997 21:17:00.00 
                            KST
 (1 row)
 |    timespantimespanÀº 
                ¹ü¿ë ½Ã°£°£°Ý µ¥ÀÌÅÍ Å¸ÀÔÀÌ´Ù. datetime°ú ¸¶Âù°¡Áö·Î Ãâ·ÂÇü½ÄÀº 
                set ¸í·ÉÀ¸·Î ´Ù¾çÇÏ°Ô ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ÀÔ·ÂÇü½ÄÀº ´ÙÀ½°ú °°´Ù.
 
 
                        
                            | Quantity Unit [Quantity Unit...] 
                            [Direction] |    Direction ¿¡´Â ago¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. 
 
                        
                            | mydb=> create 
                            table test_timespan (tt timespan);CREATE
 mydb=> insert into test_timespan values ('-10 
                            hour');
 INSERT 535357 1
 mydb=> select 
                            *from test_timespan;
 tt
 ----------------
 @ 10 hours ago
 (1 row)
 |    abstimeÀý´ë 
                ½Ã°£(abstime Æ÷ÇÔ)Àº Á¦ÇÑµÈ ¹üÀ§(+/-68 ³â)¿Í  ÃÊ´ÜÀ§±îÁö 
                ÀúÀåÇÒ ¼ö ÀÖ´Â ³¯Â¥ ŸÀÔÀÌ´Ù. Àý´ë ½Ã°£Àº ´ÙÀ½ÀÇ Çü½ÄÀ» µû¸¥´Ù.
 
 
                        
                            | Month Day [Hour 
                            : Minute : Second] Year [Timezone] |    À¯È¿³¯Â¥ ¹üÀ§´Â Dec 13 20:45:53 1901 GMT¿¡¼ 
                Jan 19 03:14:04 2038 GMT ±îÁö À̸ç, ÀÔÃâ·Â ·çƾÀº ±âº»ÀûÀ¸·Î 
                Áö¿ª½Ã°£Áö´ë¸¦ µû¸¥´Ù.  
 
                        
                            | mydb=> create 
                            table test_abstime (ta abstime);CREATE
 mydb=> insert into test_abstime values ('11 25 
                            23:33:25 1997 PST');
 INSERT 535372 1
 mydb=> 
                            select *from test_abstime;
 tt
 ----------------
 11/26/1997 16:33:25.00 KST
 (1 row)
 |    reltime »ó´ë½Ã°£µµ ±âº»ÀûÀ¸·Î Àý´ë ½Ã°£°ú À¯»çÇÏ´Ù. 
                ½Ã°£ÀÇ ¹üÀ§´Â +/-68³âÀ̸ç, Á¤¹Ðµµ´Â ÃÊ´ÜÀ§±îÁöÀÌ´Ù. Çü½ÄÀº ´ÙÀ½°ú 
                °°´Ù.
 
                        
                            | @ Quantity Unit 
                            [Direction] |  
 
                        
                            | mydb=> create 
                            table test_reltime (tr reltime);CREATE
 mydb=> insert into test_reltime values ('@10 
                            day ago');
 INSERT 535387 1
 mydb=> select 
                            *from test_reltime ;
 tr
 ----------------
 @10 day ago
 (1 row)
 |    4) ±âÇÏÇÐ µ¥ÀÌÅÍ Å¸ÀÔ 
                point Æò¸é¿¡¼ 
                ÇϳªÀÇ Á¡À» ³ªÅ¸³¾ ¶§ »ç¿ëµÇ´Â µ¥ÀÌÅÍ Å¸ÀÔÀÌ´Ù.
 µ¥ÀÌÅÍ 
                Çü½ÄÀº ´ÙÀ½°ú °°´Ù.
 
   x¿Í y´Â °¢°¢ Æò¸é¿¡¼ xÃà, yÃà °ªÀ» ³ªÅ¸³»´Â 
                ºÎµ¿ ¼Ò¼öÀÌ´Ù.
 
                        
                            | mydb=> create 
                            table test_point (p point);CREATE
 mydb=> 
                            insert into test_point values ('128, 215');
 INSERT 535438 1
 mydb=> insert into test_point 
                            values ('512, 640');
 INSERT 535439 1
 mydb=> 
                            insert into test_point values ('978.25, 1075.103');
 INSERT 535440 1
 mydb=> select *from test_point 
                            ;
 p
 ----------------
 (128, 215)
 (512, 640)
 (978.25, 1075.103)
 (3 rows)
 |    lseg¼± ±¸°£Àº 
                Á¡ µÎ °³·Î ±¸¼ºµÈ´Ù. lseg µ¥ÀÌÅÍ Å¸ÀÔÀº ´ÙÀ½ Çü½ÄÀ¸·Î ÁöÁ¤ÇÑ´Ù.
 
 
                        
                            | ((x1, y1) , (x2, 
                            y2))(x1, y1) , (x2, y2)
 x1, 
                            y1  ,  x2, y2
 |    (x1, y1)¿Í (x2, y2)´Â ¼±±¸°£ÀÇ ³¡Á¡ÀÌ´Ù. 
 
                        
                            | mydb=> create 
                            table test_lseg (line lseg);CREATE
 mydb=> 
                            insert into test_lseg values ('0,0,480,640');
 INSERT 535455 1
 mydb=> insert into test_lseg 
                            values ('(640,0), (0,480)');
 INSERT 535456 1
 mydb=> select *from test_lseg ;
 line
 ----------------
 [(0,0),(480,640)]
 [(640,0),(0,480)]
 (2 rows)
 |    boxbox µ¥ÀÌÅÍ 
                ŸÀÔÀº µÎ °³ÀÇ Á¡À¸·Î ±¸¼ºµÈ´Ù. Áï, µÎ Á¡À» ¹Ý´ëÂÊ ²ÀÁöÁ¡À¸·Î 
                ÇÏ´Â »ç°¢ÇüÀ» ±¸¼ºÇÏ´Â °ÍÀÌ´Ù.
 boxÀÇ Çü½ÄÀº ´ÙÀ½°ú °°´Ù.
 
 
                        
                            | ((x1, y1) , (x2, 
                            y2))(x1, y1) , (x2, y2)
 x1, 
                            y1  ,  x2, y2
 |  
 
                        
                            | mydb=> create 
                            table test_box (»ç°¢Çü box);CREATE
 mydb=> 
                            insert into test_box values ('0,0,640,480');
 INSERT 535471 1
 mydb=> select *from test_box 
                            ;
 »ç°¢Çü
 ----------------
 (640,480),(0,0)
 (1 row)
 |    pathpath 
                µ¥ÀÌÅÍ Å¸ÀÔÀº Á¡ÀÇ ÁýÇÕÀ¸·Î ±¸¼ºµÈ´Ù. ù ¹øÂ° Á¡°ú  ¸¶Áö¸· 
                Á¡ÀÌ À̾îÁöÁö ¾Ê´Â´Ù¸é °æ·Î(path)´Â open ÀÌ µÇ°í, À̾îÁø´Ù¸é 
                close °¡ µÈ´Ù. popen(p) ¿Í pclose(p)ÇÔ¼ö´Â pathµ¥ÀÌÅÍÇü p¸¦ 
                °Á¦·Î openÇϰųª close »óÅ·Π¸¸µç´Ù. isopen(p)¿Í isclosed(p) 
                ÇÔ¼ö´Â ÁúÀǾ¼ µÑ Áß Çϳª¸¦ ¼±ÅÃÇϵµ·Ï ÇÑ´Ù.
 path µ¥ÀÌÅÍÀÇ ÀÔ·Â Çü½ÄÀº ´ÙÀ½ Áß Çϳª¸£ »ç¿ëÇÒ 
                ¼ö ÀÖ´Ù. 
 
                        
                            | ((x1, y1) , ... 
                            , (xn, yn))[(x1, y1) , ... , (xn, yn)]
 (x1, y1) , ..., (xn, yn)
 (x1, y1  , ..., xn, yn)
 x1, y1  , ..., xn, yn
 |  (x1, y1) , ..., (xn, yn)Àº 
                 1¿¡¼ n ±îÁöÀÇ  Á¡ÀÌ´Ù.
 "["´Â ¿·ÁÁø 
                °æ·Î¸¦ ³ªÅ¸³½´Ù.
 "("´Â ´ÝÇôÁø °æ·Î¸¦ ³ªÅ¸³½´Ù.
   
                 
                        
                            | mydb=> create 
                            table test_path (±æ path);CREATE
 mydb=> 
                            insert into test_path values ('((10,10),(10,20),(20,30),(30,20),(30,10))');
 INSERT 535486 1
 mydb=> insert into test_path 
                            values ('[(10,10),(10,20),(20,30),(30,20),(30,10)]');
 INSERT 535487 1
 mydb=> select *from test_path 
                            ;
 ±æ
 ----------------
 ((10,10),(10,20),(20,30),(30,20),(30,10))
 [(10,10),(10,20),(20,30),(30,20),(30,10)]
 (2 
                            row)
 mydb=> select isopen(±æ) from 
                            test_pathisopen
 ----
 f
 t
 (2 
                            rows)
 |    polygon´Ù°¢Çü(polygon)µµ 
                path¿Í ¸¶Âù°¡Áö·Î ¿©·¯ °³ÀÇ Á¡À¸·Î ±¸¼ºµÈ´Ù. ´Ù°¢ÇüÀº ´ç¿¬È÷ 
                ´ÝÇôÁö´Â °ÍÀ» ±âº»À¸·Î ÇØ¾ß ÇÑ´Ù. À̰͸¸ Á¦¿ÜÇϸé, µ¥ÀÌÅÍ ÀÔ·Â 
                Çü½ÄÀº path¿Í µ¿ÀÏÇÏ´Ù.
 circle¿øÀº 
                Áß½ÉÁ¡°ú ¹ÝÁö¸§À¸·Î ±¸¼ºµÈ´Ù. Çü½ÄÀº ´ÙÀ½ Áß Çϳª¸¦ »ç¿ë ÇÒ 
                ¼ö ÀÖ´Ù.
 
 
                        
                            | <(x, y), r 
                            >((x, y), r )
 (x, 
                            y), r
 x, y, r
 |    (x, y)´Â ¿øÀÇ Áß½ÉÁ¡À̰í rÀº ¹ÝÁö¸§ÀÌ´Ù.    
                 
                        
                            | mydb=> create 
                            table test_circle (¿ø circle);CREATE
 mydb=> 
                            insert into test_circle values ('0,0, 100');
 INSERT 535502 1
 mydb=> select *from test_circle 
                            ;
 ¿ø
 ----------------
 <(0,0), 100>
 (1 row)
 |  Áö±Ý±îÁö µ¥ÀÌÅÍ Å¸ÀÔÀ» »ìÆì º¸¾Ò´Ù. À̵éÀº 
                PostgreSQL 6.2 ±âÁØÀÌ´Ù. path ³ª polygon, circle µîÀº PostgreSQL 
                ¹öÀü¿¡ µû¶ó Á¶±Ý ´Ù¸¥Á¡ÀÌ ÀÖÀ¸¹Ç·Î ÁÖÀÇ ÇÏ¿©¾ß ÇÑ´Ù. ÀÌÁ¦ 
                PostgreSQL¿¡ ³»ÀåµÇ¾î ÀÖ´Â ¿ÀÆÛ·¹ÀÌÅ͸¦ »ìÆìº¸ÀÚ. Á¶±Ý Áö°ã´õ¶óµµ 
                ±âÃʸ¦ ưưÈ÷ ÇÏ´Ùº¸¸é ³ªÁß¿¡ ½á¸èÀ» ‹š°¡ ¹Ýµå½Ã ÀÖÀ» °ÍÀÌ´Ù. 
                ±×¸®°í ÀÚ¼¼È÷ ¾Ë¾ÆµÎ´Â °úÁ¤¿¡¼ PostgreSQL°¡ ¾ÆÁÖ Àç¹ÌÀÖ´Ù´Â 
                °ÍÀ» ´À³¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
   3. ³»Àå ¿ÀÆÛ·¹ÀÌÅÍ¿Í ÇÔ¼ö   1)¿ÀÆÛ·¹ÀÌÅÍ 
                PostgreSQL ´Â Á¤¸» ¸¹Àº ¾çÀÇ ³»Àå ¿ÀÆÛ·¹ÀÌÅ͸¦ 
                Á¦°øÇÑ´Ù. ÀÌµé ¿ÀÆÛ·¹ÀÌÅÍ´Â pg_operator ½Ã½ºÅÛ Ä«Å»·Î±×¿¡ ÇØ´ç 
                ¿ÀÆÛ·¹ÀÌÅ͸¦ ±¸ÇöÇÏ´Â ÇÁ·Î½ÃÀúÀÇ °´Ã¼ ID¿Í ÇÔ²² Á¤ÀǵǾî ÀÖ´Ù. 
                
 
                        
                            | mydb=>select 
                            count(*) from pg_operator:count
 -----
 488
 (1 row)
 |    488°³ÀÇ ¿ÀÆÛ·¹ÀÌÅͰ¡ ³»ÀåµÇ¾î ÀÖÀ½À» ¾Ë ¼ö 
                ÀÖ´Ù. ³ªÁß¿¡ ¿ÀÆÛ·¹ÀÌÅ͸¦ Á¤ÀÇÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÒ ¶§ ¾Ë ¼ö ÀÖ°ÚÁö¸¸, 
                PostgreSQL ¿¡¼´Â ´ë»ó °´Ã¼ ŸÀÔ¿¡ µû¶ó ¿ÀÆÛ·¹ÀÌÅͰ¡ ´Ù¸¥ Àǹ̸¦ 
                °¡Áø´Ù. Áï '<' ¿ÀÆÛ·¹ÀÌÅͶó ÇÏ´õ¶óµµ ¿©·¯ µ¥ÀÌÅÍ Å¸ÀÔ¿¡ ÀÛµ¿Çϵµ·Ï 
                ÇÒ ¼ö ÀÖÀ¸¸ç, ÀÌ °æ¿ì¿¡´Â PostgreSQL ¿¡ ÇØ´ç µ¥ÀÌÅÍ Å¸ÀÔÀÌ Á¤ÀǵǾî 
                Àְųª, »ç¿ëÀÚ°¡ Á¤ÀÇÇÏ¿©¾ß ÇÑ´Ù. Áï, Çü½ÄÀûÀ¸·Î´Â '>'¿Í 
                °°Àº ¿ÀÆÛ·¹ÀÌÅÍ ¸ð¾çÀ» ¶çÁö¸¸, ½ÇÁ¦ÀûÀ¸·Î´Â ¾ÕµÚÀÇ ´ë»ó µ¥ÀÌÅÍ 
                ŸÀÔÀ» ÂüÁ¶ÇÏ¿© ÀÌ¿¡ ¸Â´Â ÇÁ·Î½ÃÀú¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ´Ù.  ÀϹÝÀûÀ¸·Î´Â ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÒ °ÍÀÌ´Ù. 
 
                        
                            | select * from 
                            emp where salary <40000; |    ¹Ý´ë·Î ¿ÀÆÛ·¹ÀÌÅ͸¦ ±¸ÇöÇÏ´Â ÇÔ¼ö¸¦ Á÷Á¢ È£ÃâÇÒ 
                ¼öµµ ÀÖ´Ù. ÀÌ °æ¿ì¿¡ À§ÀÇ ÁúÀǾî´Â ´ÙÀ½°ú °°´Ù.
 
 
                        
                            | select * from 
                            emp where int4lt(salary, 40000); |    ÀÌµé ¿ÀÆÛ·¹ÀÌÅÍ¿Í ÇÁ·Î½ÃÀú ¸ñ·ÏÀº 'man pgbuiltin' 
                ¸í·ÉÀ¸·Î Âü°í Çϱ⸦ ¹Ù¶ó°í, ¿©±â¼´Â °£´ÜÇÑ È°¿ë ¿¹¸¦ º¸À̰ڴÙ. 
                µÎ Á¡ »çÀÌÀÇ °Å¸®¸¦ ±¸ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.
 
 
                        
                            | mybd=>select 
                            '25,25' ::point<-> '0,0' ::point as distance;distance
 -------------
 35.3553390593274
 (1 row)
 |    ¿©±â¿¡¼ ¸í½ÃÀûÀÎ Çüº¯È¯À» Çϱâ À§ÇØ '::' 
                ±âÈ£¸¦ »ç¿ëÇÏ¿´´Ù. <->¿ÀÆÛ·¹ÀÌÅÍ´Â A¿Í B»çÀÌÀÇ °Å¸®¸¦ 
                ±¸ÇÏ´Â ¿ÀÆÛ·¹ÀÌÅÍÀÌ´Ù. »ç°¢ÇüÀÇ ¹Ú½º°¡ ¼·Î °ãÄ¡´Â°¡µµ 
                ¾Ë¾Æº¼ ¼ö ÀÖ´Ù.
 
 
                        
                            | mybd=>select 
                            '0,0,640,480' ::box &&'400,300,1000,800' 
                            ::box as ¹Ú½º°ãħ¿©ºÎ;¹Ú½º°ãħ¿©ºÎ
 -------------
 t
 (1 row)
 |    ¿øÀÇ Æ÷ÇÔ¿©ºÎµµ ÀÏ»óÀûÀÎ ¿ÀÆÛ·¹ÀÌÅ͸¦ »ç¿ëÇÏ¿© 
                ½±°Ô ¾Ë ¼ö ÀÖ´Ù. ÀÌ¿¡ ÇØ´çÇÏ´Â ÇÁ·Î½ÃÀú°¡ ÀÌ¹Ì ¸¸µé¾îÁ® PostgreSQL 
                ¿¡ ³»ÀåµÇ¾î ÀÖÀ½À» ´Ù½Ã »ó±âÇÏÀÚ.
 
                        
                            | mybd=>select 
                            '0,0,50' ::circle @'0,0,100' ::circle as A´ÂB¿¡Æ÷ÇԵɱî;a´Âb¿¡Æ÷ÇԵɱî
 -------------
 t
 (1 row)
 |    ±× ¿ÜÀÇ À¯¿ëÇÑ ¿©·¯ ¿ÀÆÛ·¹ÀÌÅͰ¡ ÀÖÀ¸¹Ç·Î 
                ¸Ç ÆäÀÌÁö¸¦ Âü°í Çϱ⠹ٶõ´Ù.    2)¿À¶óŬ ȣȯ ÇÔ¼ö 
                ¿ÀÆÛ·¹ÀÌÅÍ¿Í ÇÔ¼ö´Â ¹ÐÁ¢ÇÑ °ü·ÃÀÌ ÀÖ´Ù. ¿ÀÆÛ·¹ÀÌÅÍ´Â 
                ÇÔ¼ö·Î ±¸ÇöµÈ´Ù. ¿©±â¼´Â RDBMS ·Î´Â °¡Àå ¸¹ÀÌ ¾Ë·ÁÁ® ÀÖ´Â ¿À¶óŬȣȯ 
                ÇÔ¼ö¸¦ Àá½Ã »ìÆìº¸±â·Î ÇÑ´Ù. PostgreSQL 6.2¿¡¼ ±¸ÇöµÈ ÇÔ¼ö´Â 
                ´ÙÀ½°ú °°´Ù. À̵é ÇÔ¼ö´Â ¸ðµÎ text µ¥ÀÌÅÍ Å¸ÀÔ¿¡¼ µ¿ÀÛÇÑ´Ù´Â 
                °Í¿¡ ÁÖÀÇÇØ¾ß ÇÑ´Ù. Áï, varchar ¿Í °°Àº µ¥ÀÌÅÍÇü¿¡¼´Â µ¿ÀÛÇÏÁö 
                ¾Ê´Â´Ù.(varchar ÀÏ °æ¿ì¿¡´Â ¸í½ÃÀûÀÎ Çüº¯È¯À» Çϰųª, À̵é ÇÔ¼ö°¡ 
                varchar¸¦ ¹Þ¾ÆµéÀ̵µ·Ï Á¶Ä¡¸¦ ÃëÇØ¾ß ÇÑ´Ù.)
   lower (text)¼Ò¹®ÀÚ·Î º¯È¯ÇÑ´Ù.
 
 
                        
                            | mydb=>select 
                            lower('Linux');lower
 ----
 linux
 (1 row)
 |    upper (text)´ë¹®ÀÚ·Î º¯È¯ÇÑ´Ù.
 
 
                        
                            | mydb=>select 
                            upper('Linux');upper
 ----
 LINUX
 (1 row)
 |    initcao (text)´Ü¾îÀÇ Ã¹±ÛÀÚ¸¦ ´ë¹®ÀÚ·Î º¯È¯Çϰí, ³ª¸ÓÁö´Â ¼Ò¹®ÀÚ·Î ÇÑ´Ù. ´Ü¾î´Â 
                °ø¹é¹®ÀÚ·Î ±¸ºÐÇÑ´Ù.
 
 
                        
                            | mydb=>select 
                            initcap('linux is not trademark');initcap
 ----------------
 Linux is Not Trademark
 (1 row)
 |    lpad (text1, len [,text2])text1 ÀÇ ¿ÞÂÊ¿¡ text2 ¸¦ Àüü±æÀ̰¡ len ÀÌ µÇµµ·Ï 
                ä¿î´Ù. text2 °¡ ¾ø´Ù¸é ±âº»ÀûÀ¸·Î °ø¹é¹®ÀÚ°¡ »ç¿ëµÈ´Ù.
 
 
                        
                            | mydb=>select 
                            lpad('linux', 30, 'world');lpad
 ----------------
 worldworldworldworldworldlinux
 (1 row)
 |    rpad (text1, len [,text2])text1ÀÇ ¿À¸¥ÂÊ¿¡ text2 ¸¦ Àüü±æÀ̰¡ len ÀÌ µÇµµ·Ï 
                ä¿î´Ù. text2 °¡ ¾ø´Ù¸é ±âº»ÀûÀ¸·Î °ø¹é¹®ÀÚ°¡ »ç¿ëµÈ´Ù.
 
 
                        
                            | mydb=>select 
                            rpad('linux', 30, 'world');rpad
 ----------------
 linuxworldworldworldworldworld
 (1 row)
 |    ltrim (text[,set])text ¹®ÀÚ¿¿¡¼ set¹®ÀÚ¿ Áß °¡Àå ¸ÕÀú ³ªÅ¸³ª´Â ¹®ÀÚºÎÅÍ ¸ÅĪµÇ´Â 
                µ¥±îÁö Á¦°ÅÇÏ¿© ¹ÝȯÇÑ´Ù.
 
 
                        
                            | mydb=>select 
                            ltrim('linux world', 'wlinud');ltrim
 ----------------
 x world
 (1 row)
 |    rtrim (text[,set])rtrim Àº ltrim ÀÇ ¹Ý´ëµÇ´Â ÇÔ¼öÀÌ´Ù.
 
 
                        
                            | mydb=>select 
                            rtrim('linux', 'ux');rtrim
 ----------------
 lin
 (1 row)
 |    substr (text, m [,n])text ¹®ÀÚ¿¿¡¼ m ¹øÂ°¿¡¼ n ±æÀÌ ¸¸ÅÀÇ ¹®ÀÚ¿À» µ¹·ÁÁØ´Ù.
 
 
                        
                            | mydb=>select 
                            substr('linux world', 1,5);substr
 ----------------
 linux
 |    translate (text, from, to)text ¹®ÀÚ¿¿¡¼ from ¹®ÀÚ¸¦ ã¾Æ¼ to ·Î ´ëüÇÑ´Ù.
 
 
                        
                            | mydb=>select 
                            translate('ms', 's', '$');translate
 ----------------
 m$
 |      ±× ¿ÜÀÇ ÇÔ¼öµé 
                ±× ¿Ü¿¡ »ç¿ëµÇ´Â ÀϹÝÇÔ¼ö¸¦ »ìÆìº¸µµ·Ï ÇÏÀÚ. Á¤¼ö¸¦ ºÎµ¿¼Ò¼ýÁ¡À¸·Î º¯È¯
 
                        
                            | float8 float8(int)float4 float4(int)
 |    ºÎµ¿¼Ò¼ýÁ¡À» Á¤¼ö·Î º¯È¯
 
                        
                            | int4 int4(float)int2 int2(float)
 |    Àý´ë½Ã°£ °ü·Ã
 
                        
                            | bool           isfinite(abstime) 
                                     abstime 
                            ÀÌ finite ½Ã°£À̸é TRUE¸¦ µ¹·ÁÁØ´Ù. datetime 
                                datetime(abstime)       abstime 
                            À» datetime À¸·Î º¯È¯ÇÑ´Ù.
 |    date °ü·Ã
 
                        
                            | datetime    datetime(date) 
                                        date 
                            ŸÀÔÀ» datetime ŸÀÔÀ¸·Î º¯È¯ÇÑ´Ù. datetime 
                               datetime(date, time)     date 
                            ŸÀÔ°ú time ŸÀÔÀ» datetime À¸·Î º¯È¯ÇÑ´Ù.
 |    datetime °ü·Ã
 
                        
                            | timespan age(datetime,datetime) 
                                ¿¬°ú ¿ùÀÇ Â÷À̸¦ ±¸ÇÑ´Ù. 
                            float8 date_part(text,datetime)         date 
                            ÇʵåÀÇ Æ÷¼ÇÀ» ÁöÁ¤ÇÑ´Ù.
 datetime date_trunc(text,datetime) 
                              date ¸¦ ÁöÁ¤ÇÑ À¯´ÖÀ¸·Î ÀÚ¸¥´Ù.
 bool isfinite(datetime)                     finite 
                            ½Ã°£À̸é TRUE ¸¦ µ¹·ÁÁØ´Ù.
 abstime abstime(datetime) 
                                         abstime 
                            À¸·Î º¯È¯ÇÑ´Ù.
 |    reltime °ü·Ã
 
                        
                            | timespan timespan(reltime) 
                                       timespan 
                            À¸·Î º¯È¯ÇÑ´Ù.  |    time °ü·Ã
 
                        
                            | datetime datetime(date,time) 
                                     datetime 
                            À¸·Î º¯È¯ÇÑ´Ù.  |    box °ü·Ã
 
                        
                            | box    box(point,point) 
                                    Á¡À» 
                            »óÀÚ·Î º¯È¯ÇÑ´Ù. float8 area(box)                  »óÀÚÀÇ 
                            ³ÐÀ̸¦ ±¸ÇÑ´Ù.
 |    
                 
                        
                            | mydb=>select 
                            area(»ç°¢Çü) from test_box;area
 -----
 307200
 300000
 (2 rows)
 |    path °ü·Ã
 
                        
                            | bool   isopen(path) 
                                ¿·ÁÁø °æ·ÎÀ̸é TRUE¸¦ ¹ÝȯÇÑ´Ù. 
                            bool   isclosed(path)   ´ÝÇôÁø 
                            °æ·ÎÀ̸é TRUE¸¦ ¹ÝȯÇÑ´Ù.
 |    circle °ü·Ã
 
                        
                            | circle  circle(point,float8) 
                                   ¿øÀ¸·Î 
                            º¯È¯ÇÑ´Ù. polygon polygon(npts,circle)   ¿øÀ» 
                            npts °³ÀÇ Á¡À» °¡Áö´Â ´Ù°¢ÇüÀ¸·Î º¯È¯ÇÑ´Ù.
 float8 center(circle)              ¿øÀÇ 
                            Áß½ÉÁ¡À» ±¸ÇÑ´Ù.
 float8 radius(circle) 
                                         ¿øÀÇ 
                            ¹ÝÁö¸§À» ±¸ÇÑ´Ù.
 float8 diameter(circle) 
                                     ¿øÀÇ 
                            Á÷°æÀ» ±¸ÇÑ´Ù.
 float8 area(circle) 
                                            ¿øÀÇ 
                            ³ÐÀ̸¦ ±¸ÇÑ´Ù.
 |    
                 
                        
                            | mydb=>select 
                            area(¿ø) from test_circle ;area
 -------------
 31415.9265358979
 7853.98163397448
 (2 rows)
 |    ±âŸ ÅØ½ºÆ® °ü·Ã ÇÔ¼ö
 
                        
                            | text     position(subtext 
                            in text)text ¿¡¼ subtext °¡ ÀÖ´Â À§Ä¡¸¦ µ¹·ÁÁØ´Ù.
 |    
                 
                        
                            | mydb=>select 
                            position('world' in 'linux world');strpos
 -----
 7
 |    4. PostgreSQL ¿¡¼ÀÇ SQL 
                PostgreSQL Àº Ç¥ÁØ SQL ¿¡ ³ª¿À´Â »ó´çÈ÷ ¸¹Àº 
                SQL ¸í·ÉÀ» Á¦°øÇÏÁö¸¸ Á¶±ÝÀÇ ¾àÁ¡ÀÌ ÀÖ´Ù. PostgreSQL 6.2.1 ±îÁö¸¦ 
                ±âÁØÀ¸·Î º¼ ¶§, PRIMARY KEY, UNIQU, FOREIGN KEY, REFERENCES, 
                SUBSELECT, HAVING Àý µîÀ» Áö¿øÇÏÁö ¸øÇϰí ÀÖ´Ù. ¹°·Ð ÀÌ·¯ÇÑ 
                °ÍµéÀº PostgreSQL¿¡¼ ´Ù¸¥ ±â´ÉÀ» »ç¿ëÇÏ¿© ÃæÁ·½Ãų ¼ö ÀÖÁö¸¸, 
                ºÒÆíÇÑ °ÍÀº »ç½ÇÀÌ´Ù. PostgreSQL 6.2 ¿¡ µé¾î¿Í¼ NOT NULL, DEFAULT, 
                CONSTRANT CHECK µîÀ» »õ·Ó°Ô Áö¿øÇϱ⠽ÃÀÛÇÏ¿©, ¿ÃÇØ ¾È¿¡ ¹ßÇ¥µÉ 
                6.3¿¡¼´Â ¿©Áö²¯ Áö¿øÇÏÁö ¸øÇß´ø Ç¥ÁØ SQL ÀÇ ±â´ÉÀ» »õ·Ó°Ô ¸¹ÀÌ 
                Ãß°¡µÉ °ÍÀ¸·Î º¸ÀδÙ. ÀÌÁ¦, PostgreSQL ÀÇ SQL ±â´ÉµéÀ» ÀÚ¼¼ÇÏ°Ô 
                »ìÆìº¸µµ·Ï ÇÏÀÚ. ÁúÀǾ·Î ³ª´©¾î º¸Áö ¾Ê°í °ü·Ã ±â´Éº°·Î ±¸ºÐÇÏ¿© 
                »ìÆìº¸°Ú´Ù.   1) Å×À̺í 
                Å×À̺íÀº DBMS µ¥ÀÌÅͺ£À̽º¿¡¼ °¡Àå ±âº»ÀûÀÎ 
                °³³äÀ¸·Î, ½ÇÁ¦ µ¥ÀÌÅ͵éÀÌ ÀÏÁ¤ÇÑ ÇüŸ¦ ¶ç¸ç °¡½ÃÀûÀ¸·Î ÀúÀåµÇ´Â 
                °÷ÀÌ´Ù. µû¶ó¼ Å×À̺íµéÀ» ¾î¶»°Ô ¸¸µå´À³Ä¿¡ µû¶ó µ¥ÀÌÅͺ£À̽ºÀÇ 
                ¼º´É°ú È¿À²ÀÌ ¹®Á¦°¡ µÈ´Ù. Å×ÀÌºí »ý¼º¹®Á¦¸¦ ±×³É 'ÇÊµå °¡Áö°í 
                ³î±â' ¶ó°í º¸´Â °üÁ¡Àº ±×¸® ÁÁÁö ¾Ê´Ù. ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§ 
                ¼³°è°¡ Áß¿äÇϵíÀÌ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀ» ±¸ÃàÇÒ ¶§¿¡µµ ¼³°è°¡ 
                Áß¿äÇÏ´Ù. Çѹø ¼³°è¸¦ À߸øÇÏ¸é ¿À·£ ½Ã°£µ¿¾È °í»ýÀ» ÇÏ°í ½Ã½ºÅÛ 
                ºñ¿ëÀ» ³¶ºñÇÏÁö¸¸, Çѹø ¼³°è¸¦ Àß ÇØµÎ¸é µÎ°íµÎ°í À̵æÀ» º»´Ù. 
                Áï, µ¥ÀÌÅÍÀÇ ¼ºÁú°ú ÇʵåÀÇ ¼º°Ý, À妽ºÀÇ È°¿ë ¿©ºÎ, Á¦ÇÑ ±ÔÁ¤ 
                µîÀ» Àß ÆÄ¾ÇÇϰí Ȱ¿ëÇÏ¿©¾ß ÇÑ´Ù.  ¸ÕÀú, Å×ÀÌºí »ý¼º¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ.   Å×ÀÌºí »ý¼ºÅ×À̺íÀº CREATE TABLE ¸í·ÉÀ» »ç¿ëÇÏ¿© ¸¸µç´Ù. ¹®¹ýÀº ´ÙÀ½°ú 
                °°´Ù.
 
 
                        
                            | create table classname 
                            (attname type [not null] [default value][, 
                            attname type [default value] [not null]])
 [inherits 
                            ( classname [, classname])]
 [constraint 
                            cname check (test) [, check(test)]]
 [archive 
                            = archive_mode]
 [store 
                            = "smgr_name"]
 [arch_store 
                            = "smgr_name"]
 |    arch_store ´Â »õ·Î¿î Ŭ·¡½º¿¡¼ »ç¿ëÇÒ ÀúÀå 
                ½Ã½ºÅÛÀ» ÁöÁ¤ÇÑ´Ù. store ´Â ÇöÀçÀÇ µ¥ÀÌÅÍ ¹èÄ¡¸¦ Á¦¾îÇϰí, arch_store 
                ´Â ¿ª»çÀûÀÎ µ¥ÀÌÅÍ ¹èÄ¡¸¦ Á¦¾îÇÑ´Ù. arch_store ´Â archive °¡ 
                ÁöÁ¤µÉ ¶§¿¡¸¸ ÁöÁ¤µÉ ¼ö ÀÖ´Ù. store ¿Í arch_store ´Â 'magnetic 
                disk' ¸¸ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç, ±âº» °ªµµ 'magnetic disk' ÀÌ´Ù. 
                 arch_store ´Â none, light, heavy Áß Çϳª°¡ 
                µÉ ¼ö ÀÖ´Ù. ¾µ ÀÏÀÌ ¾øÀ¸´Ï ½Å°æ ¾²Áö ¾Ê¾Æµµ µÈ´Ù.  À§ÀÇ ¹®¹ýÀÌ Á¶±Ý º¹ÀâÇÑ µíÀÌ º¸ÀÌÁö¸¸ »ç½ÇÀº 
                °£´ÜÇÏ´Ù. °¡Àå °£´ÜÇÑ ÇüÅÂÀÇ Å×À̺í Á¤ÀÇ´Â ´ÙÀ½°ú °°´Ù. 
 
                        
                            | CREATE TABLE emppay 
                            (name text,
 wage 
                            float4
 ) ;
 |    NOT NULL °ú DEFAULT, CONSTRAINT¸¦ Ãß°¡ÇÏ¿© 
                ÇØ´ç Çʵ忡 ´ëÇØ Ãß°¡ Á¦¾î¸¦ ÇÏ¿© Å×À̺íÀ» ¸¸µé ¼öµµ ÀÖ´Ù.  Å×À̺í Á¤ÀÇ¿¡¼ INHERITS ´Â »ó¼Ó°ü°è¸¦ ³ªÅ¸³½´Ù. 
                
 
                        
                            | CREATE TABLE emppay 
                            (name text  NOT 
                            NULL,
 wage float4 DEFAULT 
                            10.00
 ) CONSTRAIN empcon CHECK (wage > 5.30 
                            and wage <=30.00),
 CHECK 
                            (name<> ") ;
 |  deppay Å×À̺í(Ŭ·¡½º)Àº ÀÌÁ¦ emppay Å×À̺í(Ŭ·¡½º)ÀÇ 
                name, wage Çʵå(¼Ó¼º)À» Æ÷ÇÔÇÏ°Ô µÈ´Ù. Áï, emppay ·ÎºÎÅÍ »ó¼ÓÀ» 
                ¹Þ°Ô µÇ´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ »ó¼ÓÀº ´Ü¼øÈ÷ Çʵå(¼Ó¼º)À» ½±°í Àϰü¼º 
                ÀÖ°Ô ¸¸µé ¼ö ÀÕ´Ù´Â ÀåÁ¡»Ó¸¸ÀÌ ¾Æ´Ï¶ó, »ó¼Ó ¼Ó¼ºÀ» ÀÌ¿ëÇÏ¿© 
                µ¥ÀÌÅͰü¸®¸¦ Á¶¸®ÀÖ°Ô(°´Ã¼ÁöÇâÀûÀ¸·Î!!) ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
 
 
                        
                            | CREATE TABLE deppay 
                            (department text,
 ) INHERITS (emppay) ;
 |    µ¥ÀÌÅÍ Ãß°¡µ¥ÀÌÅÍÃß°¡´Â INSERT ¸í·ÉÀ» »ç¿ëÇÑ´Ù. ¹®¹ýÀº ´ÙÀ½°ú °°´Ù. ¿©·¯ 
                ÇüÅÂÀÇ INSERT¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
 
 
                        
                            | INSERT INTO classname[(att.expr-1 [,att_expr.i] 
                            )]
 {VALUES 
                            (expression 1[, expression-i] )|
 SELECT 
                            expression1 [, expression-i]
 [from 
                            from-list] [where qual]
 |  INSERT ±¸¹®Àº ¶§·Î´Â ¹ø°Å·Ó´Ù.
 
 
                        
                            | INSERT INTO emppay 
                            VALUES ('linux', 25.03) ;INSERT INTO emppay 
                            (name) values ('hacker') ;
 INSERT INTO emppay
 SELECT 
                            user FROM user ;
 |  µ¥ÀÌÅ͸¦ ÇѲ¨¹ø¿¡ ÀÔ·ÂÇÏ°í ½ÍÀ» ¶§°¡ 
                ÀÚÁÖ ÀÖÀ» °ÍÀÌ´Ù. ±×·² ¶§´Â copy ¸í·ÉÀ» »ç¿ëÇÏ¸é µÈ´Ù.
 ','´Â ÀԷ½ÿ¡ ÇÊµå ±¸ºÐÀÚÀÌ´Ù. '¡¬'´Â Ç¥ÁØÀԷ¿¡¼ 
                µ¥ÀÌÅÍ ÀÔ·ÂÀ» Á¾·áÇÒ ¶§ »ç¿ëÇÑ´Ù. 
 
                        
                            | COPY [binary] 
                            <class_name> [with oids]{to|from} 
                            {<filename>|stdin|stdout} [using delimiters 
                            <delim>] ;
 mydb=>COPY emppay from stdin 
                            using delimiters ',' ;
 Enter info followed by 
                            a newline
 End with a backslash and a period 
                            on a line by itself.
 >> beginner, 17.03
 >> power user, 20.88
 >> ¡¬.
 |  copy ´Â ¾Æ½ºÅ° ¸ðµå¿Í ¹ÙÀ̳ʸ® ¸ðµå·Î 
                󸮵ȴÙ. ±âº»Àº ¾Æ½ºÅ° ¸ðµåÀÌ¸ç ´ëºÎºÐ º° ¹®Á¦¾ø´Ù. °¡²ûÀº 
                ÀÌÁø µ¥ÀÌÅÍ ÆÄÀÏ¿¡¼ ÀÔ·ÂÀ» ¹Þ°íÀÚ ÇÏ´Â °æ¿ì°¡ ÀÖ´Â °æ¿ì¶ó¸é 
                binary ¿¹¾à¾î¸¦ »ç¿ëÇØ º¼¸¸ ÇÏ´Ù.
 ÆÄÀÏ¿¡¼ µ¥ÀÌÅ͸¦ ÀÐ¾î ¹Ù·Î Å×ÀÌºí¿¡ ÀúÀåÇϰíÀÚ 
                ÇÑ´Ù¸é, psql ÀÇ ³»ºÎ ¸í·É¾îÀÎ ¡¬copy ¸í·ÉÀ» »ç¿ëÇÏ¸é µÈ´Ù. À§ÀÇ 
                copy ¸í·É¿¡¼ ÆÄÀÏÀ» ´ë»óÀ¸·Î ÇÏ´Â °ÍÀº PostgreSQL ½´ÆÛ»ç¿ëÀÚÀÏ 
                °æ¿ì¿¡¸¸ ÇØ´çµÇ¹Ç·Î psql ¸í·É¾î »ç¿ë ½À°üµéÀÌ´Â °ÍÀÌ ÁÁ´Ù. ³»ºÎ 
                ¹®¹ýÀº ´ÙÀ½°ú °°´Ù. 
 
                        
                            | ¡¬copy class_name 
                            {from|filenamemydb=> ¡¬copy emppay from 
                            test.data
 Successfully copied.
 |    ´Ü, ÇÊµå ±¸ºÐÀÚ ÁöÁ¤ÀÌ ¾øÀ¸¹Ç·Î ÁÖÀÇÇØ¾ß ÇÑ´Ù. 
                À̵é copy ¸í·É¿¡¼ ±âº» ÇÊµå ±¸ºÐÀÚ´Â ½ºÆäÀ̽º°¡ ¾Æ´Ï¶ó Åǹ®ÀÚ(!!)¶ó´Â 
                »ç½ÇÀ» ²À ±â¾ïÇØ¾ß ÇÑ´Ù.  * µ¥ÀÌÅÍ °»½Å UPDATE ´Â µ¥ÀÌÅ͸¦ °»½ÅÇϴµ¥ 
                »ç¿ëµÈ´Ù.
 
 
                        
                            | UPDATE classname 
                            SET attname-1 = expression-1[, 
                            attname-i = expression-i]
 [FROM 
                            from-list]
 [WHERE 
                            qual]
 |    
                 
                        
                            | UPDATE emppySET name = 'guru', 
                            wage = 25.00
 FROM 
                            emppay
 WHERE name 
                            = 'hacker' ;
 |    Å×À̺íÀÇ º¯°æ°¡²û¾¿ Å×ÀÌºí ¸íÀ» º¯°æÇϰųª, Å×À̺íÀÇ Çʵå¸íÀ» º¯°æÇØ¾ß ÇÒ 
                Çʿ伺ÀÌ ÀÖÀ» °ÍÀÌ´Ù. ¶Ç´Â Å×À̺íÀÇ ±¸Á¶¸¦ º¯°æÇØ¾ß ÇÒ Çʿ䵵 
                »ý±ä´Ù. ÀÌ·² ¶§ »ç¿ëµÇ´Â ¸í·ÉÀÌ ALTER ÀÌ´Ù. ALTER ´Â Çʵå¿Í 
                Å×À̺í À̸§À» º¯°æÇϰųª, Å×ÀÌºí¿¡ Çʵ带 Ãß°¡ÇÏ´Â ±â´ÉÀ» ÇÑ´Ù. 
                ¾ÆÁ÷ PostgreSQL 6.2 ¿¡¼´Â ÇʵåÁ¦°Å ±â´ÉÀº µé¾îÀÖÁö ¾Ê´Ù.
 À§¿¡¼ '*' ´Â PostgreSQL ÀÇ °´Ã¼ÁöÇâÀû Ư¼ºÀ» 
                µå·¯³»´Â Àڱ׸¶ÇÑ Æ¯Â¡ÀÌ´Ù. 
 
                        
                            | ALTER TABLE <class_name> 
                            [*] ADD COLUMN <attr> <type>ALTER 
                            TABLE <class_name> [*] RENAME [column] <attr1> 
                            to <attr2>
 ALTER TABLE <class_name1> 
                            RENAME to <class_name2>
 ALTER TABLE emppay 
                            ADD hireday date;
 ALTER TABLE emppay RENAME 
                            hireday to empday ;
 ALTER TABLE emppay RENAME 
                            to emppay2;
 |  Áï, '*' ¸¦ ¸í½ÃÇϸé class_name¿¡¼ »ó¼Ó¹Þ´Â 
                ¸ðµç Ŭ·¡½º¿¡ ´ëÇØ ÇØ´ç ÀÛ¾÷À» È®ÀåÇÏ´Â °ÍÀÌ´Ù. Ŭ·¡½ºÀÇ »ó¼Ó°ü°è´Â 
                Ŭ·¡½º(Å×À̺í)À» »ý¼ºÇÒ ¶§ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¸¸ÀÏ ÇØ´ç Å×ÀÌºí¿¡¼ 
                emppay Çʵå¿Í °°ÀÌ Æ¯Á¤ Çʵ带 Á¦°ÅÇÏ·Á°í ÇÑ´Ù¸é, ´çºÐ°£Àº ¹ø°Å·ÓÁö¸¸ 
                ´Ü¼øÀÛ¾÷À» ÇØ¾ß ÇÑ´Ù.
 
 
                        
                            | SELECT name, wageINTO TABLE tmp
 FROM emppay2 ;
 DROP TABLE emppay2 ;
 ALTER TABLE tmp RENAME 
                            TO emppay2 ;
 |    µ¥ÀÌÅÍÀÇ »èÁ¦¿Í Å×À̺íÀÇ Á¦°Åµ¥ÀÌÅÍÀÇ »èÁ¦´Â DELETE ¸í·ÉÀ» »ç¿ëÇÑ´Ù.
 WHERE ÀýÀ» »ý·«Çϸé ÇØ´ç Å×À̺íÀÇ µ¥ÀÌÅ͸¦ ¸ðµÎ Áö¿ì°Ô µÇ¹Ç·Î 
                ÁÖÀÇÇØ¾ß ÇÑ´Ù. ±×·¸´Ù ÇÏ´õ¶óµµ Å×À̺í±îÁö Á¦°ÅµÇ´Â °ÍÀº ¾Æ´Ï´Ù. 
                Å×À̺íÀº dropÀ¸·Î Á¦°ÅÇÑ´Ù.
 
 
                        
                            | DELETE FROM class_name 
                            [WHERE qual]DELETE FROM emppay2 WHERE wage 
                            = 10 ;
 |  ¸¸ÀÏ emppay2 ·ÎºÎÅÍ »ó¼ÓÀ» ¹ÞÀº Å×À̺í(Ŭ·¡½º)°¡ 
                ÀÖ´Ù¸é °æ°í°¡ ¶³¾îÁö°í Á¦°ÅµÇÁö ¾Ê´Â´Ù. À̶§¿¡´Â »ó¼Ó¹ÞÀº Å×À̺í(Ŭ·¡½º)ºÎÅÍ 
                Á¦°ÅÇØ¾ß ÇÑ´Ù.
 
   µ¥ÀÌÅÍ °Ë»öµ¥ÀÌÅÍ °Ë»ö(¶Ç´Â ¿, Ä÷³ ȸ¼ö)Àº À¯¸íÇÑ SELECT ·Î ó¸®ÇÑ´Ù. 
                SELECT ¸¦ ¸ð¸£°í´Â SQL À» ¾È´Ù°í ÇÒ ¼ö ¾ø´Ù. ¹®¹ýÀº ´ÙÀ½°ú °°´Ù.
 distinct ´Â Áߺ¹µÇ´Â µ¥ÀÌÅ͸¦ Çϳª·Î º¸¿©ÁÖ´Â 
                °ÍÀÌ´Ù. 
 
                        
                            | SELECT [distinct]expression1 [as attr_name-1]
 {, expression1 [as 
                            attr_name-i]}
 [into 
                            table clessname]
 [from 
                            from-list]
 [where 
                            where-clause]
 [group 
                            by attr_name1 {, attr_name-i....}
 [order 
                            by attr_name1
 [using 
                            op1] {, attr_namei [using opi]}
 |  as ´Â SELECT ÀÇ °á°ú·Î ³ªÅ¸³ª´Â Çʵå¸íÀ» 
                ȸ¼ö½Ã¿¡ ÀÓ½ÃÀûÀ¸·Î º¯°æÇÏ´Â °ÍÀÌ´Ù.
 
 
                        
                            | SELECT  µµ½Ã, 
                            ÃÖÀú¿Âµµ, ÃÖ°í¿ÂµµFROM 
                             ³¯¾¾
 WHERE  µµ½Ã 
                            = '¼¿ï' ;
 SELECT  µµ½Ã, °¼ö·® as ºñ¿Â·®, 
                            ³¯Â¥
 FROM  ³¯¾¾
 WHERE  ³¯Â¥ >= '1997-10-1'
 GROUP BY  ³¯Â¥, ºñ¿Â·®
 ORDER BY  µµ½Ã
 USING  <;
 |  µû¶ó¼ ´Ù¸¥ À§Ä¡¿¡¼ »ç¿ëµÉ ¶§¿¡´Â as 
                ´ÙÀ½ÀÇ Àӽà Çʵå¸íÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. '>=' ´Â ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â 
                ºñ±³ºÎÈ£À̰í, GROUP BY ´Â ȸ¼öÇÏ´Â µ¥ÀÌÅ͸¦ ¾î¶² µ¢¾î¸®(±×·ì)·Î 
                ¹À» °ÍÀΰ¡¸¦ ÁöÁ¤Çϸç, ORDER BY ´Â Á¤·Ä±âÁØÀ» ³ªÅ¸³½´Ù. PostgreSQL 
                ¿¡¼´Â ASC, DESC ´ë½Å¿¡ 'USING<'¿Í 'USING>'¸¦ »ç¿ëÇÏ¿© 
                ¿À¸§Â÷¼ø, ³»¸²Â÷¼øÀ¸·Î Á¤·ÄÇÒ ¼öµµ ÀÖ´Ù.
 SELECT¿¡¼ Ŭ·¡½ºÀÇ »ó¼Ó¼ºÀ» ÀÌ¿ëÇÏ¿© µ¥ÀÌÅ͸¦ 
                °Ë»öÇÒ ¼öµµ ÀÖ´Ù.ÀÌ °æ¿ì¿¡´Â SELECT ½Ã¿¡ emppay¿¡¼ »ó¼Ó¹ÞÀº 
                ¸ðµç Ŭ·¡½º¸¦ Æ÷ÇÔÇÏ¿© °Ë»öÇÑ´Ù.
 
 
                        
                            | SELECT c.name, 
                            c.wageFROM emppay* c
 WHERE c.wage>= 
                            10 ;
 |  '*' °¡ ¿ª½Ã »ó¼Ó Ŭ·¡½º±îÁö¸¦ Æ÷ÇÔÇÏ´Â 
                Ŭ·¡½º ¿ÀÆÛ·¹ÀÌÅÍÀÌ´Ù. PostgreSQL ÀÇ SQL¿¡¼ Á¤±ÔÇ¥Çö½Ä(regex)À» 
                »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ °Ë»öÇÒ ¼ö ÀÖ´Ù. Á¤±ÔÇ¥Çö½Ä °Ë»öÀ» Àß È°¿ëÇϸé 
                º¹ÀâÇÑ ÀÛ¾÷µµ ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» Àß ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù. 
                A ~ B´Â A°¡ Á¤±ÔÇ¥Çö½Ä B¸¦ Æ÷ÇÔÇÑ´Ù´Â °ÍÀÌ´Ù. ´ë¼Ò¹®ÀÚ¸¦ ¹«½ÃÇÏ¿© 
                °Ë»öÇÏ·Á¸é A ~ *B¸¦ »ç¿ëÇÏ¸é µÈ´Ù. Æ÷ÇÔÇÏÁö ¾Ê´Â °ÍÀ» °Ë»öÇÒ 
                ¶§¿¡´Â !¸¦ ¾Õ¿¡ ºÙÀÌ¸é µÈ´Ù.
 Á¤±ÔÇ¥Çö½Äº¸´Ù Á»´õ »ç¿ëÇϱ⠽¬¿î ¿ÍÀϵåÄ«µå´Â 
                like¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. 
 
                        
                            | ^|][[:alpha:]]{5}/[[:digit:]]{2}' 
                            as findfind
 ---
 f
 (1 
                            row)
 |  PostgreSQL ÀÇ SELECT Àý¿¡¼ ¾ÆÁ÷ HAVING 
                Àý°ú º¸Á¶ SELECT ¸¦ Áö¿øÇÏÁö ¾Ê°í ÀÖ´Ù. ±× ¿ÜÀÇ ±â´ÉÀº ÀÏ¹Ý 
                SQL °ú °°´Ù.
   2) ºä 
                ºä´Â ÀÏÁ¾ÀÇ °¡»ó Å×À̺íÀÌ´Ù. Áï, ½ÇÁ¦·Î´Â 
                ÇÏµå µð½ºÅ©¿¡ ¾î¶°ÇÑ µ¥ÀÌÅ͸¦ ¹°¸®ÀûÀ¸·Î ÀúÀåÇϰí ÀÖÁö´Â ¾ÊÁö¸¸, 
                Å×À̺í°ú ºñ½ÁÇÏ°Ô º¸ÀÌ´Â °ÍÀÌ´Ù. ºäµµ ÇϳªÀÇ °³Ã¼À̸ç, ½ÇÁ¦·Î´Â 
                ÇϳªÀÇ ÁúÀǾîÀÌ´Ù. ºä¸¦ ó¸®ÇÒ ¶§´Â ÀÏ¹Ý Å×À̺íó·³ ÇÏ¸é µÈ´Ù. 
                ÇÏÁö¸¸ ºä´Â Å×À̺íó·³ Á¤ÀûÀÎ °ÍÀÌ ¾Æ´Ï¶ó, ºä¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â 
                Å×À̺íÀ̳ª °´Ã¼ÀÇ º¯µ¿¿¡ µû¶ó¼ ¹Î°¨ÇÏ°Ô º¯ÈÇÏ´Â µ¿ÀûÀÎ °´Ã¼ÀÎ 
                °ÍÀÌ´Ù. ºäÀÇ »ý¼ºÀº ÀÏ¹Ý Å×À̺íÀ» »ý¼ºÇÒ ¶§ »ç¿ëÇÏ´Â ¹æ¹ý°ú´Â 
                ´Ù¸£°í, SELECT ·Î ¿øÇÏ´Â µ¥ÀÌÅ͸¦ ȸ¼öÇÑ ÈÄ »õ·Î¿î Å×ÀÌºí¿¡ 
                »ðÀÔÇÏ´Â ¹æ¹ý°ú ºñ½ÁÇÏ´Ù.  ³¯¾¾¶ó´Â Å×ÀÌºí¿¡¼ µµ½Ã°¡ ¼¿ïÀÎ °Í¸¸ ¼±ÅÃÇØ¼ 
                ¼¿ï ³¯¾¾¶ó´Â ºä¸¦ ¸¸µé¾ú´Ù. 
 
                        
                            | create view view_name 
                            asselect expression1 
                            [as attr_name1]
 {, 
                            expression_i [as attr_namei]}
 [from 
                            from.last]
 where 
                            qual
 mydb=> CREATE VIEW ¼¿ï³¯¾¾ 
                            asmydb-> select*
 mydb-> from ³¯¾¾
 mydb-> where µµ½Ã = '¼¿ï' ;
 CREATE
 mydb=> 
                            select*from ¼¿ï³¯¾¾ ;
 
 
                                
                                    | µµ½Ã | ÃÖÀú¿Âµµ | ÃÖ°í¿Âµµ | °¼ö·® | ³¯Â¥ |  
                                    | ¼¿ï | 10 | 27 | 0 | 10-01-1997 |  
                                    | ¼¿ï | 12 | 25 | 0.12 | 10-02-1997 |  (2 rows) |  ¿©±â¿¡¼ ¼¿ï³¯¾¾ ºä´Â ³¯¾¾ Å×ÀÌºí¿¡ 
                ÀÇÁ¸À» Çϸç, ³¯¾¾ Å×ÀÌºí¿¡¼ ¼¿ï³¯¾¾ ºäÀÇ »ý¼ºÁ¶°ÇÀ» ¸¸Á·½ÃŰ´Â 
                µ¥ÀÌÅͰ¡ ÀÔ·ÂµÇ¸é ¼¿ï³¯¾¾ ºä¿¡µµ ÀÔ·ÂµÈ °ÍÀ¸·Î 󸮵ȴÙ. À̰ÍÀ» 
                ´ÙÀ½¿¡¼ È®ÀÎÇØº¸ÀÚ
 ³¯¾¾ Å×ÀÌºí¿¡ ÀÔ·ÂÇÑ 12¿ù2ÀÏÀÚ µ¥ÀÌÅͰ¡ ¼¿ï³¯¾¾ 
                ºä¿¡ µé¾î¿Í ÀÖ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. 
 
                        
                            | mydb=> insert 
                            into ³¯¾¾ values('¼¿ï', -10,8,0.0, '1997-12-2') 
                            ;INSERT 535891 1
 mydb=> select*from 
                            ¼¿ï³¯¾¾ ;
 
 
                                
                                    | µµ½Ã | ÃÖÀú¿Âµµ | ÃÖ°í¿Âµµ | °¼ö·® | ³¯Â¥ |  
                                    | ¼¿ï | 10 | 27 | 0 | 10-01-1997 |  
                                    | ¼¿ï | 12 | 25 | 0.12 | 10-02-1997 |  
                                    | ¼¿ï | -10 | 8 | 0 | 12-02-1997 |  (3 rows) |  ±× ¿ªÀº ¼º¸³ÇÏÁö ¾Ê´Â´Ù. Áï, ¼¿ï³¯¾¾ 
                ºä¿¡ Á¶°ÇÀ» ¸¸Á·½ÃŰ´Â µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÑ´Ù°í ÇØ¼ ³¯¾¾Å×ÀÌºí¿¡ 
                ³ªÅ¸³ªÁö´Â ¾Ê´Â ´Ù´Â °ÍÀÌ´Ù. ´ÙÀ½¿¡¼ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
 
 
                        
                            | mydb=> insert 
                            into ¼¿ï³¯¾¾ values ('¼¿ï', -5, 10, 0.0, '1997-12-1') 
                            ;INSERT 535892 1
 mydb=> select*from 
                            ³¯¾¾ where µµ½Ã = '¼¿ï' ;
 
 
                                
                                    | µµ½Ã | ÃÖÀú¿Âµµ | ÃÖ°í¿Âµµ | °¼ö·® | ³¯Â¥ |  
                                    | ¼¿ï | 10 | 27 | 0 | 10-01-1997 |  
                                    | ¼¿ï | 12 | 25 | 0.12 | 10-02-1997 |  
                                    | ¼¿ï | -10 | 8 | 0 | 12-02-1997 |  (3 rows) |    ¸¸ÀÏ, ¼¿ï³¯¾¾ ºäÀÇ »ý¼ºÁ¶°ÇÀ» ¸¸Á·½ÃŰÁö 
                ¾Ê´Â µ¥ÀÌÅͰ¡ ºä¿¡ ÀԷµǸé, ¾î¶² °á°ú°¡ ³ªÅ¸³¯±î? Çѹø È®ÀÎÇØº¸ÀÚ.   
                 
                        
                            | mydb=> insert 
                            into ¼¿ï³¯¾¾ values('ºÎ»ê', 1, 15, 0.0, '1997-12-2') 
                            ;INSERT 535893 1
 mydb=> select*from 
                            ³¯¾¾ where µµ½Ã = 'ºÎ»ê';
 
 
                                
                                    | µµ½Ã | ÃÖÀú¿Âµµ | ÃÖ°í¿Âµµ | °¼ö·® | ³¯Â¥ |  
                                    | ºÎ»ê | 13 | 28 | 0.32 | 10-01-1997 |  (3 rows) |  ¼¿ï³¯¾¾ ºä¿¡µµ ºäÀÇ »ý¼ºÁ¶°ÇÀ» ¸¸Á·½ÃŰÁö 
                ¸øÇÏ´Â µ¥ÀÌÅÍ´Â ¿¡·¯´Â »ý±âÁö ¾Ê¾ÒÁö¸¸ ¹Þ¾ÆµéÀÌÁö ¾Ê°í ÀÖÀ½À» 
                ¾Ë ¼ö ÀÖ´Ù.
 
 
                        
                            | mydb=> select*from 
                            ¼¿ï³¯¾¾ ;
 
                                
                                    | µµ½Ã | ÃÖÀú¿Âµµ | ÃÖ°í¿Âµµ | °¼ö·® | ³¯Â¥ |  
                                    | ¼¿ï | 10 | 27 | 0 | 10-01-1997 |  
                                    | ¼¿ï | 12 | 25 | 0.12 | 10-02-1997 |  
                                    | ¼¿ï | -10 | 8 | 0 | 12-02-1997 |  (3 rows) mydb=> drop view ¼¿ï³¯¾¾ ;DROP
 mydb=>
 |  ±×¸®°í º»·¡ÀÇ ³¯¾¾ Å×ÀÌºí¿¡µµ µ¥ÀÌÅͰ¡ 
                Ãß°¡µÇÁö ¾Ê¾Ò´Ù. ¿©±â¿¡¼ º¸¾ÒµíÀÌ ºä´Â ÀϹÝÀûÀ¸·Î Å×À̺í°ú 
                ºñ½ÁÇÏ°Ô Ãë±ÞµÇÁö¸¸, ºäÀÇ »ý¼º ±â¹ÝÀÌ µÈ Å×À̺í°úÀÇ °ü°è¿Í ºä¸¦ 
                »ý¼º½ÃŲ Á¶°Ç¿¡ ¿µÇâÀ» ¹Þ´Â´Ù´Â °ÍÀÌ Å×À̺í°ú´Â ´Ù¸¥ Á¡ÀÌ´Ù.
   3) À妽º 
                PostgreSQL ¿¡¼´Â B-tree¿Í R-treeÀÇ µÎ °¡Áö 
                Àε¦½Ì ¹æ½ÄÀ» Áö¿øÇϰí ÀÖ´Ù. ÀÌµé ¾Ë°í¸®ÁòÀº Á¢±Ù¹æ½Ä(access 
                method)À̶ó°í ºÒ¸®¿ì¸ç, À妽º »ý¼º½Ã¿¡ »ç¿ëÀÚ°¡Á÷Á¢ ÁöÁ¤ÇÒ 
                ¼ö ÀÖ´Ù. B-tree ´Â ÁÖ·Î ÀϹÝÀûÀΠŰÀÇ Àε¦½Ì¿¡ »ç¿ëµÇ¸ç, R-tree´Â 
                »ç°¢Çü ÄÄÆ÷³ÍÆ®ÀÇ °ü°è¸¦ Ç¥ÇöÇϴµ¥ »ç¿ëµÈ´Ù. µû¶ó¼, Ư¼öÇÑ 
                °øÇп뵵°¡ ¾Æ´Ï¶ó¸é R-tree´Â ½Å°æ¾²Áö ¾Ê¾Æµµ µÇ¸ç, ±âº» Á¢±Ù¹æ½ÄÀº 
                B-tree ÀÌ´Ù. ¿©±â¿¡¼ am-name Àº Á¢±Ù¹æ½Ä(access method)À̸ç, 
                funcnameÀº Àε¦½Ì¿¡ »ç¿ëÇÒ »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼öÀÌ´Ù. 
 
                        
                            | create [unique] 
                            index index-nameon 
                            classname [using am-name]
 ( 
                            attname [type_class], ...)
 create [unique] index index-nameon classname [using 
                            am-name]
 ( funcname 
                            (attname-1 {, attname-i}) type_class)
 |  °¡²û Ư¼öÇÑ µ¥ÀÌÅÍŸÀÔ¿¡ ÀÖ¾î¼ »ç¿ëÀÚ°¡ 
                Á÷Á¢ ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ¿© Àε¦½Ì¿¡ ÀÌ¿ëÇÏ´Â °ÍÀÌ ¼Óµµ Çâ»ó¿¡ »ó´çÇÑ 
                È¿°ú¸¦ °ÅµÑ ¼ö ÀÖ´Ù. À妽º¸¦ ¸¸µé ¶§, ÇϳªÀÇ Ä÷³¿¡¸¸ À妽º¸¦ 
                ºÎ¿©ÇÒ ¼öµµ ÀÖ°í, ¿©·¯ °³ÀÇ Ä÷³¿¡ µ¿½Ã¿¡ À妽º¸¦ ºÎ¿©ÇÒ ¼öµµ 
                ÀÖ´Ù. ¿¹¸¦ µé¾î, ³¯¾¾ Å×À̺íÀÇ µµ½Ã Ä÷³¿¡ À妽º¸¦ »ý¼ºÇØ º¸ÀÚ.
 unique index ´Â Áߺ¹µÇÁö ¾ÊÀº À¯ÀÏÇÑ À妽º¸¦ 
                ¸»ÇÑ´Ù. 
 
                        
                            | mydb=> create 
                            index weather_index on ³¯¾¾ using btree(µµ½Ã) ;CREATE
 mydb=> drop index weather_index ;
 DROP
 mydb=> create index weather_index on 
                            ³¯¾¾ (µµ½Ã, ³¯Â¥) ;
 CREATE
 mydb=> drop 
                            index weather_index ;
 DROP
 mydb=> 
                            create index weather_index on ³¯¾¾ (µµ½Ã, ³¯Â¥) 
                            ;
 CREATE
 mydb=> drop index weather_index 
                            ;
 DROP
 mydb=>
 |  PostgreSQL 6.2 ¿¡¼´Â B-tree¹æ½Ä¿¡¼¸¸ 
                ´ÙÁß Ä÷³¿¡ ´ëÇÑ À妽º¸¦ Áö¿øÇϸç, ÃÑ 7°³ÀÇ Ä÷³±îÁö °¡´ÉÇÏ´Ù.
   4) ÇÔ¼ö 
                PostgreSQL ¿¡¼ ÇÔ¼ö´Â SQL ÇÔ¼ö¿Í ÇÁ·Î±×·¡¹Ö 
                ¾ð¾î ÇÔ¼ö°¡ ÀÖ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾îÇÔ¼ö´Â ÁÖ·Î C·Î ÀÛ¼ºµÇ¸ç, SQL 
                ÇÔ¼ö´Â SQL ÁúÀǾî·Î °£´ÜÈ÷ Á¤ÀÇÇÑ´Ù.  ÀÌµé ¸ðµÎ PostgreSQL¿¡¼ 
                Á¤ÇÑ ±ÔÄ¢¿¡ µû¶ó¼ ÀÛ¼ºÇØ¾ß ÇÑ´Ù.  À̵é ÇÔ¼ö¸¦ »ç¿ëÇϸé subselect ±â´ÉÀ» ´ë½ÅÇÒ 
                ¼ö ÀÖ´Ù. 
 
                        
                            | create  function 
                             function_name([type1 
                            {, type-n}])
 returns 
                            type-r
 as {'/full/path/to/objectfile' 
                            | 'sql-queries'}
 language 
                            {'c' 'sql' 'internal'}
 |  ¸ÕÀú SQL ÇÔ¼ö¸¦ ¸¸µå´Â ¿¹¸¦ µé¾îº¸°Ú´Ù. 
                '³¯¾¾' Å×ÀÌºí¿¡¼ 'µµ½Ã'¸¦ ÀÎÀÚ·Î ÁÖ¸é Æò±Õ°¼ö·®À» ±¸ÇÏ´Â ÇÔ¼ö¸¦ 
                Á¤ÀÇÇÑ´Ù.
 ¿©±â¿¡¼ ÇÔ¼ö¸í°ú ÇÔ²² ÇÔ¼öÀÎÀÚ¸¦ varchar 
                ·Î Á¤ÀÇÇÏ¿´´Âµ¥, text, float8 ÀÇ Á¤±Ôµ¥ÀÌÅÍ Å¸ÀÔÀ̳ª Å×À̺í¸íµµ 
                ÀÎÀÚ·Î ÁÙ ¼ö ÀÖ´Ù. 
 
                        
                            | mydb=> ¡¬d 
                            ³¯¾¾ ; Table = ³¯¾¾
 
                                
                                    | Field | Type | Length |  
                                    | µµ½Ã | varchar | 20 |  
                                    | ÃÖÀú¿Âµµ | int4 | 4 |  
                                    | ÃÖ°í¿Âµµ | int4 | 4 |  
                                    | °¼ö·® | float8 | 8 |  
                                    | ³¯Â¥ | date | 4 | mydb=> create function 
                            °¼ö·®Æò±Õ(varchar) returns float8
 mydb-> 
                            as 'select avg(°¼ö·®) from ³¯¾¾ where µµ½Ã = $1 
                            ;' language'sql' ;
 CREATE
 mydb=> select 
                            °¼ö·®Æò±Õ('¼¿ï') ;
 °¼ö·®Æò±Õ
 0.04
 (1 row)
 mydb=>select °¼ö·®Æò±Õ('ºÎ»ê') 
                            ;°¼ö·®Æò±Õ
 0.32
 (1 row)
 mydb=> |  ¿©±â¿¡¼ $1Àº SQL ÇÔ¼ö ³»ºÎ¿¡¼ ÀÎÀÚ¸¦ 
                ÂüÁ¶ÇÏ´Â ¹æ¹ýÀÌ´Ù. C ¾ð¾î·Î ÇÔ¼ö¸¦ ¸¸µå´Â ¹æ¹ýÀº PostgreSQL 
                ¼Ò½º µð·ºÅ丮ÀÇ contrib ¾ÈÀÇ ¿©·¯ ¼Ò½º¸¦ Âü°íÇÏ¸é ´ëÃæ ¾Ë ¼ö 
                ÀÖÀ» °ÍÀÌ´Ù. C ¼Ò½º·Î SQL ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ¿´´Ù¸é, -fpic ¿É¼ÇÀ¸·Î 
                ÀÏÂ÷ ÄÄÆÄÀÏÀ» ÇÑ´Ù.
 À½, -shared ¿É¼ÇÀ» »ç¿ëÇÏ¿© so °øÀ¯ 
                ¿ÀºêÁ§Æ® ÆÄÀÏ·Î ¸¸µé¾î¾ß ÇÑ´Ù.
 ±× ´ÙÀ½ create functionÀ» 
                »ç¿ëÇÏ¿© ÇÔ¼ö¸¦ Á¤ÀÇÇÑ´Ù.
 
 
                        
                            | $ gcc  -fpic 
                             -c  -o datetime_functions.o  datetime_functions.c-l../../src/include 
                            -l../../src/backend
 $ gcc  -shared  -o 
                            datetime_functions.so  datetime_functions.o
 $ psql mydb mydb=> create function currentdate() 
                            returns datemydb-> as '/usr/local/pgsql/lib/datetime_function.so' 
                            language 'c' ;
 CREATE
 mydb=>select currentdate() 
                            ;currentdate
 --------
 12-09-1997
 (1 row)
 mydb=> |    5) ·ê 6) Æ®¸®°Å 
                  
                 
                        
                            |      create 
                            rule rule_nameas 
                            on event
 to 
                            object [where clause]
 do 
                            [instead]
 [action 
                            | nothing | [actions...]]
 mydb=> create table ǥ1 (i 
                            int4) ;CREATE
 mydb=> create table ǥ2 
                            (i int4) ;
 CREATE
 mydb=> create 
                            rule ±ÔÄ¢1 as on insert to Ç¥1 do [insert into Ç¥2 
                            values(new.i)] ;
 CREATE
 mydb=> 
                            insert into ǥ1 values (10) ;
 INSERT 535999 
                            1
 mydb=> select *from ǥ1
 i
 --
 10
 (1 row)
 mydb=> select *from ǥ2i
 --
 10
 (1 row)
 mydb=> |  PostgreSQL¿¡¼ Æ®¸®°Å¸¦ Áö¿øÇϱâ Àü±îÁö 
                ·ê ½Ã½ºÅÛÀÌ ´ë½ÅÇØ¿Ô´Ù. ±âº»ÀûÀÎ ±â´ÉÀº ·ê°ú ºñ½ÁÇϳª Æ®¸®°Å´Â 
                Á» ´õ Ç¥ÁØÀÌ´Ù.
 EventX ´Â INSERT, DELETE, UPDATE Áß ÇϳªÀÌ´Ù. 
                
 
                        
                            | create trigger 
                            trigname {before | after}{Event1 
                            [OR Event2 [OR Event3]]}
 on 
                            relname for each {row | statement}
 execute 
                            procedure funcname (arguments)
 |  create trigger ±¸¹®Àº »õ·Î¿î Æ®¸®°Å¸¦ 
                ¸¸µé¾î¼ ÇöÀçÀÇ µ¥ÀÌÅͺ£À̽º¿¡ Áý¾î ³Ö´Â´Ù. Æ®¸®°Å´Â relname 
                °´Ã¼»ó¿¡¼ EventX »ç°ÇÀÌ ¹ß»ýÇÑ ÀüÈÄ¿¡, ÁöÁ¤ÇÑ ÇÔ¼öÀÎ funcname 
                À» ½ÇÇàÇÑ´Ù. ÇöÀç PostgreSQL ¿¡¼ Æ®¸®°Å´Â statement °¡ ±¸ÇöµÇ¾î 
                ÀÖÁö ¾Ê´Ù. ±×¸®°í ÀϹÝÀûÀÎ SQL ¿¡´Â °ÅÀÇ »ç¿ëÇÏÁö ¾Ê°í, ÇÁ·Î±×·¡¹Ö 
                ÀÎÅÍÆäÀ̽º·Î ±¸ÇöµÇ¾î ÀÖ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº PostgreSQL ¼Ò½º µð·ºÅ丮ÀÇ 
                doc¿¡ º¸¸é trigger ¸Þ´º¾óÀÌ ÀÖÀ¸´Ï Âü°íÇϱ⠹ٶõ´Ù.
   7) ½ÃÄö½º 
                ½ÃÄö½º´Â ¸»±×´ë·Î ÀϷùøÈ£ ¹ß»ý±âÀÌ´Ù. µ¥ÀÌÅͺ£À̽ºÀÇ 
                ƯÁ¤ Å×À̺íÀÇ ·Î¿ì¿¡, È¿À²ÀûÀÎ °ü¸®¸¦ À§ÇØ ÀϹÝÀûÀ¸·Î ÀϷùøÈ£¸¦ 
                ºÙÀÏ Çʿ伺ÀÌ ÀÖ´Ù.  seqname Àº ÀϷùøÈ£ »ý¼º±âÀÇ À̸§ÀÌ´Ù. increment´Â 
                Çѹø¿¡ Áõ°¡½Ãų °ªÀ¸·Î, À½¼ö¿Í ¾ç¼ö°¡ µÉ ¼ö ÀÖÀ¸¸ç, ±âº» °ªÀº 
                1ÀÌ´Ù. 
 
                        
                            | create sequence 
                            seqname[increment 
                            incby_value]
 [minvalue 
                            min_value]
 [maxvalue 
                            max_value]
 [start 
                            start_value]
 [cache 
                            cache_value]
 [cycle]
 |  minvalue ´Â ÀϷùøÈ£ÀÇ ÃÖ¼Ò°ªÀ¸·Î, Áõ°¡½Ã¿¡´Â 
                1, °¨¼Ò½Ã¿¡´Â -2147483647ÀÌ´Ù. maxvalue´Â ÀϷùøÈ£ÀÇ ÃÖ´ë°ªÀ¸·Î, 
                Áõ°¡½Ã¿¡´Â 2147483647, °¨¼Ò½Ã¿¡´Â -1ÀÌ´Ù. start °ªÀº ÀϷùøÈ£ÀÇ 
                ù ¹øÂ° °ªÀ¸·Î, Áõ°¡½Ã¿¡´Â minvalue °¡ »ç¿ëµÇ°í, °¨¼Ò½Ã¿¡´Â 
                maxvalue °¡ »ç¿ëµÈ´Ù. cashe ´Â ij½¬¿¡ °ü·ÃµÇ´Â °ÍÀ¸·Î ÀϹÝÀûÀ¸·Î 
                »ç¿ëÇÒ ÇÊ¿ä´Â ¾ø´Ù. cycle ´Â ÀϷùøÈ£¸¦ ´Ù½Ã óÀ½ºÎÅÍ ¸Å±â´Â 
                °ÍÀ» ¸»ÇÑ´Ù. ¸Å ´Ü°èÀÇ ÀϷùøÈ£ÀÇ °ªÀ» ¾ò´Â ÇÔ¼ö´Â nextval ÀÌ´Ù. 
                ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ÀϷùøÈ£´Â 1ºÎÅÍ ½ÃÀÛÇÏ¿© 1¾¿ Áõ°¡½ÃŰ´Â 
                °æ¿ì°¡ ¸¹´Ù. ÀÌ °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ °£´ÜÇÏ°Ô »ç¿ëÇÑ´Ù.
 100ºÎÅÍ 100¾¿ Áõ°¡ÇÏ´Â ÀϷùøÈ£¸¦ »ý¼ºÇÏ·Á¸é 
                ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù. 
 
                        
                            | mydb=> create 
                            table t1(num int4, name text) ;CREATE
 mydb=> create sequence t1_seq ;
 CREATE
 mydb=> insert into t1 values (nextval ('t1_seq'), 
                            'Çѵ¿ÈÆ') ;
 INSERT 536037 1
 mydb=> insert 
                            into t1 values (nextval ('t1_seq'), 'À̱Լº') ;
 INSERT 536038 1
 mydb=> insert into t1 values 
                            (nextval ('t1_seq'), 'Á¤¿ë¼®') ;
 INSERT 536039 
                            1
 mydb=> select *from t1
 
 
                                
                                        
                                            | num | name |  
                                        | 1 | Çѵ¿ÈÆ |  
                                        | 2 | À̱Լº |  
                                        | 3 | Á¤¿ë¼® |  (3 rows)
 mydb=> 
                            select currval ('t1_seq')
 currval
 ---
 3
 (1 row)
 mydb=>
 |    8) Æ®·£Àè¼Ç
 
                
                        
                            | create sequence 
                            seq_100 increment 100 start 100 ; |  SQL ¿¡¼ Æ®·£Àè¼ÇÀº ¾ø¾î¼´Â ¾ÈµÇ´Â Áß¿äÇÑ 
                °³³äÀÌ´Ù. º¸Åë ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º¸¦ ¿©·¯¸íÀÌ µ¿½Ã¿¡ »ç¿ëÇÏ°Ô 
                µÈ´Ù. ÀÌ °æ¿ì¿¡ °¢°¢ÀÇ »ç¿ëÀÚ°¡ µ¥ÀÌÅͺ£À̽º¿¡ °¡ÇÑ ÀÏÁ¤ ÀÛ¾÷ÀÇ 
                ±¸°£À» ÀýÁ¤ÇÏ¿©, µ¥ÀÌÅͺ£À̽º¿¡ °¡ÇÑ ¿µÇâÀ» ¼ö¿ëÇϰųª Ãë¼ÒÇÒ 
                ¼ö ÀÖµµ·Ï ÇÏ´Â ±â´ÉÀ» Á¦°øÇÏ´Â °ÍÀÌ Æ®·£Àè¼ÇÀÇ Áß¿ä±â´ÉÀÌ´Ù.
 °¡·É, ¾î´À µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ°¡ ¿À´ÃÀº µµ¼Á¤¸®¸¦ ÇÑ´Ù°í °¡Á¤ÇØ 
                º¸ÀÚ. ÀÌ ÀÛ¾÷ÀÌ ±âÁ¸ÀÇ ÀÛ¾÷°ú ±¸º°µÇ°í, µ¿ÀÏÇÑ ¿¬Àå¼±»ó¿¡ ÀÖÁö 
                ¾Ê´Ù¸é, Æ®·£Àè¼ÇÀÇ ½ÃÀÛÁ¡(begin)À» ¼³Á¤Çϰí ÀÏÁ¤½Ã°£ ÀÛ¾÷À» 
                °è¼ÓÇØ ³ª°¡°Ô µÈ´Ù. ±×·¯´Ù ÀÏÁ¤ÀÛ¾÷´ÜÀ§°¡ ³¡³ª¸é, ±×°£¿¡ µ¥ÀÌÅͺ£À̽º¿¡ 
                °¡ÇÑ º¯È¸¦ ½ÂÀÎÇÏ·Á¸é commit (¶Ç´Â end)¸¦, °è»êÀÌ À߸ø µÇ¾î¼ 
                Ãë¼ÒÇÏ°í ½ÍÀ¸¸é, rollback (¶Ç´Â abort)À» »ç¿ëÇÒ °ÍÀÌ´Ù. PostgreSQL 
                ¿¡¼ Á¦°øÇÏ´Â Æ®·£Àè¼Ç 󸮱â´ÉÀº ±×¸® ¼¼ºÎÀûÀÌÁö ¸øÇÏ´Ù. Æ®·£Àè¼Ç 
                ±¸°£ ÀÛ¾÷󸮸¦ Á¤¹ÐÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ°Ô µÈ´Ù. PostgreSQLÀº Æò¸éÀû, 
                1±¸°£ Æ®·£Àè¼ÇÀÇ ½ÂÀÎÀº end, Ãë¼Ò´Â abort·Î ÇÑ´Ù. commitÀº end 
                ¿Í °°°í, rollbackÀº abort¿Í °°´Ù.
 °£´ÜÇÑ ¿¹¸¦ µé¾îº¸ÀÚ   9) ÅëÁö¿Í ûÃë
 
                
                        
                            | mydb=> create 
                            table test2 (num int4) ;CREATE
 mydb=> 
                            insert into test2 values (1)
 INSERT 536270 1
 mydb=> insert into test2 values (2)
 INSERT 
                            5362701
 mydb=> select *from test2 ;
 num
 ----
 1
 2
 (2 rows)
 mydb=> begin ; BEGIN
 mydb=> insert into test2 values (3)
 INSERT 
                            5362702 1
 mydb=> select *from test2 ;
 num
 ----
 1
 2
 3
 (3 rows)
 mydb=> abort ;ABORT
 mydb=> select *from test2 ;
 num
 ----
 1
 2
 (2 rows)
 mydb=> begin ; BEGIN
 mydb=> delete from test2 where num = 2
 DELETE 
                            1
 mydb=> end ;
 END
 mydb=> select 
                            *from test2 ;
 num
 ----
 1
 (1 rows)
 mydb=>  |  ´Ù¸¥ ¼¼¼Ç¿¡¼,
 
 
                        
                            | mydb=> create 
                            table Å×½ºÆ®1 (i int4) ;CREATE
 mydb=> 
                            notify Å×½ºÆ®1 ;
 NOTIFY
 |  notify ´Â µ¿½Ã¼º¿¡ °ü·ÃµÈ Å뺸¸¦ Çϰí, 
                listen Àº ±×°ÍÀ» ûÃëÇÑ´Ù.
 
 
                        
                            | mydb=> listen 
                            Å×½ºÆ®1 ;LISTEN
 mydb=>
 mydb=> 
                            select *from Å×½ºÆ®1 ;
 i
 -
 (0 rows)
 ASYNC NOTIFY of 'Å×½ºÆ®' from 
                            backend pid '14126' receivedmydb=>
 |  ±×³É listen ¸¸ÇÑ »óÅ¿¡¼´Â ¾Æ¹«·± ÀÏÀÌ 
                ÀϾÁö ¾Ê´Â´Ù.
 ½ÄÀ¸·Î listen ÇÒ Å×À̺í(Ŭ¶ó½º) À̸§À» ÁöÁ¤Çϸé, 
                ÀÌÈÄ¿¡ ´Ù¸¥ ÇÁ·Î¼¼½º(°°Àº ÇÁ·Î¼¼½ºµµ Æ÷ÇÔÇÏ¿©)°¡ ÇØ´ç notify¸¦ 
                ÇÏ°ÔµÇ¸é ±×¶§¼¾ß listen ÇÁ·Î¼¼½º´Â ¾î´À ÇÁ·Î¼¼½º°¡ notify¸¦ 
                º¸³Â´Ù´Â Å뺸¸¦ ¹Þ´Â´Ù. 
 ±×¸® À¯¿ëÇÑ ÁúÀǾî´Â ¾Æ´ÏÁö¸¸, °°Àº Å×ÀÌºí¿¡ 
                µ¿½ÃÀûÀ¸·Î Á¢±ÙÇÏ´Â ÇÁ·Î¼¼½º°£¿¡ ¾à°£ÀÇ Á¤º¸(ÇÁ·Î¼¼½º ¹øÈ£)¸¦ 
                ±³·ùÇϱâ À§ÇÑ °ÍÀÌ´Ù. Áï, ´©°¡ Áö±Ý ¾î´À Å×À̺íÀ» °Çµå¸®°í ÀÖ´Ù...´Â 
                Á¤µµÀÌ´Ù. libpq ¿¡µµ ÀÌ¿¡ »óÀÀÇÏ´Â ±âº» ÇÔ¼ö°¡ ÀÖ±ä ÇÏÁö¸¸, 
                °ÅÀÇ ¾²ÀÌÁö ¾Ê´Â µí ÇÏ´Ù.
   10) Ŭ·¯½ºÆ®¸µ 
                PostgreSQL¿¡¼ Ŭ·¯½ºÆ®¸µÀº À妽º¿¡ ±âÃÊÇÏ¿© 
                µ¥ÀÌÅ͸¦ ¹°¸®ÀûÀ¸·Î ÀçÁ¤·ÄÇÏ´Â °ÍÀÌ´Ù. ÇϳªÀÇ Å¬·¡½ºÀÎ classname 
                »óÀÇ À妽ºÀÎ indexname ¿¡ ±âÃÊÇÏ¿© PostgreSQL °¡ Ŭ·¯½ºÆ®¸µ 
                ÀÛ¾÷À» ¼öÇàÇϵµ·Ï Áö½ÃÇÏ´Â ¸í·ÉÀÌ´Ù. indexname Àº classname 
                »ó¿¡ ¹Ì¸® Á¤ÀǵǾî ÀÖ¾î¾ß ÇÑ´Ù. Ŭ·¡½ºÀÇ Å©·¯½ºÅÍ´Â ÆÄ±«µÈ´Ù. 
                Áï, Ŭ·¯½ºÆ®¸µÀº Á¤Àû(static)À̸ç, »ç¿ëÀÚ°¡ ¿øÇÒ °æ¿ì ¾ðÁ¦µçÁö 
                ´Ù½Ã Ŭ·¯½ºÆ®¸µÀ» ¼öÇàÇÒ ¼ö ÀÖ´Ù. 
 
                        
                            | mydb=> create 
                            index ³¯¾¾À妽º on ³¯¾¾(µµ½Ã) ;CREATE
 mydb=> cluster ³¯¾¾À妽º on ³¯¾¾ ;
 CLUSTER
 mydb=>
 |    11) ±ÇÇÑ 
                grantµ¥ÀÌÅͺ£À̽º¸¦ 
                »ç¿ëÇÏ´Ùº¸¸é »ç¿ëÀÚ¿¡°Ô µ¥ÀÌÅͺ£À̽º Á¢±Ù±ÇÇÑÀ» ³Ñ°ÜÁְųª Á¦ÇÑÇÏ¿©¾ß 
                ÇÒ Çʿ䰡 ÀÖ´Ù. ÀÌ·² ¶§ »ç¿ëÇÏ´Â ¸í·ÉÀÌ grant ÀÌ´Ù. ¸» ±×´ë·Î 
                ½Â³«ÇÑ´Ù´Â ¶æÀÌ´Ù.
 privilege ´Â ALL, SELECT, INSERT, UPDATE DELETE, 
                RULE ÁßÀÇ Çϳª ÀÌ»óÀÌ µÉ ¼ö ÀÖ´Ù.
 
                        
                            | grant <privilege[,privilege...]>on <rel1>[,...<reln>]
 to [public | group 
                            <group> | <username>]
 |  ±âº»ÀûÀ¸·Î ÇϳªÀÇ Å×À̺íÀº PostgreSQL 
                ÀÇ ¸ðµç »ç¿ëÀÚ°¡ Àбâ(select)¸¸ ÇÒ ¼ö ÀÖµµ·Ï µÇ¾îÀÖ´Ù. À̰ÍÀ» 
                ¿øÄ¡ ¾Ê´Â´Ù¸é ±ÇÇÑÀ» revoke ÇÒ ¼ö ÀÖ´Ù.
 ³¯¾¾ Å×ÀÌºí¿¡ ´ëÇÑ ¸ðµç ±ÇÇÑÀ» °øÁß¿¡ Çã¿ëÇÑ´Ù´Â 
                °ÍÀÌ´Ù.
 
                        
                            | grant all on ³¯¾¾ 
                            to public ; |  ÀÌ·²°æ¿¡ ¸ðµç PostgreSQL»ç¿ëÀÚ´Â ÇØ´ç 
                Å×À̺íÀ» ÀÐ°í ¾µ¼ö ÀÖ°Ô µÈ´Ù.
 Linuxer »ç¿ëÀÚ¿¡°Ô ³ª¾¾ Å×ÀÌºí¿¡ ´ëÇÑ ÀÔ·Â, 
                °»½Å, »èÁ¦ ±ÇÇÑÀ» ºÎ¿©ÇÏ´Â °ÍÀÌ´Ù. PostgreSQL ÀÇ Ä«Å»·Î±×¿¡ 
                º¸¸é pg_group À̶ó´Â °´Ã¼°¡ ÀÖ´Ù. PostgreSQLÀÇ Ä«Å»·Î±×´Â ´Ù¸¥ 
                RDBMS¿¡ ºñÇØ »ó´çÈ÷ º¹ÀâÇϰí, Àú±ÞÀûÀÎ ÀÎÅÍÆäÀ̽º¸¦ °¡Áö°í ÀÖ´Ù°í 
                »ý°¢ÇÑ´Ù. ÀÌ pg_group īŻ·Î±×¿Í grant¸¦ Àß »ç¿ëÇϸé, ƯÁ¤ ÇÁ·ÎÁ§Æ®¸¦ 
                ¼öÇàÇϰí ÀÖ´Â µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ ±×·ì¿¡°Ô¸¸ ±ÇÇÑÀ» ºÎ¿©ÇÒ ¼öµµ 
                ÀÖ´Ù. Âü°í·Î pg_group īŻ·Î±×´Â ´ÙÀ½ÀÇ Ä÷³À¸·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. 
                
 
                        
                            | mydb=> ¡¬d 
                            pg_groupTable = pg_group
 
 
                                
                                        
                                            | Field | Type | length |  
                                        | groname | name | 32 |  
                                        | grosysid | int4 | 4 |  
                                        | grolist | int4[] | var |  |   ÇØ´ç ±×·ìÀÌ users ¶ó´Â ±×·ìÀ̰í, 
                À¯´Ð½º ±×·ì ¾ÆÀ̵ð(/etc/group ¿¡ ³ªÅ¸³ ¹øÈ£)°¡ 100À̰í, À̵é 
                ±×·ì¿¡ Æ÷ÇÔ½Ã۰íÀÚ ÇÏ´Â »ç¿ëÀÚÀÇ UNIX¾ÆÀ̵ð(/etc/passwd ¿¡ 
                ³ªÅ¸³ ¹øÈ£)°¡ 501, 510 À̶ó¸é, ¸ÕÀú postgres °èÁ¤À¸·Î µ¥ÀÌÅͺ£À̽º¿¡ 
                Á¢¼ÓÇÏ¿©, À̵鿡 ´ëÇÑ ±×·ì¼³Á¤À» ÇØÁØ´Ù.
 ÀÌÁ¦ 501, 510 »ç¿ëÀÚ°¡ users ¶ó´Â ±×·ì¸íÀ¸·Î 
                pg_group Ä«´Þ·Î±×¿¡ Æ÷ÇÔÀ» ½ÃÄ×´Ù.
 
                        
                            | mydb=>insert 
                            into pg_group values ('users', 100, '{501,510}') 
                            ;INSERT 536064 1
 |  ÀÌÁ¦ ƯÁ¤ Å×ÀÌºí¿¡ ´ëÇÑ ±ÇÇÑÀ» ÀÌµé ±×·ì¿¡°Ô¸¸ 
                ºÎ¿©Çغ¸ÀÚ.
 
 
                        
                            | mydb=>grant 
                            all on ³¯¾¾ to group users ;CHANGE
 mydb=>
 |    revokerevoke´Â 
                ¸» ±×´ë·Î ±ÇÇÑÀ» Ãë¼ÒÇÑ´Ù´Â ÀǹÌÀÌ´Ù. ¹®¹ýÀº grant¿Í µ¿ÀÏÇϰí, 
                to ¿Í from ¸¸ ´Ù¸£´Ù.
 ¿ª½Ã privilege ´Â ALL, SELECT, INSERT, UPDATE, 
                DELETE, RULE Áß Çϳª ÀÌ»óÀÌ µÉ ¼ö ÀÖ´Ù. 
 
                        
                            | revoke <privilege[,privilege...]>on <rel1>[,...<reln>]
 from [public | group 
                            <group> | <username>]
 |  grant¿¡¼ ºÎ¿©ÇÑ ±ÇÇÑÀ» Â÷·Ê·Î Ãë¼ÒÇØº¸ÀÚ.
 
 
                        
                            | revoke all on 
                            ³¯¾¾ from public ;revoke insert, update, delete 
                            on ³¯¾¾ from linuxer ;
 revoke all on ³¯¾¾ from 
                            group users ;
 |    12) ÁúÀÇ ºÐ¼® 
                explain Àº ÁúÀÇÀÇ È¿À²¼ºÀ» ºÐ¼®ÇÏ´Â µ¥ µµ¿òÀ» 
                ÁÖ´Â ¸í·É¾îÀÌ´Ù. explain µÚ¿¡ »ç¿ëÇÒ ÁúÀǸ¦ ¸í½ÃÇϸé ÁúÀǸ¦ 
                ½ÇÇàÇÏ´Â ´ë½Å, ¿ÉƼ¸¶ÀÌÀú°¡ °èȹÇÑ ÁúÀÇÀÇ ½ÇÇà°æ·Î¿Í °èȹ´Ü°è¸¦ 
                »ç¿ëÀÚ¿¡°Ô ¾Ë·ÁÁØ´Ù. µû¶ó¼, ´ëÇüÈµÈ µ¥ÀÌÅͺ£À̽º¿¡¼ ÁúÀÇÀÇ 
                ÃÖÀûȸ¦ ¼º¸³ÇÏ´Â µ¥ µµ¿òÀ» ÁÖ°Ô µÈ´Ù.  explain ¿¡ verbose¸¦ »ç¿ëÇÏ¸é ´õ ÀÚ¼¼ÇÑ ÁúÀÇ 
                ½ÇÇà°èȹÀ» ¾Ë ¼ö ÀÖ´Ù. 
 
                        
                            | mydb=> ¡¬h 
                            explain ;Command : explain
 Description 
                            : explain the query execution plan
 Syntax :
 explain [verbose] <query>
 mydb=> explain 
                            select *from ³¯¾¾ ;
 NOTICE : QUERY PLAN :
 Seq Scan on ³¯¾¾ (cost =1.36  size =11  width 
                            = 32)
 EXPLAIN
 mydb=> explain verbose 
                            select *from ³¯¾¾ ;
 NOTICE : QUERY PLAN 
                            :
 {SEQSCAN :cost 1.363  :size 11 :width 
                            32  : state nil  :qptargetlist
 ({TLE 
                             :resdom { RESDOM  :resno 1  :restype 
                            1043  :reslen -1  :resname
 "µµ½Ã" 
                             :reskey 0  :reskeyop 0  :resjunk 
                            0}  :expr  {VAR  :varno 1 :varattno 
                            1
 :vartype 1043  :varnoold 1  :varoattno 
                            1}} {TLE  :resdom {RESDOM
 :resno 
                            2  :restype 23  :resnel 4  :resname 
                            "ÃÖÀú¿Âµµ"  :reskey 0  :reskeyop 
                            0
 :resjunk 0}  :expr  {VAR  :varno 
                            1  :varattno 2  :vartype 23  :varnoold 
                            1
 :varoattno 2}} {TLE  :resdom {RESDOM 
                             :resno 3  :restype 23  :resnel 4
 :resname "ÃÖ°í¿Âµµ"  :reskey 
                            0  :reskeyop 0  :resjunk 0}  :expr 
                             {VAR  :varno 1 :varattno 3  :vartype 
                            23  :varnoold 1  :varoattno 3}} {TLE  :resdom
 {RESDOM  :resno 4  :restype 701  :resnel 
                            8  :resname "°¼ö·®"  :reskey 
                            0
 :reskeyop 0  :resjunk 0}  :expr 
                             {VAR  :varno 1  :varattno 4 :vartype 
                            701
 :varnoold 1 :varoattno 4}} {TLE  :resdom 
                            {RESDOM  :resno 5  :restype
 1082  :resnel 
                            4  :resname "³¯Â¥"  :reskey 
                            0  :reskeyop 0  :resjunk 0}  :expr
 {VAR  :varno 1  :varattno 5  :vartype 
                            1082  :varnoold 1  :varoattno 5}})
 :qpqual nil :lefttree nil :righttree nil :scanrelid 
                            1}
 Seq Scan on ³¯¾¾ (cost =1.36  size =11 
                             width = 32)
 EXPLAIN
 mydb=>
 |    13) Ä¿¼ »ç¿ëÇϱâ 
                declaredeclare´Â 
                Ä¿¼¸¦ Á¤ÀÇÇÑ´Ù. SQL ¿¡¼ Ä¿¼´Â ÀÏÁ¾ÀÇ ÆÄÀÏ ½ºÆ®¸²°ú °°Àº ¿ªÇÒÀ» 
                ÇÏ´Â °ÍÀÌ´Ù. ÆÄÀÏÀ» ¿¾î¼ FILE * ½ºÆ®¸²À¸·Î ¿¬°áÇÏ¿© »ç¿ëÇϵíÀÌ, 
                SQL ¿¡¼´Â µ¥ÀÌÅͺ£À̽ºÀÇ µ¥ÀÌÅ͸¦ SELECT ·Î ȸ¼öÇÏ¿© Ä¿¼¿Í 
                ¿¬°áÇÏ¿© »ç¿ëÇÑ´Ù.
 selsct ±¸¹®Àº ¾ÕÀü°ú µ¿ÀÏÇÏ´Ù. SELECT ±¸¹®ÀÇ 
                °æ°ú¸¦ Ä¿¼ cursorname °ú ¿¬°áÇÏ¿© Á¤ÀÇÇÏ´Â °ÍÀÌ´Ù. 
 
                        
                            | declare cursorname 
                            [ binary ] cursor for select statement |  ¿©±â¿¡¼ binary ¿¡ ÁÖ¸ñÇÒ Çʿ䰡 ÀÖ´Ù. 
                Ä¿¼´Â ÀϹÝÀûÀ¸·Î ¾Æ½ºÅ° ÇüÅ·Πµ¥ÀÌÅ͸¦ ¹ÝȯÇÑ´Ù. µ¥ÀÌÅÍ´Â 
                ÀÚ¿¬½º·´°Ô ¹ÙÀ̳ʸ® Çü½ÄÀ¸·Î ÀúÀåµÇ±â ¶§¹®¿¡, ½Ã½ºÅÛÀº À̰ÍÀ» 
                ¾Æ½ºÅ° Çü½ÄÀ¸·Î º¯È¯ÇØ¾ß ÇÑ´Ù. ¾Æ½ºÅ° Çü½ÄÀº Å©±â¸é¿¡¼ ¹ÙÀ̳ʸ® 
                Çü½Äº¸´Ù´Â ÀϹÝÀûÀ¸·Î Å« °æ¿ì°¡ ¸¹´Ù. µ¥ÀÌÅͰ¡ ¾Æ½ºÅ° Çü½ÄÀ¸·Î 
                º¯È¯µÇ¾úÀ» ¶§, Ŭ¶óÀÌ¾ðÆ® ¾îÇø®ÄÉÀ̼ÇÀº µ¥ÀÌÅ͸¦ ¾î¶² ¸ñÀûÀ¸·Î 
                ó¸®Çϱâ À§ÇØ ¹ÙÀ̳ʸ® Çü½ÄÀ¸·Î º¯È¯ÇØ¾ß ÇÒ Çʿ䰡 ÀÖÀ» °ÍÀÌ´Ù. 
                 ¹ÙÀ̳ʸ® Ä¿¼´Â »ç¿ëÀÚ¿¡°Ô µ¥ÀÌÅ͸¦ ¹ÙÀ̳ʸ® Çü½ÄÀ¸·Î 
                Àü´ÞÇÑ´Ù. µû¶ó¼, ¹ÙÀ̳ʸ® Ä¿¼´Â º¯È¯¿¡ ¼Ò¸ðµÇ´Â ¿À¹öÇìµå°¡ 
                ¾ø±â ¶§¹®¿¡ Á»´õ ºü¸£´Ù. ÇÏÁö¸¸, ¾Æ½ºÅ° Çü½ÄÀº ¾ÆÅ°ÅØÃÄ¿¡ ºñ±³Àû 
                ¿µÇâÀ» ¹ÞÁö ¾ÊÁö¸¸, ¹ÙÀ̳ʸ® Çü½ÄÀº ¸Ó½®¿¡ µû¶ó ´Þ¶óÁö±â ½±»óÀÌ´Ù. 
                µû¶ó¼, Ŭ¶óÀÌ¾ðÆ® ¸Ó½®°ú ¼¹ö ¸Ó½®ÀÌ ¼·Î ´Ù¸¥ ¹ÙÀ̳ʸ® Çü½ÄÀ» 
                »ç¿ëÇÑ´Ù¸é, ¿øÄ¡ ¾Ê´Â °á°ú°¡ ³ªÅ¸³¯ ¼öµµ ÀÖ´Ù. ÁÖ ¸ñÀûÀÌ µ¥ÀÌÅ͸¦ 
                ¾Æ½ºÅ° ÇüÅ·Πº¸¿©ÁÖ±â À§ÇÑ °ÍÀ̶ó¸é ¾Æ½ºÅ° ÇüÅ·ΠĿ¼¸¦ ¼±¾ðÇÏ´Â 
                °ÍÀÌ ÁÁ´Ù.
 fetchfetch 
                ´Â Ä¿¼¿¡¼ ÀνºÅϽº¸¦ ÀûÀçÇÏ´Â ÀÏÀ» ÇÑ´Ù. ÆÄÀÏ ½ºÆ®¸²(Ä¿¼)¿¡¼ 
                fgets ÇÔ¼öµîÀ¸·Î ºÒ·¯¿À´Â ÀÏ(fetch) °ú ºñ½ÁÇÏ´Ù°í º¼ ¼ö ÀÖ´Ù.
 number ´Â cursor_name Ä¿¼¿¡¼ ºÒ·¯¿Ã ÀνºÅϽºÀÇ 
                °¹¼öÀÌ´Ù. 
 
                        
                            | fetch [(forward 
                            | backward)] [(number | all)] [in cursor_name] |  ÇØ´ç Ä¿¼¿¡ ³²¾ÆÀÖ´Â ÀνºÅϽº°¡ number 
                º¸´Ù Àû´Ù¸é ³²¾ÆÀÖ´Â °Í¸¸ ÀûÀçµÈ´Ù. all Àº ÇöÀç Ä¿¼¿¡ ³²¾ÆÀÖ´Â 
                ¸ðµç ÀνºÅϽº¸¦ ºÒ·¯¿Â´Ù. forward ¿Í backward ´Â Ä¿¼¿¡¼ ¾ÕµÚ·Î 
                ¿òÁ÷À̸ç ÀûÀçÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. Áï, ÆÄÀÏ ½ºÆ®¸²¿¡¼ Á¤¹æÇâ(forward)À¸·Î, 
                ¶Ç´Â °Å²Ù·Î(backward) µ¹¾Æ°¡´Â °Í°ú ºñ½ÁÇÏ´Ù°í º¸¸é µÈ´Ù. ±âº»Àº 
                ¹°·Ð forward ÀÌ´Ù. fetch ¸í·É¾î´Â Æ®·£Àè¼Ç ºí·Ï ¾È¿¡¼ »ç¿ëµÇ¾î¾ß 
                ÇÑ´Ù. ±×¸®°í, Ä¿¼¸¦ »ç¿ëÇÏ°í ³ ´ÙÀ½¿¡´Â Ä¿¼ cursor_name °ú 
                °ü·ÃµÇ´Â ÀÚ¿øÀ» ÇØÁ¦Çϱâ À§ÇØ close ÇØÁÖ¾î¾ß ÇÑ´Ù. Æ®·£Àè¼Ç 
                ³»ºÎ¿¡¼ declare ¿Í fetch¸¦ »ç¿ëÇÏ´Â ¼ø¼´Â ´ÙÀ½°ú °°´Ù.
 ¾Ë¾Æº¸±â ½±°Ô °£´ÜÇÑ Å×À̺íÀ» ¸¸µé¾î¼ Ä¿¼¸¦ 
                ¼±¾ðÇØ º¸ÀÚ  ù ´Ü°è¿¡¼ 5°³¸¦ fetch ÇÏ¿´À» °æ¿ì¿¡´Â, Ä¿¼ 
                ³»ÀÇ À§Ä¡°¡ 0 ¿¡¼ ½ÃÀÛÇÏ¿© 1, 2, 3, 4, 5 ÀÇ 5°³¸¦ ºÒ·¯¿Í¼ 
                5¿¡ À§Ä¡ÇÏ°Ô µÇ°í, °Å²Ù·Î 3°³¸¦ fetch ÇÏ¿´À» °æ¿ì¿¡´Â 4, 3, 
                2 ÀÇ 3 °³¸¦ ºÒ·¯¿Í¼ 2±îÁö °¡°Ô µÇ¸ç, ¿©±â¼ Á¤¹æÇâÀ¸·Î 4°³¸¦ 
                fetch ÇÏ¿´À» °æ¿ì¿¡´Â 3,4 , 5, 6 À» ºÒ·¯¿ÔÀ½À» ¾Ë ¼ö ÀÖ´Ù. fetch 
                all Àº ³ª¸ÓÁö¸¦ ¸ðµÎ º¸¿©ÁØ´Ù. 
 
                        
                            | BEGIN -> DECLARE 
                            CURSOR -> FETCH INSTANCE IN CURSOR -> CLOSE CURSOR -> END
 |  
 
                        
                            | mydb=> create 
                            table test3 (num int4) ;CREATE
 mydb=> 
                            copy test3 from stdin ;
 Enter info followed 
                            by a newline
 End with a backslash and a period 
                            on a line by itself.
 >>1
 >>2
 >>3
 >>4
 >>5
 >>6
 >>7
 >>8
 >>9
 >>10
 >>¡¬.
 mydb=> begin ;
 BEGIN
 mydb=> declare mycursor cursor for select *from 
                            test3 ;
 SELECT
 mydb=> fetch 5 in mycursor ;
 num
 ---
 1
 2
 3
 4
 5
 (5 
                            rows)
 mydb=> fetch backward 3 in 
                            mycursor ;num
 ---
 4
 3
 2
 (3 rows)
 mydb=> fetch forward 4 in mycursor ;num
 ---
 3
 4
 5
 6
 (4 rows)
 mydb=> fetch all in mycursor ;num
 ---
 7
 8
 9
 10
 (4 rows)
 mydb=>close mycursor ;CLOSE
 mydb=>end ;
 END
 mydb=>
 |    14) Á¦°ÅµÈ µ¥ÀÌÅÍÀÇ ¹°¸®ÀûÀÎ »èÁ¦  
                vacuum Àº µ¥ÀÌÅͺ£À̽º¸¦ Á¤¸®ÇÏ´Â °ÍÀÌ¶ó º¸¸é 
                µÈ´Ù. µ¥ÀÌÅͺ£À̽ºÀÇ ·Î¿ì¸¦ Á¦°ÅÇÏ¿´´Ù ÇÏ´õ¶óµµ ¾ÆÁ÷ µ¥ÀÌÅͺ£À̽º¿¡ 
                ³²¾ÆÀÖ´Ù. ¹«½¼ À̾߱䰡 Çϸé, Áï, Å×À̺íÀÇ µ¥ÀÌÅ͸¦ Áö¿ü´Ù°í ÇÏ´õ¶óµµ, µ¥ÀÌÅÍ 
                ÀÚü°¡ ¹°¸®ÀûÀ¸·Î Áö¿öÁø °ÍÀÌ ¾Æ´Ï°í PostgreSQL¿¡¼ Áö¿öÁø µ¥ÀÌÅͶó´Â 
                Ç¥½Ã¸¸ Çϰí, µ¥ÀÌÅÍ´Â ±×´ë·Î ÀúÀåµÇ¾î ÀÖ´Ù´Â °ÍÀÌ´Ù.
 
                        
                            | mydb=> select 
                            *from ǥ1 ;i
 -
 10
 (1 row)
 mydb=>delete from Ç¥1 ; DELETE 1
 mydb=> select *from ǥ1 ;
 i
 -
 (0 rows)
 mydb=> select *from ǥ1['epoch', 
                            'now'] ;i
 -
 10
 (1 row)
 mydb=> vacuum ; VACUUM
 mydb=> select *from ǥ1['epoch', 'now'] ;
 i
 -
 (0 rows)
 mydb=>  |  ±×·¡¼ µ¥ÀÌÅÍ È¸¼ö½Ã¿¡ ½Ã°£ÁöÁ¤À» ÇØÁÖ¸é 
                Áö¿öÁø µ¥ÀÌÅͶó ÇÒÁö¶óµµ °Ë»öÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. vacuum Àº Á¦°ÅµÈ 
                µ¥ÀÌÅ͸¦ ¹°¸®ÀûÀ¸·Î Á¦°ÅÇØ ¹ö¸°´Ù. vacuumÀ» ½ÇÇàÇϱâ Àü¿¡ Áö¿öÁø 
                µ¥ÀÌÅ͵éÀÌ º° ÇÊ¿ä¾ø´ÂÁö¸¦ ´Ù½Ã Çѹø È®ÀÎÇØ º¸´Â °ÍÀÌ ÁÁ´Ù. 
                Çѹø¾¿ vacuumÀ» ½ÇÇàÇÏ´Â °ÍÀº µ¥ÀÌÅͺ£À̽º ó¸® ¼Óµµ¸¦ Çâ»ó½ÃŰ´Â 
                Æ©´×ÀÇ ÇѰ¡Áö ¹æ¹ýÀÌ´Ù.
 
 
 ¡ã top
 
 
 |