| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 43. ½Ã½ºÅÛ Ä«Å»·Î±× | Fast Forward | Next |
pg_locksºä´Â µ¥ÀÌÅͺ£À̽º ¼¹ö³»¿¡¼ ¿¸®°í ÀÖ´Â Æ®·£Àè¼Ç(transaction)ÀÇ ¶ô¿¡ °üÇÑ Á¤º¸¿¡ÀÇ ¾×¼¼½º¸¦ Á¦°øÇÕ´Ï´Ù. ¶ô¿¡ °üÇѺ¸´Ù »ó¼¼ÇÑ ¼³¸íÀºChapter 12À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
pg_locks¿¡´Â ¶ô ´ë»óÀÌ µÇ´Â ÁøÇàÁßÀÇ °´Ã¼, ¿ä±¸µÈ ¶ô ¸ðµå, ¹× °ü·ÃÇÏ´Â Æ®·£Àè¼Ç(transaction) ¸¶´Ù 1°³ÀÇ ÇàÀ» ¼ÒÀ¯Çϰí ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î, ¸¸¾à º¹¼öÀÇ Æ®·£Àè¼Ç(transaction)ÀÌ ±× Æ®·£Àè¼Ç(transaction)»ó¿¡¼ ¶ôÀ» º¸°ü À¯ÁöÇϰí Àְųª ¶ôÀ» ´ë±âÇϰí ÀÖ´Â °æ¿ì¿¡´Â, °°Àº ¶ô ´ë»ó °´Ã¼°¡ ¿©·¯¹ø ÃâÇöÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ±×·¯³ª, ÇöÀç ¶ôÀ» °®°í ÀÖÁö ¾ÊÀº °´Ã¼´Â ÀüÇô ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù.
¶ô ´ë»ó °´Ã¼¿¡´Â ´Ù¸¥ ÇüŰ¡ ¸î°³ Á¸ÀçÇÕ´Ï´Ù. ÀüüÀÇ ¸±·¹À̼Ç(¿¹£ºÅ×À̺í), ¸±·¹À̼ÇÀÇ °³º°ÀÇ ÆäÀÌÁö, ¸±·¹À̼ÇÀÇ °³º°ÀÇ Æ©ÇÃ, Æ®·£Àè¼Ç(transaction) ID(°¡»ó°ú ¿µ¼ÓÀÇ ¾çÂÊ ¸ðµÎÀÇ ID), ±×¸®°í ÀϹÝÀûÀÎ µ¥ÀÌÅͺ£À̽º °´Ã¼(À̰ÍÀºpg_description³ªpg_depend¿Í °°Àº ¹æ½ÄÀ¸·Î Ŭ·¡½º OID¿Í °´Ã¼ OID·Î ½Äº°µË´Ï´Ù) °Ô´Ù°¡ ¸±·¹À̼ÇÀ» È®ÀåÇÒ ±Ç¸®´Â, ºÐ¸®ÇÑ ¶ô ´ë»ó °´Ã¼¿¡ ÀÇÇØ Ç¥ÇöµË´Ï´Ù.
Table 43-39. pg_locksÀÇ ¿
| À̸§ | Çü | ÂüÁ¶Ã³ | ¼³¸í |
|---|---|---|---|
| locktype | text | ¶ô ´ë»ó °´Ã¼ÀÇ Á¾·ù. relation, extend, page, tuple, transactionid, virtualxid, object, userlock, advisory | |
| database | oid | pg_database .oid | °´Ã¼°¡ °øÀ¯µÈ °´Ã¼ÀÇ °æ¿ì´Â, °´Ã¼°¡ Á¸ÀçÇϰí ÀÖ´Â µ¥ÀÌÅͺ£À̽ºÀÇ OID, ȤÀº Á¦·Î°¡ µË´Ï´Ù. ȤÀº °´Ã¼°¡ Æ®·£Àè¼Ç(transaction) IDÀÎ °æ¿ì´Â NULLÀÌ µË´Ï´Ù. |
| relation | oid | pg_class .oid | °´Ã¼°¡ ¸±·¹À̼ÇÀÌ ¾Æ´Ñ °æ¿ì³ª ¸±·¹À̼ÇÀÇ ÀϺÎÀÎ °æ¿ì´Â, ¸±·¹À̼ÇÀÇ OID, ȤÀº NULLÀÌ µË´Ï´Ù. |
| page | integer | °´Ã¼°¡ Æ©Çà ȤÀº ¸±·¹ÀÌ¼Ç ÆäÀÌÁö°¡ ¾Æ´Ñ °æ¿ì´Â, ¸±·¹À̼dz»ÀÇ ÆäÀÌÁö¼ö, ȤÀº NULLÀÌ µË´Ï´Ù. | |
| tuple | smallint | ÆäÀÌÁö³»ÀÇ Æ©Çüö, ȤÀº °´Ã¼°¡ Æ©ÇÃÀÌ ¾Æ´Ñ °æ¿ì´Â NULLÀÌ µË´Ï´Ù. | |
| transactionid | xid | Æ®·£Àè¼Ç(transaction)ÀÇ ID, ȤÀº °´Ã¼°¡ Æ®·£Àè¼Ç(transaction) ID°¡ ¾Æ´Ñ °æ¿ì´Â NULLÀÌ µË´Ï´Ù. | |
| classid | oid | pg_class .oid | °´Ã¼¸¦ Æ÷ÇÔÇÑ ½Ã½ºÅÛ Ä«Å»·Î±×ÀÇ OID, ȤÀº °´Ã¼°¡ ÀϹÝÀûÀÎ µ¥ÀÌÅͺ£À̽º °´Ã¼°¡ ¾Æ´Ñ °æ¿ì´Â NULLÀÌ µË´Ï´Ù. |
| objid | oid | any OID column | ½Ã½ºÅÛ Ä«Å»·Î±× ³»ÀÇ °´Ã¼ÀÇ OID, ȤÀº °´Ã¼°¡ ÀϹÝÀûÀÎ µ¥ÀÌÅͺ£À̽º °´Ã¼°¡ ¾Æ´Ñ °æ¿ì´Â NULLÀÌ µË´Ï´Ù. |
| objsubid | smallint | Å×À̺íÀÇ ¿¿¡ ´ëÇØ¼´Â, À̰ÍÀº ¿¼ö(classid¿Íobjid´Â Å×À̺í ÀÚ½ÅÀ» ÂüÁ¶Çϰí ÀÖ½À´Ï´Ù)ÀÔ´Ï´Ù. ´Ù¸¥ ¸ðµç °´Ã¼ÀÇ ÇüÅ¿¡ ´ëÇØ¼´Â, ÀÌ ¿Àº Á¦·Î°¡ µË´Ï´Ù. °´Ã¼°¡ ÀϹÝÀûÀÎ µ¥ÀÌÅͺ£À̽º °´Ã¼°¡ ¾Æ´Ñ °æ¿ì´Â NULLÀÌ µË´Ï´Ù. | |
| transaction | xid | ¶ôÀ» À¯Áö, ȤÀº ±â´Ù¸®°í ÀÖ´Â Æ®·£Àè¼ÇÀÇ ID | |
| pid | integer | ¶ôÀ» º¸°ü À¯Áö, ȤÀº ±â´Ù¸®°í ÀÖ´Â ¼¹ö ÇÁ·Î¼¼½ºÀÇ ÇÁ·Î¼¼½º ID. ¶ôÀÌ ÁغñµÇ¾î ÀÖ´Â Æ®·£Àè¼Ç(transaction)¿¡ ÀÇÇØ º¸°ü À¯ÁöµÇ°í ÀÖ´Â °æ¿ì´Â NULLÀÌ µË´Ï´Ù. | |
| mode | text | ¶ô ¸ðµåÀÇ À̸§Àº ÀÌ ÇÁ·Î¼¼½º¿¡¼ À¯ÁöµÇ°Å³ª ¶Ç´Â ÇÊ¿äÇÕ´Ï´Ù.(Section 12.3.1¸¦ ÂüÁ¶) | |
| granted | boolean | ¶ôÀÌ º¸°ü À¯ÁöµÇ°í ÀÖ´Â °æ¿ì´Â true, ¶ôÀÌ ´ë±â »óÅÂÀÇ °æ¿ì´Â false |
ÁöÁ¤µÈ Æ®·£Àè¼Ç¿¡ ÀÇÇØ ¼ÒÀ¯µÇ°í ÀÖ´Â ¶ôÀ» ³ªÅ¸³»´Â Çà ³»¿¡¼granted´Â trueÀÔ´Ï´Ù. falseÀÇ °æ¿ì´Â ÀÌ ¶ôÀ» ÃëµæÇϱâ À§ÇØ ÇöÀç Æ®·£Àè¼ÇÀÌ ´ë±âÁßÀÎ °ÍÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. Áï, °°Àº ¶ô ´ë»óÀÇ °´Ã¼¿¡ ´ëÇØ¼, ´Ù¸¥ Æ®·£Àè¼ÇÀÌ °æÇÕ ÇÏ´Â ¶ôÀ» ÃëµæÇϰí ÀÖ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ´ë±âÁßÀÇ Æ®·£Àè¼ÇÀº ´Ù¸¥ ¶ôÀÌ Ç®¸±¶§±îÁö Á¤½Ã»óÅÂ(sleep)·Î ÀÖ½À´Ï´Ù.(ȤÀº µ¥µå·Ï »óŰ¡ °ËÃâµË´Ï´Ù). ´ÜÀÏ Æ®·£Àè¼Ç¿¡¼´Â, ¸¹¾Æ¾ß ÇÑ ¹ø¿¡ 1°³ÀÇ ¶ôÀ» ÃëµæÇϱâ À§Çؼ ´ë±âÇÕ´Ï´Ù.
¸ðµç Æ®·£Àè¼ÇÀº ±× ¸ðµç °úÁ¤ ¿Ï·á±îÁö ±× °¡»ó Æ®·£Àè¼Ç ID»ó¿¡ ¹èŸÀû ¶ôÀ» °Ì´Ï´Ù. ÇÑ Æ®·£Àè¼ÇÀº, ¶Ç ´Ù¸¥ ƯÁ¤ÇÑ Æ®·£Àè¼ÇÀ» ´ë±âÇØ¾ß ÇÑ´Ù°í ÆÇ´ÜÇßÀ» °æ¿ì, ´Ù¸¥ Æ®·£Àè¼ÇID·Î °øÀ¯ ¶ôÀ» ÃëµæÇϵµ·Ï, ½ÃµµÇØ ¸ñÀûÀ» ´Þ¼ºÇÕ´Ï´Ù. À̰ÍÀº, ´Ù¸¥ Æ®·£Àè¼ÇÀÌ ¿Ï·áÇϰí, ¶ôÀ» Ç®¾úÀ» °æ¿ì¿¡¸¸ ¼º°øÇÕ´Ï´Ù.
Æ©ÇÃÀÌ °´Ã¼ÀÇ ¶ôÀÌ °¡´ÉÇÑ ÇüÅ¿©µµ, Çà ·¹º§ ¶ô¿¡ ´ëÇÑ Á¤º¸´Â ¸Þ¸ð¸®°¡ ¾Æ´Ñ, µð½ºÅ©¿¡ º¸Á¸µË´Ï´Ù. µû¶ó¼ Çà ·¹º§ ¶ôÀº Åë»ó, ÀÌ ºä¿¡´Â ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù. Æ®·£Àè¼ÇÀÌ Çà ·¹º§ ¶ôÀÇ ´ë±â »óÅÂÀÎ °æ¿ì´Â, ±× Çà ¶ôÀ» º¸°ü À¯ÁöÇϰí ÀÖ´Â Æ®·£Àè¼ÇID¸¦ ±â´Ù¸®´Â »óÅ·Î, ±× Æ®·£Àè¼ÇÀº ºä¿¡ ³ªÅ¸³³´Ï´Ù.
±Ç°íÀû ¶ôÀº, ´ÜÀÏÀÇbigint°ª, ¶Ç´Â, 2°³ÀÇ Á¤¼ö°ªÀ» Ű·Î¼ ȹµæÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. bigintÀÇ °æ¿ì´Â, °Ô´Ù°¡ »óÀ§ ¹ÝÀÌclassid¿ ³»¿¡ Ç¥½ÃµÇ¾î ³ª¸ÓÁöÀÇ ÇÏÀ§ ¹ÝÀºobjid¿ ³»¿¡ Ç¥½ÃµË´Ï´Ù. ¶Ç,objsubid´Â 1ÀÌ µË´Ï´Ù. Á¤¼öÄ¡ Ű¿¡¼´Â, ÃÖÃÊÀÇ Å°°¡classid¿¿¡, 2¹øÂ° ۰¡ objid¿¿¡ Ç¥½ÃµÇ¾îobjsubid´Â 2°¡ µË´Ï´Ù. ŰÀÇ ½ÇÁ¦ÀÇ Àǹ̴ »ç¿ëÀÚ¿¡°Ô ´Þ·Á ÀÖ½À´Ï´Ù. ±Ç°íÀû ¶ôÀº µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ¼ ±¹¼ÒÀûÀ̹ǷÎ, ±Ç°íÀû ¶ô¿¡¼´Âdatabase¿ÀÌ Àǹ̸¦ °¡Áý´Ï´Ù.
pg_locksºä¿¡ ¾×¼¼½º°¡ °É¸®¸é, ³»ºÎ ¶ô °ü¸® µ¥ÀÌÅÍ ±¸Á¶´Â ÀϽÃÀûÀ¸·Î ¶ô µÇ¾î º¹Á¦°¡ Ç¥½Ã¿ëÀÇ ºä·Î¼ ÀÛ¼ºµË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ Åë»óÀÇ ¶ô °ü¸® Á¶ÀÛÀ» ÇÊ¿äÀÌ»óÀ¸·Î ¹æÇØÇÏÁö ¸»°í, ºä´Â ¸ð¼øÀ» Æ÷ÇÔÇÏÁö ¾Ê´Â °á°úÀÇ »ý¼ºÀÌ º¸ÁõµË´Ï´Ù. ±×·³¿¡µµ ºÒ±¸Çϰí ÀÌ ºä°¡ ºó¹øÇÏ°Ô ¾×¼¼½º µÇ¸é, µ¥ÀÌÅͺ£À̽ºÀÇ ÆÛÆ÷¸Õ½º¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ½À´Ï´Ù.
pg_locks´Â ÇöÇàÀÇ µ¥ÀÌÅͺ£À̽º¿¡ °ü·ÃÇÏ´Â ¶ô »Ó¸¸ ¾Æ´Ï¶ó, µ¥ÀÌÅͺ£À̽º Ŭ·¯½ºÅͳ»ÀÇ ¸ðµç ¶ôÀÇ ÀüüÀÇ ºä¸¦ Á¦°øÇÕ´Ï´Ù. ±×relation¿ÀÌpg_class. oid¿¡ ´ëÇØ ¶ô µÈ ¸±·¹À̼ÇÀÎ °ÍÀ» Ç¥¸íÇϱâ À§Çؼ °áÇÕÀÌ °¡´ÉÇÕ´Ï´Ù, À̰ÍÀº ÇöÇàÀÇ µ¥ÀÌÅͺ£À̽º³»ÀÇ ¸±·¹À̼Ç(±×¿¡ ´ëÇÑdatabase¿ÀÌ ÇöÇàÀÇ µ¥ÀÌÅͺ£À̽ºÀÇ OID ȤÀº Á¦·Î)¿¡ ´ëÇØ ÀÛµ¿ÇÕ´Ï´Ù.
¶ô À¯Áö¸¦ ȤÀº À¯ÁöÇϰí ÀÖ´Â ¼¼¼ÇÀÇ »õ·Î¿î Á¤º¸¸¦ ÀÔ¼öÇϱâ À§ÇØ, pg_stat_activityºäÀÇprocpid¿°úpid¿Àº °áÇÕÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ÁغñµÈ Æ®·£Àè¼ÇÀ»»ç¿ëÇϰí ÀÖ´Â °æ¿ì¿¡´Â,transactionÀÇ ¿Àº pg_prepared_xactsºäÀÇtransaction¿°ú °áÇÕÇÒ ¼ö ÀÖ¾î, ¶ôÀ» À¯ÁöÇϰí ÀÖÀ» ÁغñµÈ Æ®·£Àè¼Ç¿¡ °üÇØ¼, º¸´Ù ¸¹Àº Á¤º¸¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. (ÁغñµÈ Æ®·£Àè¼ÇÀº ¶ôÀ» ±â´Ù¸®Áö ¾ÊÁö¸¸, ½ÇÇà½Ã¿¡ ÃëµæÇÑ ¶ôÀ» °è¼Ó À¯ÁöÇÕ´Ï´Ù. )