32.12. columns

columnsºä¿¡´Â, µ¥ÀÌÅͺ£À̽º³»ÀÇ ¸ðµç Å×ÀÌºí¿­(ȤÀº ºäÀÇ ¿­)¿¡ ´ëÇÑ Á¤º¸°¡ Æ÷ÇԵ˴ϴÙ. ½Ã½ºÅÛ¿­(oidµî)Àº Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ÇöÀçÀÇ »ç¿ëÀÚ°¡(¼ÒÀ¯ÀÚÀÎ, ±ÇÇÑÀ» °¡Áö°í ÀÖ´Â µîÀÇ ¹æ¹ýÀ¸·Î) ¾×¼¼½º ÇÒ ¼ö ÀÖ´Â ¿­¸¸ÀÌ ³ªÅ¸³³´Ï´Ù.

Table 32-10. columnsÀÇ ¿­

À̸§ µ¥ÀÌÅÍÇü ¼³¸í
table_catalog sql_identifier Å×À̺íÀ» °¡Áö´Â µ¥ÀÌÅͺ£À̽ºÀÇ À̸§ÀÔ´Ï´Ù(Ç×»ó ÇöÀçÀÇ µ¥ÀÌÅͺ£À̽ºÀÔ´Ï´Ù).
table_schema sql_identifier Å×À̺íÀ» °¡Áö´Â ½ºÅ°¸¶ÀÇ À̸§ÀÔ´Ï´Ù.
table_name sql_identifier Å×À̺íÀÇ À̸§ÀÔ´Ï´Ù.
column_name sql_identifier ¿­ÀÇ À̸§ÀÔ´Ï´Ù.
ordinal_position cardinal_number Å×ÀÌºí³»ÀÇ ¿­ÀÇ ¼ø¼­À§Ä¡(Ä«¿îÆ®´Â 1¿¡¼­ ½ÃÀ۵˴ϴÙ)ÀÔ´Ï´Ù.
column_default character_data ¿­ÀÇ µðÆúÆ®½ÄÀÔ´Ï´Ù.
is_nullable character_data ¿­ÀÌ NULLÀ» °¡Áú ¼ö ÀÖ´Â °æ¿ì´ÂYES, NULL¸¦ °¡Áú ¼ö ¾øÀ¸¸éNOÀÔ´Ï´Ù. ºñNULL Á¦¾àÀº, ¿­¿¡ NULLÀ» °®Áö ¾Ê°Ô ÇÏ´Â ¹æ¹ýÀÇ ÇϳªÀÔ´Ï´Ù¸¸, ±× ¿Ü¿¡µµ Á¸ÀçÇÕ´Ï´Ù.
data_type character_data ³»ÀåÇüÀÇ °æ¿ì, ¿­ÀÇ µ¥ÀÌÅÍÇüÀÔ´Ï´Ù. ¶Ç´Â ¹è¿­ÀÇ °æ¿ì,ARRAY(ÀÌ °æ¿ì´Âelement_typesºä¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä), ¾Æ´Ï¸é,USER-DEFINEDÀÔ´Ï´Ù(ÀÌ °æ¿ì, ÇüÅ´Âudt_name¿Í °ü·ÃÇÏ´Â ¿­·Î ½Äº°µË´Ï´Ù). ¿­ÀÌ µµ¸ÞÀο¡ ±Ù°ÅÇÏ´Â °ÍÀ̸é, ±× ¿­Àº µµ¸ÞÀÎÀÇ ¹èÈÄ¿¡ ÀÖ´Â ÇüŸ¦ ³ªÅ¸³À´Ï´Ù (±×¸®°í, µµ¸ÞÀÎÀºdomain_name¿Í °ü·ÃÇÏ´Â ¿­¿¡ ÀÇÇØ ½Äº°µË´Ï´Ù).
character_maximum_length cardinal_number data_type°¡, ¹®ÀÚ, ȤÀº ºñÆ® ¹®ÀÚ¿­ÇüÀ» ³ªÅ¸³»´Â °æ¿ì, ¼±¾ðµÈ ÃÖ´ëÀÇ ±æÀÌÀÔ´Ï´Ù. ±× ¿ÜÀÇ µ¥ÀÌÅÍÇüÀ̳ª ÃÖ´ëÀåÀÌ ¼±¾ðµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â NULLÀÌ µË´Ï´Ù.
character_octet_length cardinal_number data_type°¡ ¹®ÀÚÇüÀ» ³ªÅ¸³»´Â °æ¿ì, 8Áßâ(¹ÙÀÌÆ®) ´ÜÀ§ÀÇ ÃÖ´ëÀåÀÔ´Ï´Ù (À̰ÍÀº ¾Æ¸¶PostgreSQL»ç¿ëÀÚ´Â °ü½ÉÀ» °¡ÁöÁö ¾Ê½À´Ï´Ù). ´Ù¸¥ ¸ðµç µ¥ÀÌÅÍÇü¿¡¼­´Â NULLÀÔ´Ï´Ù.
numeric_precision cardinal_number data_type°¡ ¼öÄ¡ÇüÀ» ³ªÅ¸³»´Â °æ¿ì, ¿©±â¿¡´Â, ±× ¿­ÀÇ ÇüÅÂÀÇ(¼±¾ðµÈ, ȤÀº ¾Ï¹¬ÀûÀÎ) Á¤¹Ðµµ°¡ Æ÷ÇԵ˴ϴÙ. ÀÌ Á¤¹Ðµµ´Â Àǹ̰¡ ÀÖ´Â ÀÚ¸®¼ö¸¦ ³ªÅ¸³À´Ï´Ù. numeric_precision_radix¿­ÀÇ ÁöÁ¤¿¡ µû¶ó, 10 Áø¼ö(10À» ±âº»À¸·Î ÇÏ´Â), ȤÀº 2 Áø¼ö(2¸¦ ±âº»À¸·Î ÇÏ´Â)·Î Ç¥ÇöµË´Ï´Ù. ÀÌ ¿­Àº, ´Ù¸¥ ¸ðµç ÇüÅ¿¡¼­´Â NULLÀÔ´Ï´Ù.
numeric_precision_radix cardinal_number data_type°¡ ¼öÄ¡ÇüÀ» ³ªÅ¸³»´Â °æ¿ì, ÀÌ ¿­Àº,numeric_precision¿Ínumeric_scaleÀÌ Ç¥ÇöµÈ ¿­°ªÀÇ ±âº»À» ³ªÅ¸³À´Ï´Ù. °ªÀº 2 ¶Ç´Â 10À» ÃëÇÕ´Ï´Ù. ÀÌ ¿­Àº, ´Ù¸¥ ¸ðµç ÇüÅ¿¡¼­´Â NULLÀÔ´Ï´Ù.
numeric_scale cardinal_number data_type°¡ Á¤È®ÇÑ ¼öÄ¡ÇüÀ» ³ªÅ¸³»´Â °æ¿ì, ¿©±â¿¡´Â, ±× ¿­ÀÇ ÇüÅÂÀÇ(¼±¾ðµÈ, ȤÀº ¾Ï¹¬ÀûÀÎ) ÀÚ¸´¼ö ÁöÁ¤ÀÌ Æ÷ÇԵ˴ϴÙ. ÀÚ¸´¼ö ÁöÁ¤À̶õ, ¼Ò¼öÁ¡º¸´Ù ¿ìÃøÀÇ Àǹ̰¡ ÀÖ´Â ÀÚ¸®¼öÀÔ´Ï´Ù. numeric_precision_radix¿­ÀÇ ÁöÁ¤¿¡ µû¶ó, 10 Áø¼ö(10À» ±âº»À¸·Î ÇÏ´Â), ȤÀº 2 Áø¼ö(2¸¦ ±âº»À¸·Î ÇÏ´Â)·Î Ç¥ÇöµË´Ï´Ù. ÀÌ ¿­Àº, ´Ù¸¥ ¸ðµç ÇüÅ¿¡¼­´Â NULLÀÔ´Ï´Ù.
datetime_precision cardinal_number data_type°¡ ÀÏÀÚ, ½Ã°¢, °£°ÝÇüÀ» ³ªÅ¸³»´Â °æ¿ì, ¼±¾ðµÈ Á¤¹ÐµµÀÔ´Ï´Ù. ´Ù¸¥ ¸ðµç ÇüÅÂÀÇ °æ¿ì³ª, Á¤¹Ðµµ°¡ ¼±¾ðµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â NULLÀÔ´Ï´Ù.
interval_type character_data ¾ÆÁ÷ ½ÇÇàµÇÁö ¾Ê¾Ò½À´Ï´Ù.
interval_precision character_data ¾ÆÁ÷ ½ÇÇàµÇÁö ¾Ê¾Ò½À´Ï´Ù.
character_set_catalog sql_identifier PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
character_set_schema sql_identifier PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
character_set_name sql_identifier PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
collation_catalog sql_identifier PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
collation_schema sql_identifier PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
collation_name sql_identifier PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
domain_catalog sql_identifier ¿­ÀÌ µµ¸ÞÀÎÇüÀÇ °æ¿ì, ±× µµ¸ÞÀÎÀ» Á¤ÀÇÇÑ µ¥ÀÌÅͺ£À̽ºÀÇ À̸§ÀÔ´Ï´Ù (Ç×»ó ÇöÀçÀÇ µ¥ÀÌÅͺ£À̽ºÀÔ´Ï´Ù). ¿­ÀÌ µµ¸ÞÀÎÇüÀÌ ¾Æ´Ñ °æ¿ì, NULLÀÔ´Ï´Ù.
domain_schema sql_identifier ¿­ÀÌ µµ¸ÞÀÎÇüÀÇ °æ¿ì, ±× µµ¸ÞÀÎÀ» Á¤ÀÇÇÑ ½ºÅ°¸¶ÀÇ À̸§ÀÔ´Ï´Ù. ¾Æ´Ï¸é, NULLÀÔ´Ï´Ù.
domain_name sql_identifier ¿­ÀÌ µµ¸ÞÀÎÇüÀÇ °æ¿ì, ±× µµ¸ÞÀÎÀÇ À̸§ÀÔ´Ï´Ù. ¾Æ´Ï¸é, NULLÀÔ´Ï´Ù.
udt_catalog sql_identifier ¿­µ¥ÀÌÅÍÇü(Àû¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì, ¹èÈÄ¿¡ ÀÖ´Â µµ¸ÞÀÎÀÇ ÇüÅÂ)À» Á¤ÀÇÇÑ µ¥ÀÌÅͺ£À̽ºÀÇ À̸§ÀÔ´Ï´Ù (Ç×»ó ÇöÀçÀÇ µ¥ÀÌÅͺ£À̽ºÀÔ´Ï´Ù).
udt_schema sql_identifier ¿­µ¥ÀÌÅÍÇü(Àû¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì, ¹èÈÄ¿¡ ÀÖ´Â µµ¸ÞÀÎÀÇ ÇüÅÂ)À» Á¤ÀÇÇÑ ½ºÅ°¸¶ÀÇ À̸§ÀÔ´Ï´Ù.
udt_name sql_identifier ¿­µ¥ÀÌÅÍÇü(Àû¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì,¹èÈÄ¿¡ ÀÖ´Â µµ¸ÞÀÎÀÇ ÇüÅÂ)ÀÇ À̸§ÀÔ´Ï´Ù.
scope_catalog sql_identifier PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
scope_schema sql_identifier PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
scope_name sql_identifier PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
maximum_cardinality cardinal_number Ç×»ó NULLÀÔ´Ï´Ù. PostgreSQL¿¡¼­´Â ¹è¿­ÀÇ ÃÖ´ë Â÷¼ö´Â Ç×»ó ¹«Á¦ÇÑÀ̱⠶§¹®¿¡ÀÔ´Ï´Ù.
dtd_identifier sql_identifier ¿­ÀÇ µ¥ÀÌÅÍÇü ±â¼úÀÚÀÇ, Å×ÀÌºí¿¡ ¼ÓÇÏ´Â µ¥ÀÌÅÍÇü ±â¼úÀÚ³»¿¡¼­ ÀÏÀÇÀÎ ½Äº°ÀÚÀÔ´Ï´Ù. ÀÌ ½Äº°ÀÚÀÇ ÀνºÅϽº¸¦ °áÇÕÇÒ ¶§¿¡, ÁÖ·Î À¯¿ëÇÕ´Ï´Ù (½Äº°ÀÚÀÇ ¼­½Ä »ç¾çÀº Á¤ÀǵÇÁö ¾Ê°í, ÇâÈÄÀÇ ¹öÁ¯¿¡¼­ µ¿ÀϼºÀ» À¯ÁöÇÏ´Â º¸Áõµµ ¾ø½À´Ï´Ù).
is_self_referencing character_data PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
is_identity character_data PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
identity_generation character_data PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
identity_start character_data PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
identity_increment character_data PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
identity_maximum character_data PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
identity_minimum character_data PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
identity_cycle character_data PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
is_generated character_data PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
generation_expression character_data PostgreSQL·Î ÀÌ¿ëÇÒ ¼ö ¾ø´Â ±â´É¿¡ Àû¿ëµÇ´Â °ÍÀÔ´Ï´Ù.
is_updatable character_data ¿­ÀÌ °»½Å °¡´ÉÇÑ °æ¿ìYES, ¾Æ´Ï¸éNOÀÔ´Ï´Ù. (º£À̽º Å×À̺íÀÇ ¿­Àº Ç×»ó °»½Å °¡´ÉÇÕ´Ï´Ù. ºäÀÇ ¿­¿¡¼­´Â ºÒÇÊ¿äÇÕ´Ï´Ù. )

µ¥ÀÌÅÍÇüÀº, º¹¼öÀÇ ¹æ¹ýÀ¸·Î SQL¿¡ ÀÇÇØ Á¤ÀÇÇÒ ¼ö ÀÖ¾î ÇÑÃþ ´õPostgreSQL¿¡´Â µ¥ÀÌÅÍÇü Á¤ÀÇ¿¡ ´Ù¸¥ ¹æ¹ýµµ Ãß°¡µÇ°í Àֱ⠶§¹®¿¡, Á¤º¸ ½ºÅ°¸¶¿¡ À־ÀÇ µ¥ÀÌÅÍÇü Ç¥ÇöÀº ´Ù¼Ò ¾î·Á¿öÁö°í ÀÖ½À´Ï´Ù. data_type¿­Àº, ¿­ÀÇ ¹èÈÄ¿¡ ÀÖ´Â ³»ÀåÇüÀ» ½Äº°ÇÒ ¼ö ÀÖµµ·Ï µÇ¾î ÀÖ½À´Ï´Ù. PostgreSQL¿¡¼­´Â, ÇüŰ¡pg_catalog½Ã½ºÅÛ Ä«Å»·Î±× ½ºÅ°¸¶·Î Á¤Àǵǰí ÀÖ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. Àß ¾Ë·ÁÁø ³»ÀåÇüÀ» Ưº°È÷ Ãë±ÞÇÒ ¼ö ÀÖ´Â ¾ÖÇø®ÄÉÀ̼Ç(¿¹¸¦ µé¸é, ¼öÄ¡ÇüÀ» ´Ù¸¥ ¼­½ÄÀ¸·Î ÇÏ´Â, Á¤¹Ðµµ ¿­³»ÀÇ µ¥ÀÌÅ͸¦ »ç¿ëÇÑ´Ù)ÀÇ °æ¿ì, ÀÌ ¿­ÀÌ À¯¿ëÇÑ °æ¿ì°¡ ÀÖ½À´Ï´Ù. udt_name,udt_schema,udt_catalog¿­Àº, ºñ·Ï µµ¸ÞÀο¡ ±Ù°ÅÇÑ ¿­À̾, Ç×»ó ¿­ÀÇ ¹èÈÄ¿¡ ÀÖ´Â µ¥ÀÌÅÍÇüÀ» ½Äº°ÇÕ´Ï´Ù (PostgreSQL´Â, ³»ÀåÇüÀ» »ç¿ëÀÚ Á¤ÀÇÇü°ú °°°Ô Ãë±ÞÇϱ⠶§¹®¿¡, ¿©±â¿¡´Â ³»ÀåµÈ Çüŵµ ³ªÅ¸³³´Ï´Ù. À̰ÍÀº Ç¥ÁØ SQL·ÎºÎÅÍÀÇ È®ÀåÀÔ´Ï´Ù). ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÇüÅ¿¡ µû¶ó ´Ù¸¥ 󸮸¦ ½Ç½ÃÇÏ´Â °æ¿ì, ÀÌ·¯ÇÑ ¿­À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì, ¿­ÀÌ µµ¸ÞÀο¡ ±Ù°ÅÇϰí ÀÖÀ¸¸é, ¹®Á¦µÇÁö ¾Ê±â ¶§¹® ÀÔ´Ï´Ù. ¿­ÀÌ µµ¸ÞÀο¡ ±Ù°ÅÇÏ´Â °æ¿ì, µµ¸ÞÀÎÀÇ ½Äº°ÀÚ´Âdomain_name,domain_schema,domain_catalog¿­¿¡ º¸°ü À¯ÁöµË´Ï´Ù. °ü·ÃÇÏ´Â µ¥ÀÌÅÍÇü°ú ¿­ÀÇ Æí¼ºÀ» ¸¸µé°í ½ÍÀº °æ¿ì³ª, µµ¸ÞÀÎÀ» ´Ù¸¥ ÇüÅ·μ­ Ãë±ÞÇÏ°í ½ÍÀº °æ¿ì´Â,coalesce(domain_name, udt_name)µîÀ¸·Î ±âÀç ÇÒ ¼ö ÀÖ½À´Ï´Ù.