| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 8. µ¥ÀÌÅÍ Å¸ÀÔ | Fast Forward | Next |
byteaµ¥ÀÌÅÍÇüÀº ¹ÙÀ̳ʸ®¿ÀÇ º¸Á¸À» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. Table 8-6¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
Table 8-6. ¹ÙÀ̳ʸ® µ¥ÀÌÅÍÇü
| À̸§ | ÀúÀå Å©±â | ¼³¸í |
|---|---|---|
| bytea | 1¶Ç´Â 4¹ÙÀÌÆ®¿Í ½ÇÁ¦ÀÇ ¹ÙÀ̳ʸ® ¹®ÀÚ¿ÀÇ ±æÀÌ | °¡º¯ ±æÀÌÀÇ ¹ÙÀ̳ʸ® ij¸¯ÅÍ ¶óÀÎ |
¹ÙÀ̳ʸ® ij¸¯ÅÍ ¶óÀÎÀº 8Áßâ(¶Ç´Â ¹ÙÀÌÆ®)ÀÇ ¿¬¼ÓÀÔ´Ï´Ù. ¹ÙÀ̳ʸ® ij¸¯ÅÍ ¶óÀÎÀÌ Ä³¸¯ÅÍ ¶óÀΰú ´Ù¸¥ Á¡Àº ´ÙÀ½ÀÇ 2Á¡ÀÔ´Ï´Ù. 1Á¡¸ñÀº, ¹ÙÀ̳ʸ® ij¸¯ÅÍ ¶óÀÎÀº Á¦·ÎÀÇ °ªÀÇ 8Áßâ°ú ´Ù¸¥"Ç¥½ÃÇÒ ¼ö ¾ø´Â"8Áßâ(º¸Åë 32¿¡¼ 126ÀÇ ¹üÀ§¿ÜÀÇ 8Áßâ)À» º¸Á¸ÇÒ ¼ö ÀÖ´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù. ij¸¯ÅÍ ¶óÀο¡¼´Â Á¦·Î¶ó°í ÇÏ´Â 8ÁßâÀº »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ¶Ç, µ¥ÀÌÅͺ£À̽º·Î ¼±ÅÃÇϰí Àִ ij¸¯ÅÍ ¼¼Æ® encode ¹æ½Ä¿¡¼ ¹«È¿ÀÎ 8Áßâġ³ª 8ÁßâġÀÇ ÁÙµµ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. 2Á¡¸ñÀº, ¹ÙÀ̳ʸ® ij¸¯ÅÍ ¶óÀÎÀ» ¿¬»êÇÏ¸é ½ÇÁ¦ÀÇ ¹ÙÀÌÆ®°¡ 󸮵Ǵµ¥ ´ëÇØ, ij¸¯ÅÍ ¶óÀÎÀÇ Ã³¸®´Â ·ÎÄÉÀÏ ¼³Á¤¿¡ µû¸¥´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù. Á¤¸®Çϸé, ¹ÙÀ̳ʸ® ij¸¯ÅÍ ¶óÀÎÀº ÇÁ·Î±×·¡¸Ó°¡"¹ÙÀÌÆ®¿ ±× ÀÚü"¶ó°í »ý°¢ÇÏ´Â °ÍÀ» ÀúÀåÇϴµ¥ ÀûÇÕÇØ, ij¸¯ÅÍ ¶óÀÎÀº ÅØ½ºÆ®¸¦ ÀúÀåÇϴµ¥ ÀûÇÕÇÕ´Ï´Ù.
byteaÄ¡¸¦ ÀÔ·ÂÇÒ ¶§¿¡, ƯÁ¤ÀÇ °ªÀÇ 8ÁßâÀ»SQL¹®³»ÀÇ Ä³¸¯ÅÍ ¶óÀÎ ¸®ÅÍ·²ÀÇ ÀϺημ »ç¿ëÇÏ·Á¸é , ±× 8ÁßâÀ» À̽ºÄÉÀÌÇÁ ÇÒ ÇÊ¿ä °¡ ÀÖ½À´Ï´Ù(µ¡ºÙ¿© ¸ðµç 8ÁßâÀÇ °ªÀ» À̽ºÄÉÀÌÇÁ ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù ). ÀϹÝÀûÀ¸·Î ÀÖ´Â 8ÁßâÀ» À̽ºÄÉÀÌÇÁ ÇÏ·Á¸é , ±× 10Áø8Áßâġ¿¡ µ¿ÀÏÇÑ 3ÀÚ¸®¼öÀÇ 8Áø¹øÈ£·Î º¯È¯ÇØ, 2°³ÀÇ backslash¸¦ ¾Õ¿¡ µÎ°í ºÙÀÔ´Ï´Ù. Table 8-7¿¡´Â, À̽ºÄÉÀÌÇÁ ÇÒ Çʿ䰡 ÀÖ´Â ¹®ÀÚ¿Í ±× Àû¿ë °¡´ÉÇÑ ´ëü escape sequence¸¦ ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.
Table 8-7. 8ÁßâÀ» À̽ºÄÉÀÌÇÁ ÇÑbytea¸®ÅÍ·²
| 10Áø8Áßâġ | ¼³¸í | À̽ºÄÉÀÌÇÁ µÈ ÀԷ ǥÇö | ¿¹ | Ãâ·Â Ç¥Çö |
|---|---|---|---|---|
| 0 | Á¦·Î 8Áßâ | E'\\000' | SELECT E'\\000'::bytea; | \000 |
| 39 | ´ÜÀÏ ÀοëºÎÈ£ | ''''ȤÀºE'\\047' | SELECT E'\''::bytea; | ' |
| 92 | backslash | SELECT E'\\\\'::bytea; | \\ | |
| 0 to 31 and 127 to 255 | "Ç¥½ÃÇÒ ¼ö ¾ø´Â"8Áßâ | E'\\ xxx' (8 Áø¼ö) | SELECT E'\\001'::bytea; | \001 |
½ÇÁ¦·Î´Â,"Ç¥½ÃÇÒ ¼ö ¾ø´Â"8Áßâ¿¡ ´ëÇÑ À̽ºÄÉÀÌÇÁ ¿ä±¸´Â ·ÎÄÉÀÏÀÇ ¼³Á¤¿¡ ÀÇÁ¸ÇØ º¯ÈÇÕ´Ï´Ù. ÀνºÅϽº¿¡ µû¶ó¼´Â, À̽ºÄÉÀÌÇÁ¸¦ ÇÏÁö ¾Ê°í ³¡³ª´Â Àϵµ ÀÖ½À´Ï´Ù. Table 8-7ÀÇ ¿¹ÀÇ °¢ °á°ú´Â, Á¦·Î 8Áßâ°ú backslashÀÇ Ãâ·Â Ç¥ÇöÀÌ 1 ¹®ÀÚ ÀÌ»óÀ̾, ±æÀÌ´Â Á¤È®ÇÏ°Ô 1 8ÁßâÀÎ °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.
Table 8-7±×¸®°í °¡¸®Å² °Íó·³, ¸¹Àº backslash¸¦ ºÙÀÌÁö ¾ÊÀ¸¸é ¾È µÇ´Â ÀÌÀ¯´Â, ij¸¯ÅÍ ¶óÀÎ ¸®ÅÍ·²·Î¼ ±â¼úµÈ ÀԷ ij¸¯ÅÍ ¶óÀÎÀº,PostgreSQL¼¹ö»ó¿¡¼ 2°³ÀÇ ÇØ¼® ´Ü°è¸¦ Åë°úÇÒ Çʿ䰡 ÀÖ´Â °ÍÀÔ´Ï´Ù. °¢ Æí¼ºÀÇ ÃÖÃÊÀÇ backslash´Â ij¸¯ÅÍ ¶óÀÎ ¸®ÅÍ·²¿ë ÆÄ¼·Î À̽ºÄÉÀÌÇÁ ¹®ÀÚ¶ó°í ÇØ¼®(À̽ºÄÉÀÌÇÁ ij¸¯ÅÍ ¶óÀÎ ±¸¹®ÀÇ »ç¿ëÀ» ÀüÁ¦)µÇ¾î 2¹øÂ°ÀÇ backslash¸¦ ³²°Ü, °Å±â¼ ¼ÒºñµË´Ï´Ù. (ÀÌ ´Ü°èÀÇ À̽ºÄÉÀÌÇÁ¸¦ ÇÇÇϱâ À§Çؼ ´Þ·¯ ÀοëºÎÈ£¿¡ ÀÇÇÑ Ä³¸¯ÅÍ ¶óÀÎÀ» »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ) ³ª¸ÓÁöÀÇ backslash´Â,byteaÀÔ·Â ÇÔ¼ö°¡ 3ÀÚ¸®¼öÀÇ 8ÁßâġÀÇ ¼±µÎ¸¦ µÚµû¸£´Â ±âÈ£, ȤÀº, ´Ù¸¥ backslash¸¦ À̽ºÄÉÀÌÇÁ ÇÏ´Â ±âÈ£·Î¼ ÀνÄÇÕ´Ï´Ù. ¿¹¸¦ µé¸é,E'\\001'·Î¼ ¼¹ö¿¡°Ô °Ç³×Áø ij¸¯ÅÍ ¶óÀÎ ¸®ÅÍ·²Àº, À̽ºÄÉÀÌÇÁ ij¸¯ÅÍ ¶óÀÎ ÆÄ¼¸¦ Åë°úÇÑ ÈÄ\001¿Í °°ÀÌ µË´Ï´Ù. \001´Â ±× ÈÄbyteaÀÔ·Â ÇÔ¼ö¿¡ º¸³»Á® 10 Áø¼öÄ¡ 1ÀÇ ÇϳªÀÇ 8Áßâ¿¡ º¯È¯µË´Ï´Ù. ´ÜÀÏ ÀοëºÎÈ£ ¹®ÀÚ´Âbytea¿¡¼´Â Ưº°È÷ ´Ù·ç¾îÁöÁö ¾Ê°í, º¸ÅëÀÇ Ä³¸¯ÅÍ ¶óÀÎ ¸®ÅÍ·²ÀÇ ±ÔÄ¢¿¡ µû¸£´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä (Section 4.1.2.1µµ ÂüÁ¶ÇØ ÁÖ¼¼¿ä).
¶Ç,Bytea8ÁßâÀº Ãâ·Â½Ãµµ À̽ºÄÉÀÌÇÁ µË´Ï´Ù. ÀϹÝÀûÀ¸·Î´Â, °¢"Ç¥½ÃÇÒ ¼ö ¾ø´Â"8ÁßâÀº, 1°³ÀÇ backslashÀÇ µÚ¿¡ µî°¡ÀÎ 3ÀÚ¸®¼ö 8 Áø¼ö¶ó°í ÇÏ´Â ÇüÅ¿¡ º¯È¯µË´Ï´Ù. ´ëºÎºÐÀÇ"Ç¥½ÃÇÒ ¼ö ÀÖ´Â"8ÁßâÀº, Ŭ¶óÀÌ¾ðÆ® Ä³¸¯ÅÍ ¼¼Æ®¿¡ ÀÖ¾î¼ÀÇ Ç¥ÁØ Ç¥ÇöÀ¸·Î ³ªÅ¸³»Áý´Ï´Ù. 10 Áø¼ö·Î 92°¡ µÇ´Â 8Áßâ(backslash)Àº, ´Ù¸¥ Ưº°ÇÑ Ãâ·Â Ç¥ÇöÀÌ µË´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀºTable 8-8¿¡ ³ªÅ¸³À´Ï´Ù.
Table 8-8. byteaÃâ·ÂÀÇ À̽ºÄÉÀÌÇÁ µÈ 8Áßâ
| 10Áø8Áßâġ | ¼³¸í | À̽ºÄÉÀÌÇÁ µÈ Ãâ·Â Ç¥Çö | ¿¹ | Ãâ·Â °á°ú |
|---|---|---|---|---|
| 92 | backslash | \\ | SELECT E'\\134'::bytea; | \\ |
| 0¿¡¼ 31 ¹× 127¿¡¼ 255 | "Ç¥½ÃÇÒ ¼ö ¾ø´Â"8Áßâ | \ xxx (8 Áø¼ö) | SELECT E'\\001'::bytea; | \001 |
| 32¿¡¼ 126 | "Ç¥½ÃÇÒ ¼ö ÀÖ´Â"8Áßâ | Ŭ¶óÀÌ¾ðÆ® Ä³¸¯ÅÍ ¼¼Æ®¿¡ ÀÖ¾î¼ÀÇ Ç¥Çö | SELECT E'\\176'::bytea; | ~ |
»ç¿ëÇÏ´ÂPostgreSQLÀÇ ÇÁ·ÐÆ®¿£µå¿¡ µû¶ó¼´Â,byteaij¸¯ÅÍ ¶óÀÎÀ» À̽ºÄÉÀÌÇÁ ¶Ç´Â À̽ºÄÉÀÌÇÁ¸¦ ÇÏÁö ¾ÊÀ» ¶§¿¡, Ãß°¡ÀûÀÎ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ°Ô µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, »ç¿ëÇÏ´Â ÀÎÅÍÆäÀ̽º°¡ °³Çà ¹®ÀÚ³ª º¹±Í ¹®ÀÚ¸¦ ÀÚµ¿ÀûÀ¸·Î ¹ø¿ªÇØ ¹ö¸®´Â °æ¿ì, ÀÌ·¯ÇÑ ¹®ÀÚµµ À̽ºÄÉÀÌÇÁ ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï±îµµ ¾Ë·ÁÁöÁö ¾Ê½À´Ï´Ù.
Ç¥ÁØSQL¿¡¼´Â,BLOB¶Ç´ÂBINARY LARGE OBJECT¶ó°í ÇÏ´Â ´Ù¸¥ ¹ÙÀ̳ʸ® ij¸¯ÅÍ ¶óÀÎÇüÀ» Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù. ÀÔ·Â ¼½ÄÀºbytea¿Í ´Ù¸¨´Ï´Ù¸¸, ÁغñµÇ¾î ÀÖ´Â ÇÔ¼ö ¹× ¿¬»êÀÚ´Â °ÅÀÇ °°½À´Ï´Ù.