| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Fast Forward | Next | |
CREATE OPERATOR CLASS
name
[ DEFAULT ] FOR TYPE
data_type
USING
index_method
AS
{ OPERATOR
strategy_number
operator_name
[ (
op_type
,
op_type
) ] [ RECHECK ]
| FUNCTION
support_number
funcname
(
argument_type
[, ...] )
| STORAGE
storage_type
} [, ... ]
CREATE OPERATOR CLASS´Â »õ·Î¿î ¿¬»êÀÚ Å¬·¡½º¸¦ »ý¼ºÇÕ´Ï´Ù. ¿¬»êÀÚ Å¬·¡½º´Â, ƯÁ¤ÀÇ µ¥ÀÌÅÍÇüÀÌ À妽º·Î ¾î¶»°Ô »ç¿ëµÇ´ÂÁö¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¿¬»êÀÚ Å¬·¡½º¿¡ ÀÇÇØ, µ¥ÀÌÅÍÇü ¹× À妽º ¸Þ¼ÒµåÀÇ Æ¯Á¤ÀÇ ¿ªÇÒ È¤Àº"Àü·«"¿¡, ¾î´À ¿¬»êÀÚ¸¦ »ç¿ëÇÒÁö°¡ ÁöÁ¤µË´Ï´Ù. ¶ÇÇÑ, À妽ºÀÇ ¿¿¡ ´ëÇØ¼ ¿¬»êÀÚ Å¬·¡½º°¡ ¼±ÅÃµÉ ½Ã, ¿¬»êÀÚ Å¬·¡½º´Â À妽º ¸Þ¼Òµå°¡ »ç¿ëÇÏ´Â Áö¿ø ÇÁ·Î½ÃÀú¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿¬»êÀÚ Å¬·¡½º¿¡¼ »ç¿ëµÇ´Â ¸ðµç ¿¬»êÀÚ ¹× ÇÔ¼ö´Â, ¿¬»êÀÚ Å¬·¡½º°¡ »ý¼ºµÇ±â Àü¿¡ Á¤ÀǵǾî¾ß ÇÕ´Ï´Ù.
½ºÅ°¸¶¸íÀÌ Á¦½ÃµÈ °æ¿ì, ¿¬»êÀÚ Å¬·¡½º´Â ÁöÁ¤µÈ ½ºÅ°¸¶¿¡¼ »ý¼ºµË´Ï´Ù. ½ºÅ°¸¶¸íÀÌ Á¦½ÃµÇÁö ¾ÊÀº °æ¿ì, ¿¬»êÀÚ Å¬·¡½º´Â ÇöÀçÀÇ ½ºÅ°¸¶¿¡¼ »ý¼ºµË´Ï´Ù. ´Ù¸¥ À妽º ¸Þ¼Òµå¿¡ »ç¿ëÇÏ´Â °æ¿ì¸¸, °°Àº ½ºÅ°¸¶³»ÀÇ 2°³ÀÇ ¿¬»êÀÚ Å¬·¡½º¿¡ °°Àº À̸§À» ºÙÀÏ ¼ö°¡ ÀÖ½À´Ï´Ù.
¿¬»êÀÚ Å¬·¡½º¸¦ Á¤ÀÇÇÑ »ç¿ëÀÚ°¡, ¿¬»êÀÚ Å¬·¡½ºÀÇ ¼ÒÀ¯ÀÚ°¡ µË´Ï´Ù. ÇöÀç, ¿¬»êÀÚ Å¬·¡½º¸¦ »ý¼ºÇÏ·Á¸é, ½´ÆÛÀ¯Àú¿©¾ß¸¸ ÇÕ´Ï´Ù. (À߸øµÈ ¿¬»êÀÚ Å¬·¡½º¸¦ Á¤ÀÇÇϸé, È¥¶õÀ» ÀÏÀ¸Å°°í ¼¹ö¸¦ °íÀ峪°Ô ÇϹǷΠÀÌ·¯ÇÑ Á¦ÇÑÀ» µÓ´Ï´Ù.)
ÇöÀç,CREATE OPERATOR CLASS¿¡¼´Â, À妽º ¸Þ¼Òµå¿¡ ÇÊ¿äÇÑ ¸ðµç ¿¬»êÀÚ ¹× ÇÔ¼ö°¡ ¿¬»êÀÚ Å¬·¡½º Á¤ÀÇ¿¡ Æ÷ÇԵǾî ÀÖ´ÂÁö ¾î¶²Áö, ¶Ç, ¿¬»êÀÚ³ª ÇÔ¼öÀÇ Çü½ÄÀ¸·Î ÀÚ½ÅÀÇ Á¤ÇÕ¼ºÀ» °¡Áö°í ÀÖ´ÂÁö¸¦ °Ë»çÇÏÁö ¾Ê½À´Ï´Ù. À¯È¿ÇÑ ¿¬»êÀÚ Å¬·¡½º¸¦ Á¤ÀÇÇÏ´Â °ÍÀº »ç¿ëÀÚÀÇ Ã¥ÀÓÀÔ´Ï´Ù.
»ó¼¼ÇÑ Á¤º¸¿¡ ´ëÇØ¼´ÂSection 33.14À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
»ý¼ºÇÏ´Â ¿¬»êÀÚ Å¬·¡½ºÀÇ À̸§ÀÔ´Ï´Ù. ¿¬»êÀÚ Å¬·¡½º¸íÀº, °ËÁõÀ» °ÅÄ£ ½ºÅ°¸¶¸íÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.
DEFAULT¸¦ ºÙÀ̸é, ¿¬»êÀÚ Å¬·¡½º´Â µ¥ÀÌÅÍÇüÀÇ µðÆúÆ® ¿¬»êÀÚ Å¬·¡½º°¡ µË´Ï´Ù. ¿¬»êÀÚ Å¬·¡½º 1°³¸¸ÀÌ, ƯÁ¤ÀÇ µ¥ÀÌÅÍÇü ¹× À妽º ¸Þ¼ÒµåÀÇ µðÆúÆ®°¡ µÉ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¿¬»êÀÚ Å¬·¡½º¸¦ »ç¿ëÇÏ´Â ¿ÀÇ µ¥ÀÌÅÍÇüÀÔ´Ï´Ù.
ÀÌ ¿¬»êÀÚ Å¬·¡½º¸¦ »ç¿ëÇÏ´Â À妽º ¸Þ¼ÒµåÀÇ À̸§ÀÔ´Ï´Ù.
¿¬»êÀÚ Å¬·¡½º¿¡ ¿¬°üµÈ ¿¬»êÀÚÀÇ À妽º ¸Þ¼ÒµåÀÇ Àü·« ¹øÈ£ÀÔ´Ï´Ù.
¿¬»êÀÚ Å¬·¡½º¿¡ °ü·ÃµÈ ¿¬»êÀÚÀÇ À̸§(°ËÁõÀ» °ÅÄ£ ½ºÅ°¸¶)ÀÔ´Ï´Ù.
¿¬»êÀÚÀÇ ÀÔ·Â µ¥ÀÌÅÍÇü, ȤÀº, ¿ÞÂÊ ´ÜÇ× ¿¬»êÀÚ³ª ¿À¸¥ÂÊ ´ÜÇ× ¿¬»êÀÚ¸¦ ³ªÅ¸³»´ÂNONE¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿¬»êÀÚ Å¬·¡½ºÀÇ µ¥ÀÌÅÍÇü°ú °°Àº Åë»óÀÇ °æ¿ì, ÀÔ·Â µ¥ÀÌÅÍÇüÀº »ý·« °¡´ÉÇÕ´Ï´Ù.
RECHECK°¡ Á¸ÀçÇÏ´Â °æ¿ì, À妽º°¡ ÀÌ ¿¬»êÀÚ¿¡ ´ëÇØ "lossy"ÀÓÀ» ³ªÅ¸³À´Ï´Ù. µû¶ó¼, À妽º¸¦ »ç¿ëÇÏ¿© ÃßÃâµÈ ÇàÀÌ ÀÌ ¿¬»êÀÚ¸¦ Æ÷ÇÔÇÑ Á¶°Ç±¸¸¦ ½ÇÁ¦·Î ÃæÁ·½Ã۰í ÀÖ´ÂÁö¸¦ °ËÁõÇϱâ À§Çؼ, ±× ÇàÀ» Àç°Ë»çÇØ¾ß ÇÕ´Ï´Ù.
¿¬»êÀÚ Å¬·¡½º¿¡ °ü·ÃµÈ ÇÔ¼ö¿ëÀÇ À妽º ¸Þ¼ÒµåÀÇ Áö¿ø ÇÁ·Î½ÃÀúÀÇ ¹øÈ£ÀÔ´Ï´Ù.
¿¬»êÀÚ Å¬·¡½º¿ëÀÇ À妽º ¸Þ¼ÒµåÀÇ ¼Æ÷Æ® ÇÁ·Î½ÃÀú°¡ µÇ´Â ÇÔ¼öÀÇ À̸§(°ËÁõÀ» °ÅÄ£ ½ºÅ°¸¶)ÀÔ´Ï´Ù.
ÇÔ¼öÀÇ ¸Å°³º¯¼öÀÇ µ¥ÀÌÅÍÇüÀÔ´Ï´Ù.
À妽º¿¡ ½ÇÁ¦·Î ÀúÀåµÇ´Â µ¥ÀÌÅÍÇüÀÔ´Ï´Ù. Åë»ó, ÀÌ µ¥ÀÌÅÍÇüÀº ¿ÀÇ µ¥ÀÌÅÍÇü°ú °°½À´Ï´Ù. ±×·¯³ª, ´Ù¸¥ µ¥ÀÌÅÍÇüÀ» Çã°¡ÇÏ´Â À妽º ¸Þ¼Òµåµµ Á¸ÀçÇÕ´Ï´Ù(Çö½ÃÁ¡¿¡¼´Â GIN¿Í GiST). À妽º ¸Þ¼Òµå°¡ ´Ù¸¥ µ¥ÀÌÅÍÇüÀÇ »ç¿ëÀ» Çã°¡Çϰí ÀÖÁö ¾ÊÀ¸¸é,STORAGEÀýÀ» ¹Ýµå½Ã »ý·«ÇØ¾ß ÇÕ´Ï´Ù.
OPERATOR,FUNCTION,STORAGE´Â ÀÓÀÇÀÇ Â÷·Ê·Î ±â¼úÇÒ ¼ö ÀÖ½À´Ï´Ù.
À妽º ±â±¸´Â, »ç¿ëÇϱâ Àü¿¡ ÇÔ¼ö¿¡ °üÇÑ ¾×¼¼½º±ÇÇÑÀ» °Ë»çÇÏÁö ¾ÊÀ¸¹Ç·Î, ÇÔ¼ö³ª ¿¬»êÀÚ¸¦ ¿¬»êÀÚ Å¬·¡½º¿¡ Æ÷ÇÔÇÏ´Â °ÍÀº, PUBLIC¿¡ ½ÇÇà±ÇÇÑÀ» ÁÖ´Â °Í°ú °°½À´Ï´Ù. Åë»ó, ¿¬»êÀÚ Å¬·¡½º¿¡¼ À¯¿ëÇÑ Á¾·ùÀÇ ÇÔ¼ö¿¡¼´Â À̰ÍÀº ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù.
¿¬»êÀÚ´Â SQL ÇÔ¼ö·Î Á¤ÀÇ µÇÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù. SQL ÇÔ¼ö´Â Äõ¸®¸¦ È£ÃâÇØ ÀζóÀÎ µÉ °ÍÀ̹ǷÎ, ÃÖÀûÈ´Â À妽º¸¦ ÀÏÄ¡ÇÏ´Â Äõ¸®¸¦ ÀνÄÇÒ ¼ö ¾ø°Ô µË´Ï´Ù.
¾Æ·¡ÀÇ Ä¿¸àµå ¿¹¿¡¼´Â,_int4µ¥ÀÌÅÍÇü(int4ÀÇ ¹è¿)ÀÇ GiST À妽º ¿¬»êÀÚ Å¬·¡½º¸¦ Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù. ÀÌ ¿¹ÀÇ »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â,contrib/intarray/¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
CREATE OPERATOR CLASS gist__int_ops
DEFAULT FOR TYPE _int4 USING gist AS
OPERATOR 3 &&,
OPERATOR 6 = RECHECK,
OPERATOR 7 @>,
OPERATOR 8 <@,
OPERATOR 20 @@ (_int4, query_int),
FUNCTION 1 g_int_consistent (internal, _int4, int4),
FUNCTION 2 g_int_union (bytea, internal),
FUNCTION 3 g_int_compress (internal),
FUNCTION 4 g_int_decompress (internal),
FUNCTION 5 g_int_penalty (internal, internal, internal),
FUNCTION 6 g_int_picksplit (internal, internal),
FUNCTION 7 g_int_same (_int4, _int4, internal);