17.12. ¹öÁ¯°ú Ç÷§Æû ȣȯ¼º

17.12.1. ÀÌÀüÀÇ PostgreSQL ¹öÁ¯

add_missing_from(boolean)

¿ÂÀÇ °æ¿ì, Äõ¸®¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â Å×À̺íÀº, ÀÌ¹Ì Á¸ÀçÇϰí ÀÖÁö ¾ÊÀ¸¸éFROM±¸¿¡ Ãß°¡µË´Ï´Ù. ÀÌ ÇൿÀº SQL Ç¥ÁØ¿¡ ÁذÅÇÏÁö ¾Ê°í, ¸¹Àº À¯Àú´Â(º°¸í(alias)¸¦ ÂüÁ¶ÇØ¾ß ÇÏ´Â Å×À̺í ÂüÁ¶¸¦ ÇÏ´Â °æ¿ì µî) À߸øÀ» ÀºÆó ÇÏ´Â °ÍÀ» ½È¾îÇÕ´Ï´Ù. µðÆúÆ®´ÂoffÀÔ´Ï´Ù. ÀÌ º¯¼ö´Â, ÀÌ ÇൿÀÌ µðÆúÆ®·Î ÀÎÁ¤µÇ°í ÀÖ´Â 8.1 ÀÌÀüÀÇPostgreSQL¸±¸®½º¿ÍÀÇ È£È¯¼ºÀ» À¯È¿ÇÏ°Ô ÇÕ´Ï´Ù.

ÀÌ º¯¼ö°¡ À¯È¿ÇÏ´õ¶óµµ, Äõ¸®¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â °³°³ÀÇ ¸í½ÃÀûFROM¿£Æ®¸®¿¡ ´ëÇØ, °æ°í ¸Þ¼¼Áö°¡ ¹æÇàµÇ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. Äõ¸®ÀÇFROM±¸¿¡ ´ëÇÑ Äõ¸®·Î ÂüÁ¶µÇ´Â ¸ðµç Å×À̺íÀ» Ãß°¡ÇÏ´Â °Í(ȤÀºDELETEÀÇ °æ¿ìÀÇ USING±¸)¿¡ÀÇ, ÀÌ·¯ÇÑ Çൿ¿¡ ½Å·Ú¸¦ µÎÁö ¾Ê´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» °»½ÅÇÏ´Â °ÍÀº À¯Àú¿¡°Ô ÃßõµÇÁö ¾Ê½À´Ï´Ù.

array_nulls (boolean)

À̰ÍÀº, ¹è¿­ ÀÔ·Â ÆÄ¼­°¡ ÀοëºÎÈ£ÀÇ ¾ø´ÂNULL¸¦ NULL ¹è¿­ ¿ä¼Ò·Î¼­ ÀνÄÇÒÁö¸¦ Á¦¾îÇÕ´Ï´Ù. µðÆúÆ®¿¡¼­´Â, À̰ÍÀºon·Î, NULL°ªÀ» °¡Áö´Â ¹è¿­°ªÀ» ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, 8.2º¸´Ù ÀüÀÇ ¹öÁ¯ÀÇPostgreSQL¿¡¼­´Â, ¹è¿­³»ÀÇ NULL°ªÀ» Áö¿øÇÏÁö ¾Ê°í,NULL¸¦"NULL"¶ó°í ÇÏ´Â °ªÀÇ ¹®ÀÚ¿­À» °¡Áö´Â Åë»óÀÇ ¹è¿­ ¿ä¼Ò·Î¼­ Ãë±ÞÇϰí ÀÖ¾ú½À´Ï´Ù. ¿À·¡µÈ µ¿ÀÛÀ» ÇÊ¿ä·Î ÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÈĹæ ȣȯ¼ºÀ» À§Çؼ­, ÀÌ º¯¼ö¸¦off·Î ¼³Á¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ º¯¼ö°¡off¿©µµ, NULL°ªÀ» Æ÷ÇÔÇÑ ¹è¿­°ªÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.

backslash_quote (string)

¹®ÀÚ¿­ ¸®ÅÍ·² ³»¿¡¼­ ÀοëºÎÈ£°¡\'·Î Ç¥ÇöµÉÁö ¾Æ´ÒÁö¸¦ °ü¸®ÇÕ´Ï´Ù. ÀοëºÎÈ£ÀÇ Ç¥ÇöÀ¸·Î¼­ SQL ÁذÅÀÇ ¹æ½ÄÀ¸·Î´Â ÀÌÁßÈ­('')ÀÔ´Ï´Ù¸¸,PostgreSQL´Â ¿ª»çÀûÀ¸·Î\'µµ ¹Þ¾ÆµéÀÔ´Ï´Ù. ±×·¯³ª, ¸î°³ÀÇ Å¬¶óÀÌ¾ðÆ® ¹®ÀÚ ÁýÇÕ ÀÎÄÚµù ¹æ½Ä¿¡ ´ëÇØ, ÃÖÁ¾ ¹ÙÀÌÆ®°¡ ¼öÄ¡ÀûÀ¸·Î ASCIIÀÇ °Í\¿¡ µ¿ÀÏÇÑ ¸ÖƼ ¹ÙÀÌÆ® ¹®ÀÚ°¡ ÀÖ¾î,\'¸¦ »ç¿ëÇÏ¸é º¸¾È»ó ¹®Á¦¸¦ ÀÏÀ¸Å³ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. Ŭ¶óÀ̾ðÆ®ÃøÀÇ Äڵ尡 »ç½Ç»ó À̽ºÄÉÀÌÇÁ¸¦ ¿Ã¹Ù¸£°Ô Ãë±ÞÇÏÁö ¾Ê´Â °æ¿ì, SQL ÀÎÁ§¼Ç °ø°ÝÀÌ °¡´ÉÇÏ°Ô µË´Ï´Ù. ÀÌ À§Ç輺ÀÇ È¸ÇÇ´Â, ¼­¹ö°¡ ¿ª½½·¡½Ã·Î À̽ºÄÉÀÌÇÁ µÈ ÀοëºÎÈ£¸¦ Æ÷ÇÔÇÑ Äõ¸®¸¦ °ÅÀýÇϵµ·Ï ÇÕ´Ï´Ù. Çã¿ëµÇ´Âbackslash_quoteÀÇ °ªÀº, ¡¡¡¡¡¡¡¡¡¡on (Ç×»ó \' ¸¦ Çã¿ë), off (Ç×»ó °ÅºÎ), ¹× safe_encoding (Ŭ¶óÀÌ¾ðÆ® ÀÎÄÚµù ¹æ½ÄÀÌ ¸ÖƼ¹ÙÀÌÆ® ¹®ÀÚ ³»¿¡¼­ ASCIIÀÇ °Í\À» Çã¿ëÇÏÁö ¾ÊÀº °æ¿ì¿¡¸¸ »ç¿ë°¡´É). safe_encoding °¡ µðÆúÆ®ÀÇ ¼³Á¤.

Ç¥ÁØ¿¡ µû¸¥ ¹®ÀÚ¿­ ¸®ÅÍ·²¿¡¼­´Â,\Àº ´ÜÁö\¸¦ ÀǹÌÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Â, À̽ºÄÉÀÌÇÁ ¹®ÀÚ¿­ ±¸¹®(E'...')¸¦ Æ÷ÇÔÇÑ Ç¥ÁØ¿¡ µû¸£Áö ¾Ê´Â ¸®ÅÍ·²ÀÇ Ãë±Þ¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù.

default_with_oids(boolean)

WITH OIDSȤÀºWITHOUT OIDS°¡ ¸ðµÎ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì,CREATE TABLE¹×CREATE TABLE AS°¡ ¿ÀºêÁ§Æ® ½Äº°ÀÚ(OID) ¿­À» ½Å±Ô ÀÛ¼ºÀÇ Å×ÀÌºí¿¡ Æ÷ÇÔÇÏ´ÂÁö ¾Æ´ÑÁö¸¦ °ü¸®ÇÕ´Ï´Ù. µ¿½Ã¿¡SELECT INTO·Î ÀÛ¼ºµÈ Å×ÀÌºí¿¡ OID°¡ Æ÷ÇԵǴÂÁö ¾Æ´ÑÁöµµ °áÁ¤ÇÕ´Ï´Ù. PostgreSQL 8.1ÀÇdefault_with_oids´Â, µðÆúÆ®·ÎoffÀÔ´Ï´Ù. ÀÌÀüÀÇ ¹öÁ¯ÀÇPostgreSQL´Â µðÆúÆ®·Î À¯È¿Çß½À´Ï´Ù.

À¯Àú Å×ÀÌºí¿¡¼­ÀÇ OID »ç¿ëÀº ÁÁÁö ¾Ê´Ù°í °í·ÁµÇ¾î, ´ëºÎºÐÀÇ ¼³Ä¡´Â ÀÌ º¯¼ö¸¦ ¹«È¿·Î ÇÑ Ã¤·Î ÀÖ½À´Ï´Ù. ƯÁ¤ÀÇ Å×ÀÌºí¿¡ ´ëÇØ¼­ OID¸¦ ÇÊ¿ä·Î ÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀº, Å×À̺í ÀÛ¼ºÇØWITH OIDS¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ º¯¼ö´Â, ÀÌ ÇൿÀ» ½Ç½ÃÇÏÁö ¾Ê´Â ¿À·¡µÈ ¾ÖÇø®ÄÉÀ̼ǰúÀÇ È£È¯¼ºÀ» À§ÇØ »ç¿ëµË´Ï´Ù.

escape_string_warning(boolean)

À¯È¿ÀÇ °æ¿ì, Åë»óÀÇ ¹®ÀÚ¿­ ¸®ÅÍ·²('...'±¸¹®)¿¡ backslash(\)°¡ ÀÖ¾î,standard_conforming_stringsÀÌ ¹«È¿ÀÎ °æ¿ì, °æ°í°¡ ¹ßÇàµË´Ï´Ù. µðÆúÆ®´ÂonÀÔ´Ï´Ù.

SQL ȣȯ¼ºÀ» À§Çؼ­, ÇâÈÄÀÇ ¸±¸®½º¿¡¼­ Åë»óÀÇ ¹®ÀÚ¿­ÀÇ µðÆúÆ® µ¿ÀÛÀ» º¯°æÇÒ ¿¹Á¤À̹ǷÎ, ¹é½½·¡½Ã¸¦ À̽ºÄÉÀÌÇÁ·Î¼­ »ç¿ëÇÏ°í ½ÍÀº ¾ÖÇø®ÄÉÀ̼ÇÀº, À̽ºÄÉÀÌÇÁ ¹®ÀÚ¿­ ±¸¹®(E'...')¸¦ »ç¿ëÇϵµ·Ï º¯°æÇØ¾ß ÇÕ´Ï´Ù. ÀÌ º¯¼ö¸¦ À¯È¿ÇÏ°Ô ÇÏ´Â °ÍÀ¸·Î, Àå·¡¿¡ ½ÇÆÐÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ °ËÃâÀ» º¸Á¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.

regex_flavor (string)

Á¤±Ô Ç¥Çö"±âÈ£"À»advanced,extended,basicÁßÀÇ Çϳª¿¡ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. extended¶ó°í ÇÏ´Â ¼³Á¤Àº, 7.4º¸´Ù ÀüÀÇ ¸±¸®½ºÀÇPostgreSQL¿ÍÀÇ Á¤È®ÇÑ ÈĹæ ȣȯ¼ºÀ» À§Çؼ­ À¯¿ëÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀºSection 9.7.3.1À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

sql_inheritance (boolean)

À̰ÍÀº »ó¼ÓÀÇ Àǹ̸¦ Á¦¾îÇÕ´Ï´Ù. off·Î Çϸé, µðÆúÆ®¿¡¼­ ¼­ºêÅ×À̺íÀÌ °¢Á¾ Ä¿¸àµå·Î Æ÷ÇÔµÇÁö ¾Ê°Ô µË´Ï´Ù. ±âº»ÀûÀ¸·Î´Â ¾Ï¹¬ÀûÀÎONLYŰ¿öµåÀÔ´Ï´Ù. À̰ÍÀº 7.1 ÀÌÀüÀÇ ¸±¸®½º¿ÍÀÇ È£È¯¼ºÀ» À§Çؼ­ Ãß°¡µÇ¾ú½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀºSection 5.8À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

standard_conforming_strings (boolean)

Ç¥ÁØ SQL¿¡ ±ÔÁ¤µÈ °Íó·³, Åë»óÀÇ ¹®ÀÚ¿­ ¸®ÅÍ·²('...')°¡ ¹é½½·¡½Ã¸¦ ±×´ë·Î Ãë±ÞÇÏ´ÂÁö ¾Æ´ÑÁö¸¦ Á¦¾îÇÕ´Ï´Ù. ÀÌ °ªÀº ÇöÀç Ç×»ó, ¹é½½·¡½Ã´Â À̽ºÄÉÀÌÇÁ·Î¼­ Ãë±ÞµÇ´Â °ÍÀ» ÀǹÌÇÏ´Â,off°¡ µÇ¾î ÀÖ½À´Ï´Ù. À̰ÍÀº Àå·¡¿¡,PostgreSQLÀÇ ¸±¸®½º¿¡¼­ Ç¥ÁذúÀÇ È£È¯¼ºÀ» Çâ»óÇϱâ À§Çؼ­,on·Î º¯°æµÉ ¿¹Á¤ÀÔ´Ï´Ù. ¹®ÀÚ¿­ ¸®ÅÍ·²ÀÌ Ã³¸®µÇ´Â ¹æ¹ýÀ» °áÁ¤ÇÏ´Â ÀÌ ¸Å°³º¯¼ö¸¦, ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î °Ë»çÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Å°³º¯¼öÀÇ Á¸Àç´Â, À̽ºÄÉÀÌÇÁ ¹®ÀÚ¿­ ±¸¹®(E'...')°¡ Áö¿øµÇ°í ÀÖ´ÂÁö ¾î¶²Áö¸¦ ³ªÅ¸³»´Â °ÍÀ¸·Î °£Áֵ˴ϴÙ. À̽ºÄÉÀÌÇÁ ¹®ÀÚ¿­ ±¸¹®Àº, ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ¹é½½·¡½Ã¸¦ À̽ºÄÉÀÌÇÁ ¹®Àڷμ­ Ãë±ÞÇÏ°í ½ÍÀº °æ¿ì¿¡ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

17.12.2. Ç÷§Æû°ú Ŭ¶óÀÌ¾ðÆ® È£È¯¼º

transform_null_equals(boolean)

À¯È¿ÀÇ °æ¿ì, expr = NULL(ȤÀºNULL = expr ) Çü½ÄÀÇ ½ÄÀº expr IS NULL·Î¼­ Ãë±ÞµÇ¾î ±×°ÍÀº, ¸¸¾à expr °¡ NULL°ªÀ̶ó°í Æò°¡Çϸé true(Âü)À» ¹ÝȯÇϰí, ±×·¸Áö ¾ÊÀ¸¸é false(°ÅÁþ)À» ¹ÝȯÇÕ´Ï´Ù. expr = NULLÀÇ ¿Ã¹Ù¸¥ SQL »ç¾ç ÁذÅÀÇ ÇൿÀº Ç×»ó NULL(¾ËÁö ¾Ê´Â´Ù)¸¦ µ¹·ÁÁÖ´Â °ÍÀÔ´Ï´Ù. ±×·¯´Ï±î, ÀÌ ¸Å°³º¯¼öÀÇ µðÆúÆ®´Âoff°¡ µÇ¾î ÀÖ½À´Ï´Ù.

±×·¯³ª,Microsoft AccessÀÇ ÇÊÅÍ Çü½ÄÀº NULL°ªÀ» °Ë»çÇϱâ À§Çؼ­ expr = NULL¸¦ »ç¿ëÇÏ´Â Äõ¸®¸¦ »ý¼ºÇϱ⠶§¹®¿¡, ±× ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇØ µ¥ÀÌÅͺ£À̽º¿¡ ¾×¼¼½º ÇÏ´Â °æ¿ì´Â, ÀÌ ¿É¼ÇÀ» À¯È¿ÇÏ°Ô ÇÏ´Â ÆíÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. expr = NULL¶ó°í ÇÏ´Â ÇüÅÂÀÇ ½ÄÀº(¿Ã¹Ù¸¥ ÇØ¼®À» »ç¿ëÇÑ °á°ú) Ç×»ó NULL°ªÀ» ¹ÝȯÇϱ⠶§¹®¿¡, Åë»óÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â Àǹ̰¡ °ÅÀÇ ¾ø°í, ºÐº°¾ø°Ô »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î, ÀÌ ¿É¼ÇÀº ½ÇÁ¦·Î ÇØ·Î¿òÀº ¾ø½À´Ï´Ù. ±×·¯³ª, Àͼ÷ÇØÁöÁö ¾ÊÀº À¯Àú´Â ÀÚÁÖ NULL°ª¿¡ °üÇÑ ½ÄÀÇ Àǹ̿¡ ´çȲÇϱ⠶§¹®¿¡, µðÆúÆ®·Î ÀÌ ¿É¼ÇÀº À¯È¿ÇÏ°Ô µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.

ÀÌ ¿É¼ÇÀº= NULL¶ó°í ÇÏ´Â Çü½Ä¿¡¸¸ ¿µÇâÀ» ÁÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ´Ù¸¥ ºñ±³ ¿¬»êÀÚ³ª µî°¡ ¿¬»êÀÚ¸¦ È£ÃâÇÏ´Â ´Ù¸¥(IN¿Í °°Àº) ½Ä°ú °è»êÇϴµ¥ À־ µî°¡°¡ µÇ´Â ½Ä¿¡´Â ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. µû¶ó¼­, ÀÌ ¿É¼ÇÀº À߸øµÈ ÇÁ·Î±×·¡¹ÖÀÇ ¹ü¿ëÀûÀÎ ¹®Á¦ ÇØ°áÀ» ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù.

°ü·ÃÇÏ´Â Á¤º¸´ÂSection 9.2À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.