| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Fast Forward | Next | |
COPY
tablename
[ (
column
[, ...] ) ]
FROM { '
filename
' | STDIN }
[ [ WITH ]
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] '
delimiter
' ]
[ NULL [ AS ] '
null string
' ]
[ CSV [ HEADER ]
[ QUOTE [ AS ] '
quote
' ]
[ ESCAPE [ AS ] '
escape
' ]
[ FORCE NOT NULL
column
[, ...] ]
COPY {
tablename
[ (
column
[, ...] ) ] | (
query
) }
TO { '
filename
' | STDOUT }
[ [ WITH ]
[ BINARY ]
[ HEADER ]
[ OIDS ]
[ DELIMITER [ AS ] '
delimiter
' ]
[ NULL [ AS ] '
null string
' ]
[ CSV [ HEADER ]
[ QUOTE [ AS ] '
quote
' ]
[ ESCAPE [ AS ] '
escape
' ]
[ FORCE QUOTE
column
[, ...] ]
COPYÄ¿¸àµå´Â,PostgreSQLÀÇ Å×À̺í°ú Ç¥ÁØÀÇ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÆÄÀϰ£¿¡ µ¥ÀÌÅ͸¦ À̵¿ÇÕ´Ï´Ù. COPY TOÄ¿¸àµå´Â Å×À̺íÀÇ ³»¿ëÀ» ÆÄÀÏ ¿¡ º¹»çÇÕ´Ï´Ù. ¶Ç,COPY FROMÄ¿¸àµå´Â, ÆÄÀÏ ·ÎºÎÅÍ Å×À̺í·Î µ¥ÀÌÅ͸¦ º¹»çÇÕ´Ï´Ù(ÀÌ ¶§, ÀÌ¹Ì Å×ÀÌºí¿¡ ÀÖ´Â µ¥ÀÌÅÍ¿¡ º¹»çÇÑ ³»¿ëÀ» Ãß°¡ÇÕ´Ï´Ù). ¶ÇÇÑ,COPY TO¿¡ ÀÇÇØSELECTÄõ¸®ÀÇ °á°ú¸¦ º¹»çÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
¿ÀÇ ¸®½ºÆ®°¡ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì,COPY´Â, ÁöÁ¤µÈ ¿ ³»¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ ÆÄÀÏ·Î ¶Ç´Â ÆÄÀϷκÎÅÍ º¹»ç¸¸À» ½ÇÇàÇÕ´Ï´Ù. ¿¸®½ºÆ®¿¡ Æ÷ÇÔµÇÁö ¾ÊÀº ¿ÀÌ Å×ÀÌºí ³»¿¡ ÀÖ´Â °æ¿ì,COPY FROM´Â, ±×·¯ÇÑ ¿¿¡ µðÆúÆ®°ªÀ» »ðÀÔÇÕ´Ï´Ù.
ÆÄÀϸí ÷ºÎÀÇCOPYÄ¿¸àµå´Â,PostgreSQL¼¹ö¿¡ ´ëÇØ¼ Á÷Á¢ ÆÄÀÏ¿¡ ÀÐ°í ¾²±â¸¦ Çϵµ·Ï, ½ÇÇàÇÕ´Ï´Ù. ÁöÁ¤ÇÑ ÆÄÀÏÀº ¹Ýµå½Ã ¼¹ö·ÎºÎÅÍ ¾×¼¼½º ÇØ¾ß ÇÕ´Ï´Ù. ¶Ç, ÆÄÀϸíÀº ¼¹öÀÇ °üÁ¡¿¡¼ º» °ÍÀ¸·Î ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù. STDIN¶Ç´ÂSTDOUT°¡ ÁöÁ¤µÇ¾úÀ» °æ¿ì, µ¥ÀÌÅʹ Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹öÀÇ Á¢¼ÓÀ» ÀÌ¿ëÇÏ¿© Àü¼ÛµË´Ï´Ù.
±âÁ¸ÀÇ Å×À̺íÀÇ À̸§(°ËÁõÀ» °ÅÄ£ ½ºÅ°¸¶)ÀÔ´Ï´Ù.
º¹»çÇÏ´Â ¿ÀÇ ¸®½ºÆ®ÀÔ´Ï´Ù. À̰ÍÀº »ý·« °¡´ÉÇÕ´Ï´Ù. ¿ÀÇ ¸®½ºÆ®°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â, Å×À̺íÀÇ ¸ðµç ¿ÀÌ º¹»çµË´Ï´Ù.
ÁöÁ¤ÇÑSELECTÄ¿¸àµå ¶Ç´Â VALUES Ä¿¸àµåÀÇ °á°ú°¡ º¹»çµË´Ï´Ù. Äõ¸®¸¦ °ýÈ£·Î ¹À» Çʿ䰡 ÀÖ´Ù´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.
ÀÔÃâ·Â ÆÄÀÏÀÇ Àý´ë °æ·Î¸íÀÔ´Ï´Ù. À©µµ¿ìÁî »ç¿ëÀÚÀÇ °æ¿ì, °æ·ÎÀÇ ºÐ¸®±âÈ£·Î¼ »ç¿ëµÈ ´õºí ¹é½½·¡½Ã ¹× E''¹®ÀÚ¿À» »ç¿ëÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ÀÔ·ÂÀÌ Å¬¶óÀÌ¾ðÆ® ¾îÇø®ÄÉÀ̼ǿ¡¼ ¿À´Â °ÍÀÓÀ» ÁöÁ¤ÇÕ´Ï´Ù.
Ãâ·ÂÀÌ Å¬¶óÀÌ¾ðÆ® ¾îÇø®ÄÉÀ̼ǿ¡¼ ¿À´Â °ÍÀÓÀ» ÁöÁ¤ÇÕ´Ï´Ù.
¸ðµç µ¥ÀÌÅ͸¦ ÅØ½ºÆ® º¸´Ù´Â ¹ÙÀ̳ʸ® Çü½Ä¿¡¼ ÀÐ°í ¾²±âÇϵµ·Ï ¼³Á¤ÇÕ´Ï´Ù. ¹ÙÀ̳ʸ® ¸ðµå¿¡¼´ÂDELIMITER,NULL,CSV¿É¼ÇÀ» ÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù.
°¢ ÇàÀÇ OID¸¦ º¹»çÇϵµ·Ï ÁöÁ¤ÇÕ´Ï´Ù (OID¸¦ °¡ÁöÁö ¾Ê´Â Å×ÀÌºí¿¡OIDS¸¦ ÁöÁ¤ÇÏ´Â °æ¿ì, ¶Ç´Â, query º¹»çÇÏ´Â °æ¿ì, ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù).
ÆÄÀÏÀÇ °¢ ÇàÀÇ ¿À» ºÐ¸®ÇÏ´Â 1°³ÀÇ ASCII ¹®ÀÚÀÔ´Ï´Ù. µðÆúÆ®´Â, ÅØ½ºÆ® ¸ðµå¿¡¼´Â ÅÇ ¹®ÀÚ,CSV¸ðµå¿¡¼´Â ÄÞ¸¶ÀÔ´Ï´Ù.
NULL°ªÀ» ³ªÅ¸³»´Â ¹®ÀÚ¿ÀÔ´Ï´Ù. µðÆúÆ®´Â, ÅØ½ºÆ® ¸ðµå¿¡¼´Â\N(backslash N),CSV¸ðµå¿¡¼´Â ÀοëºÎÈ£°¡ ¾ø´Â ºó °ªÀÔ´Ï´Ù. ±×·¯³ª, NULL°ª°ú °ø¹®ÀÚ¿À» ±¸º°ÇÒ Çʿ䰡 ¾ø´Â °æ¿ì´Â, ÅØ½ºÆ® ¸ðµå¿©µµ °ø¹®ÀÚ¿À» »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀ»¼öµµ ÀÖ½À´Ï´Ù.
Note: COPY FROMÀÇ °æ¿ì, ÀÌ ¹®ÀÚ¿°ú ÀÏÄ¡ÇÏ´Â µ¥ÀÌÅÍ ¿ä¼Ò´Â NULL°ªÀ¸·Î ÀúÀåµË´Ï´Ù. COPY TO½ÇÇà½Ã¿¡ »ç¿ëÇÑ °°Àº ¹®ÀÚ¿À» »ç¿ëÇϰí ÀÖÀ»Áö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.
ÄÞ¸¶·Î ºÐ¸®µÈ °ªÀÇ(CSV) ¸ðµå¸¦ ¼±ÅÃÇÕ´Ï´Ù.
Çì´õ¶óÀÎÀ» Æ÷ÇÔÇÑ ÆÄÀÏÀ» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ÆÄÀÏ¿¡´Â °¢ ¿ÀÇ À̸§ÀÌ ±âÀçµÇ¾î ÀÖ½À´Ï´Ù. Ãâ·ÂÀ¸·Î´Â, ¼±µÎÇà¿¡ Å×À̺íÀÇ ¿¸íÀÌ ÀÖ°í, ÀÔ·ÂÀ¸·Î´Â ¼±µÎÇàÀº ¹«½ÃµË´Ï´Ù.
CSV¿¡ ÀÖ¾î¼ÀÇ ÀοëºÎÈ£¿ëÀÇ ASCII ¹®ÀÚ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µðÆúÆ®´Â ÀÌÁß ÀοëºÎÈ£ÀÔ´Ï´Ù.
CSV¸ðµå¿¡ ÀÖ¾î¼ÀÇ µ¥ÀÌÅÍ ¹®ÀÚ °ªQUOTEÀÇ Àü¿¡ ³ªÅ¸³ª´Â ASCII ¹®ÀÚ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µðÆúÆ®´ÂQUOTEÀÇ °ª(Åë»óÀº ÀÌÁß ÀοëºÎÈ£)ÀÔ´Ï´Ù.
CSV¸ðµåÀÇCOPY TO¿¡ ´ëÇØ, ÁöÁ¤µÈ °¢ ¿³»¿¡ ÀÖ´Â ¸ðµç ºñNULL°ªÀ» °Á¦ÀûÀ¸·Î ÀοëºÎÈ£·Î µÑ·¯½Ô´Ï´Ù. NULLÃâ·ÂÀº ÀοëºÎÈ£·Î µÑ·¯½ÎÀÌÁö ¾Ê½À´Ï´Ù.
CSV¸ðµåÀÇCOPY FROM¿¡ ´ëÇØ, ÁöÁ¤µÈ °¢ ¿À» ÀοëºÎÈ£·Î µÑ·¯½Î¿© ÀÖ´Â °ÍÀ¸·Î °£ÁÖÇØ,NULL°ªÀº ¾ø´Â °ÍÀ¸·Î¼ 󸮵˴ϴÙ. CSV¸ðµåÀÇ µðÆúÆ®ÀÇ NULL ¹®ÀÚ¿('')ÀÌ Á¸ÀçÇÏ´Â °æ¿ì, À̰Ϳ¡ ÀÇÇØ °ªÀÌ ¼Ò½ÇÇØ, °ø¹®ÀÚ¿·Î¼ ÀԷµ˴ϴÙ.
Á¤»óÀûÀ¸·Î ¿Ï·áÇßÀ» °æ¿ì,COPYÄ¿¸àµå´Â, ÀÌÇÏÀÇ Çü½ÄÀÇ Ä¿¸àµå ű׸¦ ¹Ýȯ ÇÕ´Ï´Ù.
COPY count
count ´Â º¹»çµÈ ÇàÀÇ °³¼öÀÔ´Ï´Ù.
COPY´Â Åë»óÀÇ Å×ÀÌºí¿¡ ´ëÇØ¼¸¸ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ºä¿¡ ´ëÇØ¼ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ±×·¯³ª,COPY (SELECT * FROM viewname ) TO ...(¿Í)°ú ±â¼úÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
BINARYŰ¿öµå¸¦ ÁöÁ¤Çϸé, ¸ðµç µ¥ÀÌÅ͸¦ ÅØ½ºÆ® Çü½ÄÀÌ ¾Æ´Ñ, ¹ÙÀ̳ʸ® Çü½ÄÀ¸·Î ÀúÀå/Àб⸦ ½Ç½ÃÇÕ´Ï´Ù. Åë»óÀÇ ÅØ½ºÆ® ¸ðµåº¸´Ù ´Ù¼Ò µ¿ÀÛÀÌ »¡¶óÁý´Ï´Ù¸¸, ¹ÙÀ̳ʸ® Çü½ÄÀÇ ÆÄÀÏÀº, ´Ù¸¥ ¸Ó½Å ¾ÆÅ°ÅØÃijª ´Ù¸¥ ¹öÁ¯ÀÇPostgreSQL¿¡¼´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
COPY TOÀÇ °æ¿ì´Â °ªÀ» ÀоîµéÀÌ´Â Å×ÀÌºí¿¡ ´ëÇÑ SELECT ±ÇÇÑÀÌ,COPY FROMÀÇ °æ¿ì´Â °ªÀ» »ðÀÔÇÏ´Â Å×ÀÌºí¿¡ ´ëÇÑ INSERT ±ÇÇÑÀÌ ÇÊ¿äÇÕ´Ï´Ù.
COPYÄ¿¸àµå·Î ÁöÁ¤ÇÏ´Â ÆÄÀÏÀº, Ŭ¶óÀÌ¾ðÆ® ¾îÇø®ÄÉÀ̼ÇÀÌ ¾Æ´Ñ, ¼¹ö°¡ Á÷Á¢ Àбâ/±âÀÔÀ» ½Ç½ÃÇÕ´Ï´Ù. µû¶ó¼, ±×·¯ÇÑ ÆÄÀÏÀº, Ŭ¶óÀÌ¾ðÆ®°¡ ¾Æ´Ñ, µ¥ÀÌÅÍ º£À̽º ¼¹ö ¸Ó½Å»ó¿¡ Á¸ÀçÇÏ´ÂÁö, ¶Ç´Â, µ¥ÀÌÅͺ£À̽º ¼¹ö ¸Ó½Å¿¡ ¾×¼¼½º°¡ °¡´ÉÇØ¾ß ÇÕ´Ï´Ù. °Ô´Ù°¡ Ŭ¶óÀÌ¾ðÆ®´Â ¾Æ´Ñ,PostgreSQL»ç¿ëÀÚ(¼¹ö¸¦ ½ÇÇàÇϰí ÀÖ´Â »ç¿ëÀÚ ID)°¡, ÀÐ°í ¾²´Â ±ÇÇÑÀ» °¡Áö°í ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. ÆÄÀϸíÀ» ÁöÁ¤ÇÑCOPYÄ¿¸àµå´Â, µ¥ÀÌÅͺ£À̽ºÀÇ ½´ÆÛ À¯Àú¸¸ÀÌ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Ä¿¸àµå¿¡ ÀÇÇØ, ¼¹ö°¡ ¾×¼¼½º ±ÇÇÑÀ» °¡Áö´Â ¸ðµç ÆÄÀÏÀ» Àаųª, ±âÀÔÇÏ´Â °ÍÀÌ °¡´ÉÇÏ°Ô µÇ±â ¶§¹®ÀÔ´Ï´Ù.
COPY´ÂpsqlÀÇ\copy¿Í È¥µ¿ÇÏÁö ¸¶¼¼¿ä. \copy´ÂCOPY FROM STDIN³ªCOPY TO STDOUT¸¦ È£ÃâÇØ,psqlŬ¶óÀÌ¾ðÆ®·ÎºÎÅÍ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Â ÆÄÀÏ¿¡ µ¥ÀÌÅÍÀÇ È£Ãâ/ÀúÀåÀ» ½Ç½ÃÇÕ´Ï´Ù. µû¶ó¼,\copyÄ¿¸àµåÀÇ »ç¿ë½Ã, ÆÄÀÏ¿¡ÀÇ ¾×¼¼½º °¡´É¼º ¹× ÆÄÀÏ¿¡ ´ëÇÑ ¾×¼¼½º±ÇÇÑÀÇ À¯¹«´Â, ¼¹ö´Â ¾Æ´Ï¶ó, Ŭ¶óÀÌ¾ðÆ® Ãø¿¡ ÀÇÁ¸ÇÕ´Ï´Ù.
COPY·Î ÆÄÀϸíÀ» ÁöÁ¤ÇÒ ¶§´Â, Ç×»ó Àý´ë°æ·Î·Î ±â¼úÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. COPY TOÄ¿¸àµåÀÇ °æ¿ì´Â ¼¹ö¿¡ ÀÇÇØ °Á¦ÀûÀ¸·Î Àý´ë°æ·Î ÁöÁ¤À¸·Î ¸ô¸³´Ï´Ù¸¸,COPY FROMÄ¿¸àµå¿¡¼´Â »ó´ë°æ·Î·Î ÁöÁ¤µÈ ÆÄÀÏÀ» ÀоîµéÀÌ´Â Àϵµ °¡´É ÇÕ´Ï´Ù. ÈÄÀÚÀÇ °æ·Î´Â, Ŭ¶óÀ̾ðÆ®ÀÇ ÀÛ¾÷ µð·ºÅ丮´Â ¾Æ´Ï°í, ¼¹ö ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮(Åë»óÀº Ŭ·¯½ºÅÍÀÇ µ¥ÀÌÅÍ µð·ºÅ丮)·ÎºÎÅÍÀÇ »ó´ëÀûÀÎ µð·ºÅ丮·Î¼ ÇØ¼®µË´Ï´Ù.
COPY FROM´Â, Ç༱Áö Å×À̺í»ó¿¡¼ ÀÓÀÇÀÇ Æ®¸®°Å ¹× üũ Á¦¾àÀ» È£ÃâÇÕ´Ï´Ù¸¸, ·êÀº È£ÃâÇÏÁö ¾Ê½À´Ï´Ù.
COPYÀÇ ÀÔÃâ·ÂÀºDateStyleÀÇ ¿µÇâÀ» ¹Þ½À´Ï´Ù. µðÆúÆ® ÀÌ¿ÜÀÇDateStyle°¡ ¼³Á¤µÈ °¡´É¼ºÀÌ ÀÖ´ÂPostgreSQLInstallation¿ÍÀÇ À̽ÄÀ» È®½ÇÇÏ°Ô ÇÏ°í ½ÍÀº °æ¿ì´Â,COPY TO¸¦ »ç¿ëÇϱâ Àü¿¡DateStyle¸¦ISO·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
COPY¿¡¼´Â, ¿¡·¯°¡ ¹ß»ýÇÏÀÚ¸¶ÀÚ ½ÇÇà Á¤ÁöÇÕ´Ï´Ù. COPY TOÄ¿¸àµåÀÇ ½ÇÇà¿¡¼´Â ¾Æ¹«·± ¹®Á¦ ¾ø½À´Ï´Ù¸¸,COPY FROMÀÇ °æ¿ì´Â, ´ë»óÀÌ µÇ´Â Å×À̺íÀº óÀ½ºÎºÐÀÇ ÇàÀ» ÀÌ¹Ì ¹Þ°í ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÇàÀº ºÒ°¡½ÃÈ µÇ°Å³ª ¶Ç´Â ¾×¼¼½º ÇÒ ¼ö ¾ø½À´Ï´Ù¸¸, µð½ºÅ© ½ºÆäÀ̽º¸¦ Á¡À¯ ÇÕ´Ï´Ù. µû¶ó¼, Å« º¹»ç 󸮿¡ ¸î ¹øÀ̳ª ½ÇÆÐÇßÀ» °æ¿ì¿¡´Â, »ó´çÇÑ ¾çÀÇ ¾µ¸ð¾ø´Â µð½ºÅ© ½ºÆäÀ̽º°¡ Áõ°¡ÇØ ¹ö¸³´Ï´Ù. ÀÌ ¾µ¸ð¾ø´Â ½ºÆäÀ̽º¸¦ µÇãÀ¸·Á¸é ,VACUUM¸¦ È£ÃâÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
COPY¸¦ BINARY¿É¼Ç ¶Ç´ÂCSV¿É¼ÇÀ» ºÎ°¡ÇÏÁö ¾Ê°í »ç¿ëÇßÀ» °æ¿ì, ÀÐ°í ¾²¿©Áø µ¥ÀÌÅÍ´Â Å×À̺íÀÇ ÇϳªÀÇ ÇàÀ» 1ÇàÀ¸·Î ³ªÅ¸³½ ÅØ½ºÆ® ÆÄÀÏÀÌ µË´Ï´Ù. Çà³»ÀÇ ¿Àº ´Ü¶ôÁö¾î ¹®ÀÚ·Î ´Ü¶ôÁö¾îÁý´Ï´Ù. ¼Ó¼ºÄ¡ ÀÚü´Â, ±× ¼Ó¼ºÀÇ µ¥ÀÌÅÍÇüÀÇ Ãâ·Â ÇÔ¼ö·Î »ý¼ºµÈ, ¶Ç´Â, ±× ÀÔ·Â ÇÔ¼ö·Î ¹Þ¾ÆµéÀ̱⠰¡´ÉÇÑ ¹®ÀÚ¿ÀÔ´Ï´Ù. °ªÀÌ NULLÀÎ ¿¿¡¼´Â, ÁöÁ¤µÈ NULL°ªÀ» ³ªÅ¸³»´Â ¹®ÀÚ¿ÀÌ »ç¿ëµË´Ï´Ù. ÀÔ·Â ÆÄÀÏÀÇ ¸î°³ÀÇ Çà¿¡ ÀÖ´Â ¿ÀÇ °³¼ö°¡ ¿¹»óµÈ ¼ö¿Í ´Ù¸¥ °æ¿ì,COPY FROM´Â ¿¡·¯¸¦ ¹ß»ýÇÕ´Ï´Ù. OIDS°¡ ÁöÁ¤µÇ¾úÀ» °æ¿ì, OID´Â, »ç¿ëÀÚ µ¥ÀÌÅÍÀÇ ¿ÀÇ Àü¿¡ ÀÖ´Â, 1¹øÂ°ÀÇ ¿·Î¼ ÀÐ°í ¾²¿©Áý´Ï´Ù.
µ¥ÀÌÅÍÀÇ Á¾·á´Â, ¹é½½·¡½Ã ±¸°£(\. )À» Æ÷ÇÔÇÏ´Â 1°³ÀÇ ÇàÀ¸·Î ³ªÅ¸³»Áý´Ï´Ù. EOF´Â ÆÄÀÏÀÇ Á¾·á¸¦ Àß ¼öÇàÇϱ⠶§¹®¿¡, ÆÄÀϷκÎÅÍÀÇ ÀÐÀ» °æ¿ì´Â µ¥ÀÌÅÍ Á¾·á ¸¶Å©´Â ºÒÇÊ¿äÇÕ´Ï´Ù. ±×·¯³ª, 3.0 ÀÌÀüÀÇ Å¬¶óÀÌ¾ðÆ® ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ Å¬¶óÀÌ¾ðÆ® ¾ÖÇø®ÄÉÀ̼ǰú µ¥ÀÌÅÍÀÇ º¹»ç¸¦ ½Ç½ÃÇÏ´Â °æ¿ì¸¸Àº, Àоîµé¿©, ±âÀÔÇϰí, Á¾·á ¸¶Å©°¡ ÇÊ¿äÇÕ´Ï´Ù.
¹é½½·¡½Ã ¹®ÀÚ(\)´Â,COPY´ë»ó µ¥ÀÌÅͳ»¿¡¼, ÇàÀ̳ª ¿ÀÇ ´Ü¶ô ¹®ÀÚ·Î ÆÇÁ¤µÉ °¡´É¼ºÀÌ ÀÖ´Â µ¥ÀÌÅÍ ¹®ÀÚÀÇ ÀοëºÎÈ£ ºÙ¿© »ç¿ëÇÕ´Ï´Ù. ƯÈ÷, ¹é½½·¡½Ã ÀÚü, °³Çà, »ç¿ëÁßÀÇ ´Ü¶ô ¹®ÀÚµîÀÇ ¹®ÀÚ°¡ ¿ÀÇ °ª¿¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì´Â, ¹Ýµå½Ã Àü¿¡ ¹é½½·¡½Ã¸¦ ºÙÀÌÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
ÁöÁ¤µÈ NULL ¹®ÀÚ¿Àº ¹é½½·¡½Ã¸¦ ºÙÀÌÁö ¾Ê°íCOPY TO¿¡ º¸³»Áý´Ï´Ù. ÇÑÆí,COPY FROM¿¡¼´Â, ¹é½½·¡½Ã¸¦ »èÁ¦Çϱâ Àü¿¡ NULL ¹®ÀÚ¿°ú ÀÔ·ÂÀ» ºñ±³ÇÕ´Ï´Ù. µû¶ó¼,\N¶ó°í ÇÏ´Â NULL ¹®ÀÚ¿ÀÌ ½ÇÁ¦ÀÇ\N¶ó°í ÇÏ´Â µ¥ÀÌÅͰª°ú È¥¶õÇÏ´Â °ÍÀº ÀÖÀ» ¼ö ¾ø½À´Ï´Ù. (À̰ÍÀº\\N·Î¼ Ç¥ÇöµË´Ï´Ù. )
´ÙÀ½Àº COPY FROM·Î ½Äº°ÇÑ Æ¯º°ÇÑ ¹é½½·¡½Ã ½ÃÄö½ºÀÔ´Ï´Ù.
| ½ÃÄö½º | Ç¥Çö |
|---|---|
| \b | ¹é½ºÆäÀ̽º(ASCII 8) |
| \f | ÆûÇǵå(ASCII 12) |
| \n | °³Çà(ASCII 10) |
| \r | º¹±ÍºÎÈ£(ASCII 13) |
| \t | ÅÇ(ASCII 9) |
| \v | ¼öÁ÷ ÅÇ(ASCII 11) |
| \ ¼ýÀÚ | ¹é½½·¡½Ã¿¡ °è¼ÓµÇ¾î 1¿¡¼ 3°³ÀÇ 8 Áø¼öÀÇ ¼ýÀÚ¸¦ ÄÚµå ¹øÈ£·Î¼ ÁöÁ¤Çϸé, ±× Äڵ尡 ³ªÅ¸³»´Â ¹®ÀÚ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. |
| \x digits | backslash,x ¿¡ °è¼ÓµÇ¾î 1¿¡¼ 2°³ÀÇ 16 Áø¼öÀÇ ¼ýÀÚ¸¦ ÄÚµå ¹øÈ£·Î¼ ÁöÁ¤Çϸé, ±× Äڵ尡 ³ªÅ¸³»´Â ¹®ÀÚ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. |
»óÇ¥·Î ±âÀçµÇÁö ¾ÊÀº ¹é½½·¡½Ã ÷ºÎÀÇ ¹®ÀÚ´Â ¸ðµÎ, ±×´ë·Î ÇØ¼®µË´Ï´Ù. ±×·¯³ª, ºÒÇÊ¿äÇÑ ¹é½½·¡½ÃÀÇ Ãß°¡¿¡´Â ÁÖÀÇÇØ ÁÖ¼¼¿ä. ¿ì¿¬È÷ µ¥ÀÌÅ͸¦ ¸¶Áö¸·À» ³ªÅ¸³»´Â Ç¥(\. )³ª null ¹®ÀÚ¿(µðÆúÆ®¿¡¼´Â\N) °ú ÇÕÄ¡Çϴ ij¸¯ÅÍ ¶óÀÎÀ» »ý¼ºÇØ ¹ö¸±Áöµµ ¸ð¸£±â ¶§¹®ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¹®ÀÚ¿Àº ´Ù¸¥ ¹é½½·¡½ÃÀÇ Ã³¸®¸¦ ½Ç½ÃÇϱâ ÀüÀ¸·Î ÇØ¼®µË´Ï´Ù.
COPYµ¥ÀÌÅ͸¦ »ý¼ºÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀº, µ¥ÀÌÅÍ ³»ÀÇ °³Çà°ú º¹±ÍºÎÈ£¸¦ °¢°¢,\n¿Í\r·Î º¯È¯ÇÏ´Â °ÍÀ» °Çϰí Ãßõ µÇ°í ÀÖ½À´Ï´Ù. ÇöÀç·Î¼´Â, ¹é½½·¡½Ã¿Í º¹±Í ¹®ÀÚ·Î µ¥ÀÌÅͳ»ÀÇ º¹±Í¸¦ ³ªÅ¸³»°Å³ª ¹é½½·¡½Ã¿Í °³Çà ¹®ÀÚ·Î µ¥ÀÌÅÍ ³»ÀÇ °³ÇàÀ» ³ªÅ¸³»´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù. ±×·¯³ª, ÀÌ·¯ÇÑ Ç¥ÇöÀº ÇâÈÄÀÇ ¸±¸®½º¿¡¼´Â, ¹Þ¾ÆµéÀÏ ¼ö ¾ø°Ô µÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ¶ÇÇÑ, COPYÆÄÀÏÀÌ ´Ù¸¥ ¸Ó½ÅÀ» °ÉÃÄ Àü¼Û µÇ´Â °æ¿ì, ÆÄ¼ÕÇÒ ¿ì·Á°¡ ÀÖ½À´Ï´Ù (¿¹¸¦ µé¸é, Unix·ÎºÎÅÍ Windows ȤÀº ±× ¿ª).
COPY TO´Â °¢ ÇàÀÇ ÁÙ ³¡¿¡ Unix Çü½ÄÀÇ °³Çà("\n")À» Ãâ·ÂÇÕ´Ï´Ù. µ¡ºÙ¿© Microsoft Windows·Î °¡µ¿ÇÏ´Â ¼¹öÀÇ °æ¿ì´Â, ¼¹ö»óÀÇ ÆÄÀÏ¿¡ÀÇCOPYÀÇ °æ¿ì¿¡°Ô¸¸ º¹±Í/°³Çà("\r\n")À» Ãâ·ÂÇÕ´Ï´Ù. Ç÷§Æû Àü¹ÝÀÇ Àϰü¼ºÀ» À§Çؼ, ¼¹öÀÇ Ç÷§Æû¿¡ °ü°è¾øÀÌ,COPY TO STDOUT´Â Ç×»ó"\n"¸¦ ¼Û½ÅÇÕ´Ï´Ù. COPY FROM´Â, °³Çà, º¹±ÍºÎÈ£, ¶Ç´Â º¹±ÍºÎÈ£/°³ÇàÀ» ÁÙ ³¡À¸·Î Ãë±ÞÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¥ÀÌÅ͸¦ ÀǵµÇÑ ¹é½½·¡½Ã°¡ ¾ø´Â °³ÇàÀ̳ª º¹±ÍºÎÈ£¿¡ ÀÇÇÑ ¿¡·¯ÀÇ À§Ç輺À» ÁÙÀ̱â À§ÇØ,COPY FROM´Â, ÀÔ·ÂÇàÀÇ ÁÙ ³¡ÀÌ ¸ðµÎ °°Áö ¾ÊÀº °æ¿ì¿¡ °æ°í¸¦ ¹ßÇ¥ÇÕ´Ï´Ù.
ÀÌ Çü½ÄÀº, ½ºÇÁ·¹µå½¬Æ®¿Í °°Àº ´Ù¸¥ ¸¹Àº ÇÁ·Î±×·¥À¸·Î »ç¿ëµÇ´Â ÄÞ¸¶·Î ºÐ¸®µÈ °ª(CSV) ÆÄÀÏ Çü½ÄÀ» ÀÓÆ÷Æ®, export Çϱâ À§Çؼ »ç¿ëµË´Ï´Ù. PostgreSQLÀÇ Ç¥ÁØ ÅØ½ºÆ® ¸ðµå·Î »ç¿ëµÇ´Â À̽ºÄÉÀÌÇÁ ´ë½Å¿¡, ÀϹÝÀûÀÎ CSVÀÇ À̽ºÄÉÀÌÇÁ ¸ÅÄ¿´ÏÁòÀ» »ý¼º, ÀνÄÇÕ´Ï´Ù.
°¢ ·¹ÄÚµåÀÇ °ªÀºDELIMITER¹®ÀÚ·Î ºÐ¸®µË´Ï´Ù. ´Ü¶ô ¹®ÀÚ,QUOTE¹®ÀÚ,NULL¹®ÀÚ¿, º¹±ÍºÎÈ£, °³Ç๮ÀÚ¸¦ Æ÷ÇÔÇÑ °ªÀÇ °æ¿ì, ÀüüÀÇ °ªÀÇ ÀüÈÄ¿¡QUOTE¹®ÀÚ°¡ ºÎ¿©µË´Ï´Ù. °ª Áß¿¡¼QUOTE¹®ÀÚ³ªESCAPE¹®ÀÚ°¡ ³ªÅ¸³ª´Â °æ¿ì, ±× Àü¿¡ À̽ºÄÉÀÌÇÁ¿ëÀÇ ¹®ÀÚ°¡ ºÎ¿©µË´Ï´Ù. ¶ÇÇÑ,FORCE QUOTE¸¦ »ç¿ëÇØ, ƯÁ¤¿ ³»ÀÇ ºñNULL°ªÀ» Ãâ·ÂÇÒ ¶§¿¡ °Á¦ÀûÀ¸·Î ÀοëºÎÈ£¸¦ ºÎ¿©ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
CSVÇü½Ä¿¡´ÂNULL°ª°ú °ø¹®ÀÚ¿À» ±¸º°Çϴ ǥÁØÀûÀÎ ¹æ¹ýÀº ¾ø½À´Ï´Ù. PostgreSQLÀÇ COPY¿¡¼´Â, ÀοëºÎÈ£¿¡ ÀÇÇØ À̰ÍÀ» ±¸º°Çϰí ÀÖ½À´Ï´Ù. NULL´ÂNULL¹®ÀÚ¿·Î¼ Ãâ·ÂµÇ¾î ÀοëºÎÈ£·Î µÑ·¯½ÎÀÌÁö ¾Ê½À´Ï´Ù. ÇÑÆí,NULL¹®ÀÚ¿¿¡ ÀÏÄ¡ÇÏ´Â µ¥ÀÌÅͰªÀº ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù. ±× °á°ú, µðÆúÆ®ÀÇ ¼³Á¤À» »ç¿ëÇϸé,NULL´Â ÀοëºÎÈ£·Î µÑ·¯½ÎÀÌÁö ¾Ê´Â °ø¹®ÀÚ¿·Î¼ ÇÑÆí, °ø¹®ÀÚ¿Àº ÀÌÁß ÀοëºÎÈ£·Î µÑ·¯½Î¿©("") Ãâ·ÂµË´Ï´Ù. µ¥ÀÌÅÍÀÇ ÀÐÀ» ¶§µµ °°Àº ±ÔÄ¢À» µû¸¨´Ï´Ù. FORCE NOT NULL¸¦ »ç¿ëÇØ, ƯÁ¤¿¿¡ ´ëÇØNULLÀÔ·ÂÀÇ ºñ±³¸¦ ½Ç½ÃÇÏÁö ¾Ê°Ô ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
CSVÇü½Ä¿¡¼´Â ¹é½½·¡½Ã´Â Ưº°ÇÑ ¹®ÀÚ°¡ ¾Æ´Ï±â ¶§¹®¿¡, µ¥ÀÌÅÍ Á¾´Ü ±âÈ£\. ´Â µ¥ÀÌÅÍ °ªÀ¸·Î¼ ³ªÅ¸³ª´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. À߸øµÈ ÇØ¼®À» ¹æÁöÇϱâ À§Çؼ, ÇÑ Çà³»ÀÇ 1Ç×°·Î¼\. µ¥ÀÌÅͰªÀÌ ³ªÅ¸³ª´Â °æ¿ì, Ãâ·Â¿¡ ÀÚµ¿ÀûÀ¸·Î ÀοëºÎÈ£¸¦ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ÀÔ·ÂÀ¸·Î´Â ÀοëºÎÈ£¸¦ ºÙÀÌ´Â °æ¿ì µ¥ÀÌÅÍ Á¾´Ü ±âÈ£·Î¼ ÇØ¼®µÇÁö ¾Ê½À´Ï´Ù. ´ÜÀÏÀÇ ÀοëºÎÈ£°¡ ¾ø´Â ¿°ú \. ÀÇ °ªÀ» °¡Áú °¡´É¼ºÀÌ ÀÖ´Â ¶Ç ´Ù¸¥ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î »ý¼ºµÈ ÆÄÀÏÀ» ·ÎµùÇÏ´Â °æ¿ì, ÀÔ·Â ÆÄÀϳ»ÀÇ ÀÌ·¯ÇÑ °ªÀ» ÀοëºÎÈ£·Î µÑ·¯½Ò Çʿ䰡 ÀÖ½À´Ï´Ù.
Note: CSV¸ðµå¿¡¼, ¹®ÀÚ´Â Áß¿äÇÑ Àǹ̸¦ °¡Áý´Ï´Ù. °ø¹é ¹®ÀÚ ¹× ´ÜÀÏ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÎ °ªÀ̳ªDELIMITERÀÌ¿ÜÀÇ ÀÓÀÇÀÇ ¹®ÀÚ°¡, ÀÌ·¯ÇÑ ¹®ÀÚ¿¡ Æ÷ÇԵ˴ϴÙ. À̰Ϳ¡ ÀÇÇØ, °íÁ¤ÆøÀ¸·Î Çϱâ À§Çؼ CSVÀÇ Çà¿¡ °ø¹é ¹®ÀÚ¸¦ ³Ö´Â ½Ã½ºÅÛÀ¸·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ÀÓÆ÷Æ® ÇÒ ¶§¿¡ ¿¡·¯°¡ ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ »óȲÀÌ µÇ¾úÀ» °æ¿ì,PostgreSQL¿¡ µ¥ÀÌÅ͸¦ ÀÓÆ÷Æ® Çϱâ Àü¿¡, ±×CSVÆÄÀϷκÎÅÍ ÁÙ ³¡ÀÇ °ø¹éÀ» Á¦°ÅÇÏ´Â »çÀü 󸮰¡ ÇÊ¿äÇÏ°Ô µË´Ï´Ù.
Note: CSV ¸ðµå´Â, ³»ÀåµÇ¾î ÀÖ´Â ÁٹٲÞÀ» Æ÷ÇÔÇϰí ÀοëºÎÈ£·Î µÑ·¯½ÎÀÎ °ªÀ» °¡Áø CSV ÆÄÀÏÀ» ÀνÄÇÏ°í »ý¼ºÇÕ´Ï´Ù. µû¶ó¼, ÀÌ ÆÄÀÏÀº, ÅØ½ºÆ® ¸ðµå ÆÄÀϰú °°ÀÌ 1°³ÀÇ Å×À̺íÇàÀÌ 1ÇàÀ¸·Î ³ªÅ¸³»Áö°í ÀÖ´Ù°í´Â ÇÒ ¼ö ¾ø½À´Ï´Ù.
Note: ±«ÀÌÇÑ ±×¸®°í À߸øµÈ CSV ÆÄÀÏÀ» »ý¼ºÇÏ´Â ÇÁ·Î±×·¥ÀÌ ¸¹ÀÌ Á¸ÀçÇϹǷÎ, ÀÌ ÆÄÀÏ ¼½Ä¿¡´Â Ç¥Áغ¸´Ù ¸¹Àº °ü½ÀÀÌ ÀÖ½À´Ï´Ù. µû¶ó¼, ÀÌ ¸ÅÄ¿´ÏÁòÀ» »ç¿ëÇÏ¿© ÀÓÆ÷Æ® ÇÒ ¼ö ¾ø´Â ÆÄÀÏÀÌ Á¸ÀçÇÒ ¼öµµ ÀÖ°í, COPY°¡ ´Ù¸¥ ÇÁ·Î±×·¥À¸·Î ó¸®ÇÒ ¼ö ¾ø´Â ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
COPY BINARY·Î »ç¿ëµÇ´Â ÆÄÀÏ Çü½ÄÀºPostgreSQL 7.4·Î º¯°æµÇ¾ú½À´Ï´Ù. »õ·Î¿î Çü½ÄÀº, ÆÄÀÏ Çì´õ, Çà µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ 0ÀÌ»óÀÇ Æ©ÇÃ, ÆÄÀÏ Æ®·¹ÀÏ·¯·Î ±¸¼ºµË´Ï´Ù. Çì´õ¿Í µ¥ÀÌÅÍ´Â, ³×Æ®¿öÅ© ¹ÙÀÌÆ® ¼ø¼·Î µÇ¾î ÀÖ½À´Ï´Ù.
ÆÄÀÏ Çì´õ´Â 15¹ÙÀÌÆ®ÀÇ °íÁ¤ Çʵå¿Í ±× ÈÄ¿¡ °è¼ÓµÇ´Â °¡º¯Àå Çì´õ È®Àå ¿µ¿ªÀ¸·ÎºÎÅÍ ±¸¼ºµË´Ï´Ù. °íÁ¤ Çʵå´Â ÀÌÇÏ¿Í °°½À´Ï´Ù.
PGCOPY\n\377\r\n\0¶ó°í ÇÏ´Â 11¹ÙÀÌÆ®ÀÇ ½ÃÄö½ºÀÔ´Ï´Ù. ÀÌ ¼¸íÀÇ Çʼö ºÎºÐ¿¡ 0 ¹ÙÀÌÆ®°¡ Æ÷ÇԵǾî ÀÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä (ÀÌ ¼¸íÀº, 8 ºñÆ®¸¦ Åë°ú½ÃŰÁö ¾Ê´Â Àü¼Û ¹æ½Ä¿¡ ÀÇÇØ ÆÄÀÏÀÌ ÆÄ¼ÕÇßÀ» °æ¿ì, À̰ÍÀ» ¿ëÀÌÇÏ°Ô ½Äº°ÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÇ¾î ÀÖ½À´Ï´Ù. ¼¸íÀº, °³Çà ÄÚµå º¯È¯À̳ª 0 ¹ÙÀÌÆ®ÀÇ »èÁ¦, »óÀ§ ºñÆ®ÀÇ »èÁ¦, ¶Ç´Â ÆÐ¸®Æ¼ÀÇ º¯°æµî¿¡ ÀÇÇØ º¯ÈµË´Ï´Ù).
ÀÌ ÆÄÀÏ Çü½ÄÀÇ Áß¿äÇÑ ºÎºÐÀÌ µÇ´Â 32 ºñÆ® Á¤¼öÀÇ ºñÆ® ¸¶½ºÅ©ÀÔ´Ï´Ù. ºñÆ®¿¡´Â 0(LSB)¿¡¼ 31(MSB)±îÁöÀÇ ¹øÈ£°¡ ºÙ¾î ÀÖ½À´Ï´Ù. ÀÌ Çʵå´Â, ÀÌ ÆÄÀÏ Çü½Ä¿¡¼ »ç¿ëµÇ´Â ´Ù¸¥ ¸ðµç Á¤¼ö Çʵå¿Í °°ÀÌ, (°¡Àå Áß¿äÇÑ ÃÖÃÊÀÇ ¹ÙÀÌÆ®) ³×Æ®¿öÅ© ¹ÙÀÌÆ® ¼ø¼·Î ÀúÀåµÇ°í ÀÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ÆÄÀÏ Çü½Ä»óÀÇ Ä¡¸íÀûÀÎ ¹®Á¦¸¦ ³ªÅ¸³»±â À§Çؼ,16-31ºñÆ®´Â ¿¹¾àµÇ°í ÀÖ½À´Ï´Ù. ÀÌ ¹üÀ§¿¡ ¿¹»ó¿ÜÀÇ ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖ´Â °ÍÀÌ ÆÇ¸íµÇ¾úÀ» °æ¿ì, ÀÐ´Â Ãø¿¡¼´Â 󸮸¦ Áß´ÜÇØ¾ß ÇÕ´Ï´Ù. ÈĹæ ȣȯ¿¡ ÀÖ¾î¼ÀÇ Çü½ÄÀÇ ¹®Á¦¸¦ ÅëÁöÇϱâ À§Çؼ,0-15ºñÆ®´Â ¿¹¾àµÇ°í ÀÖ½À´Ï´Ù. ÀÌ ¹üÀ§¿¡ ¿¹»ó¿ÜÀÇ ºñÆ®°¡ ¼³Á¤µÇ¾î À־, ÀÐ´Â Ãø¿¡¼´Â ¹«½ÃÇØ¾ß ÇÕ´Ï´Ù. ÇöÀç, 1°³ÀÇ ºñÆ®¸¸ÀÌ Ç÷¡±× ºñÆ®·Î¼ Á¤Àǵǰí ÀÖ¾î ³ª¸ÓÁö´Â 0ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
1À̶ó¸é, OID°¡ µ¥ÀÌÅÍ¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. 0À̶ó¸é, Æ÷ÇԵǾî ÀÖÁö ¾Ê½À´Ï´Ù.
ÀÚ±â ÀÚ½ÅÀ» Á¦¿ÜÇÑ, Çì´õÀÇ ³²Àº ºÎºÐÀÇ ¹ÙÀÌÆ®ÀåÀ» ³ªÅ¸³»´Â 32 ºñÆ®ÀÇ Á¤¼öÀÔ´Ï´Ù. ÇöÀç, À̰ÍÀº 0ÀÌ µÇ°í ÀÖ¾î ¹Ù·Î ÈÄ¿¡ ÃÖÃÊÀÇ Æ©ÇÃÀÌ °è¼ÓµË´Ï´Ù. ÇâÈÄ, Çì´õ³»¿¡ Ãß°¡ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â °Í °°Àº Çü½ÄÀÇ º¯°æÀÌ ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù. ÀÐ´Â Ãø¿¡¼´Â, Çì´õ È®Àå µ¥ÀÌÅÍÀÇ Ãë±ÞÀ» ¸ð¸£´Â °æ¿ì, ±× µ¥ÀÌÅ͸¦ ½ºÅµ ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
Çì´õ È®Àå ¿µ¿ªÀº, ÀÚ±â½Äº° ûũÀÇ ½ÃÄö½º¸¦ º¸°ü À¯ÁöÇϱâ À§Çؼ ÁغñµÇ¾î ÀÖ½À´Ï´Ù. Ç÷¡±× Çʵå´Â Àоîµé¿© ¸ÕÀú È®Àå ¿µ¿ªÀÇ ³»¿ëÀ» ¾Ë¸®´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù. Çì´õ È®Àå ³»¿ëÀÇ °³°³ÀÇ ¼³°è´Â ÇâÈÄÀÇ ¸±¸®½º¸¦ À§Çؼ ³²°Ü ÀÖ½À´Ï´Ù.
ÀÌ ¼³°è¿¡ ÀÇÇØ, ÈĹæ ȣȯ¼ºÀ» À¯ÁöÇÏ´Â Çì´õÀÇ Ãß°¡(Çì´õ È®Àå üũÀÇ Ãß°¡³ª ÇÏÀ§ flag bitÀÇ ¼³Á¤)¿Í ÈĹæ ȣȯ¼ºÀÌ ¾ø´Â º¯°æ(º¯°æÀ» ÅëÁöÇϱâ À§ÇÑ °íÀ§ Ç÷¡±× ºñÆ®ÀÇ ¼³Á¤, ¹× ÇÊ¿äÇÏ°Ô ÀÀÇÑ È®Àå ¿µ¿ª¿¡ÀÇ Áö¿ø µ¥ÀÌÅÍÀÇ Ãß°¡)ÀÇ ¾çÂÊ ¸ðµÎ¿¡ ´ëÀÀÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸ðµç Æ©ÇÃÀº, Æ©Çà ³»ÀÇ Çʵå¼ö¸¦ Ä«¿îÆ®ÇÏ´Â 16 ºñÆ®ÀÇ Á¤¼ö·Î ½ÃÀ۵˴ϴÙ(Çö½ÃÁ¡¿¡¼´Â, Å×ÀÌºí³»ÀÇ ¸ðµç Æ©ÇÃÀº µ¿ÀÏÇÑ Çʵå¼ö¸¦ °¡Áö°Ô µÇ¾î ÀÖ½À´Ï´Ù¸¸, ÇâÈÄ, À̰ÍÀº º¯°æµÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù). ±× ÈÄ¿¡, Æ©Çà ÁßÀÇ °¢°¢ÀÇ Çʵ尡 ¹Ýº¹µË´Ï´Ù. ÀÌ·¯ÇÑ Çʵ忡´Â, ¼±µÎ¿¡ ÇÊµå µ¥ÀÌÅͰ¡ ¸î ¹ÙÀÌÆ® ÀÖ´ÂÁö¸¦ ³ªÅ¸³»´Â 32ºñÆ® ±æÀÌÀÇ ¿öµå¸¦ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. (ÀÌ ¿öµå°¡ ³ªÅ¸³»´Â ±æÀÌ¿¡´Â ÀÚ±â ÀÚ½ÅÀº Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. µû¶ó¼, 0ÀÌ µÉ ¼öµµ ÀÖ½À´Ï´Ù). Ư¼öÇÑ °æ¿ì¿¡, -1Àº NULL ÇʵåÀÇ °ªÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ NULL°¡ ÁöÁ¤µÇ¾úÀ» °æ¿ì, ¹ÙÀÌÆ®°ªÀº ¾ø½À´Ï´Ù.
Çʵ尣¿¡´Â Á¤·Ä¿ëÀÇ ÆÐµùÀ̳ª ±× ¿ÜÀÇ ºÒÇÊ¿äÇÑ µ¥ÀÌÅÍ´Â ¾ø½À´Ï´Ù.
ÇöÀç,COPY BINARYÆÄÀÏ ³»ÀÇ ¸ðµç µ¥ÀÌÅͰªÀº, ¹ÙÀ̳ʸ® Çü½Ä(Çü½Ä ÄÚµå 1)À̶ó°í °¡Á¤µÇ°í ÀÖ½À´Ï´Ù. Àå·¡ÀÇ È®Àå¿¡ ÀÇÇØ, ¿´ÜÀ§¿¡ Çü½Ä Äڵ带 ÁöÁ¤ÇÏ´Â Çì´õ Çʵ尡 Ãß°¡µÇ´Â °ÍÀ» ¿¹»óÇÑ °ÍÀÔ´Ï´Ù.
½ÇÁ¦ÀÇ Æ©Çà µ¥ÀÌÅÍÀÇ ÀûÀýÇÑ ¹ÙÀ̳ʸ® Çü½ÄÀ» °áÁ¤ÇÏ·Á¸é,PostgreSQLÀÇ ¼Ò½º, ƯÈ÷ °¢ ¿ÀÇ µ¥ÀÌÅÍÇü¿ëÀÇ*send ÇÔ¼ö¿Í*recvÇÔ¼ö(Åë»ó, ÀÌ·¯ÇÑ ÇÔ¼ö´Â ¼Ò½º ¹èÆ÷¹° ³»ÀÇsrc/backend/utils/adtµð·ºÅ丮¿¡ ÀÖ½À´Ï´Ù)¸¦ Á¶»çÇØ¾ß ÇÕ´Ï´Ù.
ÀÌ ÆÄÀÏ¿¡ OID°¡ Æ÷ÇԵǴ °æ¿ì, OID Çʵ尡 Çʵå Ä«¿îÆ® ¿öµåÀÇ Á÷ÈÄ¿¡ °è¼ÓµË´Ï´Ù. À̰ÍÀº, Çʵå Ä«¿îÆ®¸¦ °¡ÁöÁö ¾Ê´Â Á¡À» Á¦¿ÜÇϰí´Â, Åë»óÀÇ Çʵå¿Í °°½À´Ï´Ù. ƯÈ÷ ±æÀÌ ¿öµå—°¡ Àֱ⠶§¹®¿¡, °í»ýÇÏ´Â ÀÏ ¾øÀÌ, 4¹ÙÀÌÆ®ÀÇ OIDµµ 8¹ÙÀÌÆ®ÀÇ OIDµµ Ãë±ÞÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, À̰Ϳ¡ ÀÇÇØ, ¹Ù¶÷Á÷ÇÏ´Ù°í ÆÇ´ÜµÇ¸é, OID¸¦ NULL·Î¼ Ç¥½ÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÆÄÀÏ Æ®·¹ÀÏ·¯´Â,-1À» Æ÷ÇÔÇÑ, 16 ºñÆ®ÀÇ Á¤¼ö ¿öµå·Î ±¸¼ºµË´Ï´Ù. Æ©ÇÃÀÇ Çʵå Ä«¿îÆ® ¿öµå¸¦ »ç¿ëÇϸé, ÀÌ ¿öµå¸¦ ¿ëÀÌÇÏ°Ô ºÐº°ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÐ´Â Ãø¿¡¼´Â, Çʵå Ä«¿îÆ® ¿öµå°¡¡ª1¿¡¼µµ, ¶Ç´Â »óÁ¤ÇÑ ¿ÀÇ ¼öµµ ¾Æ´Ï¾ú´ø °æ¿ì´Â ¿¡·¯¸¦ º¸°íÇØ¾ß ÇÕ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ¾î¶°ÇÑ ÀÌÀ¯·Î½á µ¥ÀÌÅÍ¿ÍÀÇ µ¿±â°¡ ÀâÈ÷Áö ¾Ê°Ô µÈ °ÍÀ» ÆÇÁ¤Çϴ Ưº°ÇÑ °Ë»ç¸¦ ½Ç½ÃÇÕ´Ï´Ù.
´ÙÀ½ÀÇ ¿¹¿¡¼´Â, ÇÊµå ´Ü¶ô ¹®Àڷμ ¼¼·ÎÀÇ °ðÀº ¼±(|)À» »ç¿ëÇØ Å×À̺íÀ» Ŭ¶óÀÌ¾ðÆ®¿¡ º¹»çÇÕ´Ï´Ù.
COPY country TO STDOUT WITH DELIMITER '|';
ÆÄÀϷκÎÅÍcountryÅ×ÀÌºí¿¡ µ¥ÀÌÅ͸¦ º¹»çÇÕ´Ï´Ù.
COPY country FROM '/usr1/proj/bray/sql/country_data';
À̸§ÀÌ'A'·Î ½ÃÀ۵Ǵ ³ª¶ó¸¸À» ÆÄÀÏ¿¡ º¹»çÇÕ´Ï´Ù.
COPY (SELECT * FROM country WHERE country_name LIKE 'A%') TO '/usr1/proj/bray/sql/a_list_countries.copy';
À̰ÍÀºSTDIN·ÎºÎÅÍ Å×ÀÌºí¿¡ º¹»çÇϴµ¥ ÀûÇÕÇÑ µ¥ÀÌÅÍÀÇ ¿¹ÀÔ´Ï´Ù
AF AFGHANISTAN AL ALBANIA DZ ALGERIA ZM ZAMBIA ZW ZIMBABWE
°¢ ÇàÀÇ °ø¹é ¹®ÀÚ´Â ½ÇÁ¦·Î´Â ÅÇ ¹®ÀÚÀÎ °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.
ÀÌÇÏ´Â µ¿ÀÏÇÑ µ¥ÀÌÅ͸¦ ¹ÙÀ̳ʸ® ¼½Ä¿¡¼ Ãâ·ÂÇÑ °ÍÀÔ´Ï´Ù. µ¥ÀÌÅ͸¦ Unix À¯Æ¿¸®Æ¼od -c¸¦ »ç¿ëÇØ ÇÊÅ͸µ ÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. Å×ÀÌºí¿¡´Â 3¿ ÀÖ¾î, ÃÖÃÊÀÇ µ¥ÀÌÅÍÇüÀºchar(2), 2¹øÂ°´Âtext, 3¹øÂ°´ÂintegerÀÔ´Ï´Ù. ¸ðµç ÇàÀÇ 3 ¹øÂ° ¿Àº NULL°ªÀÔ´Ï´Ù.
0000000 P G C O P Y \n 377 \r \n \0 \0 \0 \0 \0 \0 0000020 \0 \0 \0 \0 003 \0 \0 \0 002 A F \0 \0 \0 013 A 0000040 F G H A N I S T A N 377 377 377 377 \0 003 0000060 \0 \0 \0 002 A L \0 \0 \0 007 A L B A N I 0000100 A 377 377 377 377 \0 003 \0 \0 \0 002 D Z \0 \0 \0 0000120 007 A L G E R I A 377 377 377 377 \0 003 \0 \0 0000140 \0 002 Z M \0 \0 \0 006 Z A M B I A 377 377 0000160 377 377 \0 003 \0 \0 \0 002 Z W \0 \0 \0 \b Z I 0000200 M B A B W E 377 377 377 377 377 377
Ç¥ÁØ SQL¿¡´ÂCOPY¹®Àº ¾ø½À´Ï´Ù.
ÀÌÇÏÀÇ ±¸¹®Àº,PostgreSQL7.3¹öÁ¯ ÀÌÀü¿¡ »ç¿ëµÇ°í ÀÖ´ø °ÍÀ¸·Î, ¾ÆÁ÷ Áö¿øµÇ°í ÀÖ½À´Ï´Ù.
COPY [ BINARY ]
tablename
[ WITH OIDS ]
FROM { '
filename
' | STDIN }
[ [USING] DELIMITERS '
delimiter
' ]
[ WITH NULL AS '
null string
' ]
COPY [ BINARY ]
tablename
[ WITH OIDS ]
TO { '
filename
' | STDOUT }
[ [USING] DELIMITERS '
delimiter
' ]
[ WITH NULL AS '
null string
' ]