43.10. pg_autovacuum

pg_autovacuumīŻ·Î±×´Â, autovacuum daemon¿¡ ´ëÇÑ ºÎ°¡ÀûÀÎ ¸±·¹À̼Ǹ¶´ÙÀÇ ¼³Á¤ ÆÄ¶ó¹ÌÅ͸¦ ÀúÀåÇÕ´Ï´Ù. ¸¸¾à ƯÁ¤ÀÇ ¸±·¹À̼ÇÀ¸·Î, ÀÌ Ä«Å»·Î±×¿¡ ¿£Æ®¸®°¡ ÀÖ´Â °æ¿ì´Â, ÁÖ¾îÁø ÆÄ¶ó¹ÌÅÍ´Â, ´ë»óÀÇ Å×ÀÌºí¿¡ ´ëÇØ¼­ÀÇ autovacuuming¿¡ »ç¿ëµË´Ï´Ù. ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì´Â ½Ã½ºÅÛÀÇ µðÆúÆ®°ªÀÌ »ç¿ëµË´Ï´Ù. autovacuum daemon¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀºSection 22.1.4À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

Note: pg_autovacuum´Â, pg_class. reloptions¿£Æ®¸®¿¡ º¸Á¸µÇ´Â ´ë½Å¿¡, Á¤º¸¿Í ÇÔ²² ÇâÈÄÀÇ ¸±¸®½º·Î ¼Ò½Ç µÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.

Table 43-10. pg_autovacuumÀÇ ¿­

À̸§ Çü ÂüÁ¶Ã³ ¼³¸í
vacrelid oid pg_class .oid ÀÌ ¿£Æ®¸®°¡ °¡¸®Å°°í ÀÖ´Â Å×À̺í
enabled bool   falseÀÇ °æ¿ì´Â, Æ®·£Àè¼Ç ID ·¦¾î¶ó¿îµå¸¦ ¹æÁöÇÏ´Â °æ¿ì¸¦ Á¦¿ÜÇϰí´Â, ÀÌ Å×À̺íÀº autovacuumµÇÁö ¾Ê½À´Ï´Ù.
vac_base_thresh integer   vacuumÀüÀÇ º¯°æµÈ Æ©ÇÃÀÇ ÃÖ¼ÒÄ¡
vac_scale_factor float4   vac_base_thresh¿¡ °¡»êµÇ´ÂreltuplesÀÇ ½Â¼ö
anl_base_thresh integer   ºÐ¼®Àü¿¡ º¯°æµÈ ¿­ÀÇ ÃÖ¼ÒÄ¡
anl_scale_factor float4   anl_base_thresh¿¡ °¡»êµÇ´ÂreltuplesÀÇ ½Â¼ö
vac_cost_delay integer   vacuum_cost_delayÀÇ Ä¿½ºÅÒ ÆÄ¶ó¹ÌÅÍ
vac_cost_limit integer   vacuum_cost_limitÀÇ Ä¿½ºÅÒ ÆÄ¶ó¹ÌÅÍ
freeze_min_age integer   vacuum_freeze_min_ageÄ¿½ºÅÒ ÆÄ¶ó¹ÌÅÍ
freeze_max_age integer   autovacuum_freeze_max_ageÄ¿½ºÅÒ ÆÄ¶ó¹ÌÅÍ

°»½Å ¶Ç´Â »èÁ¦µÈ Æ©ÇÃÀÇ ¼ö°¡, ±× ¸±·¹À̼ǿ¡ Á¸ÀçÇÑ´Ù°í ÃßÃøµÇ°í ÀÖ´Â À¯È¿ÇÑ Æ©Çüö¸¦vac_scale_factor´õÇÑ °Í°ú vac_base_threshÀÇ ¹è¸¦ ÃʰúÇßÀ» ¶§, autovacuum demonÀº ƯÁ¤ÀÇ Å×ÀÌºí¿¡ ´ëÇÑVACUUMÁ¶ÀÛÀ» ½ÃÀÛÇÕ´Ï´Ù. ÀÌ¿Í À¯»çÇϰÔ, »ðÀÔ ¶Ç´Â °»½Å, »èÁ¦µÈ Æ©ÇÃÀÇ ¼ö°¡ ±× ¸±·¹À̼ǿ¡ Á¸ÀçÇÑ´Ù°í ÃßÃøµÇ°í ÀÖ´Â À¯È¿ÇÑ Æ©Çüö¸¦anl_scale_factor´õÇÑ °Í°úanl_base_threshÀÇ ¹è¸¦ ÃʰúÇßÀ» ¶§, autovacuum demonÀºANALYZEÁ¶ÀÛÀ» ½ÃÀÛÇÕ´Ï´Ù.

¶ÇÇÑ, Å×À̺íÀÇpg_class. relfrozenxidÇʵ尡freeze_max_ageÆ®·£Àè¼Çº¸´Ù ¸¹¾ÆÁ³À» ¶§, Å×À̺íÀÌ º¯°æµÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö, ¶Ç´Âpg_autovacuum. enabled°¡false·Î ¼³Á¤µÇ¾î ÀÖ´Â °Í¿¡ °ü°è¾øÀÌ, autovacuum demon´Â Æ®·£Àè¼Ç ID ·¦¾î¶ó¿îµå¸¦ ¹æÁöÇϱâ À§Çؼ­VACUUM¸¦ ½Ç½ÃÇÕ´Ï´Ù. ÀÌ·¯ÇÑVACUUM¸¦ ½ÇÇàÇϱâ À§ÇÑ autovacuumÀÇ ±âµ¿Àº, autovacuumÀÌ ¹«È¿¿©µµ ÇàÇØÁý´Ï´Ù. ·¦¾î¶ó¿îµå ¹æÁö¿¡ °üÇÑ ÀÚ¼¼ÇÑ °ÍÀºSection 22.1.3À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

¸ðµç ¼öÄ¡ Çʵ忡´Â, ƯÁ¤ÀÇ °ª¿¡ ´ëÇØ¼­´Â ½Ã½ºÅÛ ÀüüÀÇ µðÆúÆ®¸¦ »ç¿ëÇÏ´Â °ÍÀ» ³ªÅ¸³»´Â,-1(¶Ç´Â ÀÓÀÇÀÇ À½ÀÇ °ª)¸¦ °®°ÔÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. vac_cost_delayº¯¼ö´Âautovacuum_vacuum_cost_delay¼³Á¤ ÆÄ¶ó¹ÌÅͷκÎÅÍ ±× µðÆúÆ®°ªÀ» »ó¼ÓÇÕ´Ï´Ù. ¸¸¾à À̰ÍÀÌ À½ÀÇ °ªÀ̸évacuum_cost_delayÀ¸·ÎºÎÅÍ »ó¼ÓÇÏ´Â °Í¿¡ ÁÖ¸ñÇØ ÁÖ¼¼¿ä. °°Àº °ÍÀÌvac_cost_limit¿¡µµ Àû¿ëµË´Ï´Ù. ¶Ç autovacuumÀº, ½Ã½ºÅÛ ÀüüÀÇ ¼³Á¤º¸´Ù Å« °ªÀ» Å×ÀÌºí ¸¶´ÙÀÇfreeze_max_age·Î ¼³Á¤ÇÏ·Á°í ÇØµµ ¹«½ÃÇÕ´Ï´Ù. (ÀÛÀº °ª ¹Û¿¡ ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù. ) °Ô´Ù°¡freeze_min_age value´Â ½Ã½ºÅÛ Àüü¿¡ ´ëÇÑautovacuum_freeze_max_age¼³Á¤ÀÇ ¹Ý±îÁö Á¦Çѵǰí ÀÖ½À´Ï´Ù. freeze_max_age¸¦ ¸Å¿ì ÀÛÀº, ¶Ç´Â ½ÉÁö¾î 0ÀÇ °ªÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ºó¹øÇÏ°Ô vacuumingÀ» °­Á¦ÇÏ°Ô µÇ¹Ç·Î À̰ÍÀº ÁÁÀº ¼³Á¤Àº ¾Æ´Õ´Ï´Ù.