28.1. Å×½ºÆ®ÀÇ ½ÇÇà

¸®±×·¿¼ÇÅ×½ºÆ®´Â ÀÌ¹Ì ¼³Ä¡µÇ°Å³ª °¡µ¿ÁßÀÎ ¼­¹ö³ª, ºôµå Æ®¸®³»ÀÇ ÀϽÃÀûÀÎ ¼³Ä¡¿¡ ´ëÇØ¼­ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. »Ó¸¸ ¾Æ´Ï¶ó, Å×½ºÆ®ÀÇ ½ÇÇà¿¡´Â "º´Çà"°ú "¿¬¼Ó"¸ðµå°¡ ÀÖ½À´Ï´Ù. ¿¬¼Ó ¸ðµå¿¡¼­´Â, 1°³¾¿ Å×½ºÆ® ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÕ´Ï´Ù. º´Çà ¸ðµå¿¡¼­´Â º¹¼öÀÇ ¼­¹ö ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇØ, Å×½ºÆ®¸¦ ±×·ìÈ­ÇÏ¿© º´ÇàÀûÀ¸·Î ½ÇÇàÇÕ´Ï´Ù. º´Çà Å×½ºÆ®¿¡¼­´Â ÇÁ·Î¼¼½º °£ Åë½Å°ú ¶ô(lock)±â´ÉÀÌ Á¤»óÀûÀ¸·Î ÀÛµ¿Çϰí ÀÖ´ÂÁö¸¦ Å×½ºÆ®ÇÕ´Ï´Ù. ¿ª»çÀû ÀÌÀ¯¸¦ µé¾î, ¿¬¼Ó Å×½ºÆ®´Â ±âÁ¸¿¡ Á¸ÀçÇÏ´Â ¼³Ä¡¿¡ ´ëÇØ¼­ ÇàÇØÁö°í, º´Çà Å×½ºÆ®´Â ÀϽÃÀûÀÎ ¼³Ä¡¿¡ ´ëÇØ¼­ ÇàÇØÁý´Ï´Ù. ±×·¯³ª, À̰͵鿡 ´ëÇÑ ±â¼úÀû ±Ù°Å´Â ¾ø½À´Ï´Ù.

±¸Ãà ÈÄ, ±×¸®°í ¼³Ä¡ Àü¿¡ ¸®±×·¿¼ÇÅ×½ºÆ®¸¦ ½Ç½ÃÇÏ´Â °æ¿ì

gmake check

°¡Àå »óÀ§ÀÇ µð·ºÅ丮¿¡¼­, (¶Ç´Â, src/test/regressµð·ºÅ丮·Î À̵¿ÇØ, ±× °÷¿¡¼­ ¸í·ÉÀ» ½ÇÇàÇØ ÁÖ¼¼¿ä.) »ç¿ëÀÚ Á¤ÀÇÀÇ Æ®¸®°Å ÇÔ¼öÀÇ »ùÇõî°ú °°Àº º¹¼öÀÇ º¸Á¶ ÆÄÀÏÀÌ ¿ì¼± ÀÛ¼ºµÇ°í, Å×½ºÆ® µå¶óÀ̹öÀÇ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÕ´Ï´Ù. Á¾·áÇϸé ÀÌÇÏ¿Í °°Àº Ç¥½Ã°¡ µÉ °ÍÀÔ´Ï´Ù.

¸ðµç 100°³ÀÇ Å×½ºÆ®¸¦ Åë°ú½ÃÄ×½À´Ï´Ù.

À̰ÍÀÌ Ç¥½ÃµÇÁö ¾ÊÀ¸¸é, Å×½ºÆ®´Â ½ÇÆÐÇÑ °ÍÀÔ´Ï´Ù. "½ÇÆÐ"¸¦ ½É°¢ÇÑ ¹®Á¦·Î °¡Á¤ÇØ ¹ö¸®±â Àü¿¡, ¾Æ·¡¿Í °°Àº Section 28.2À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

ÀÌ Å×½ºÆ® ¹æ¹ý¿¡¼­´Â, ÀϽÃÀûÀ¸·Î ¼­¹ö¸¦ ÀÛµ¿½Ã۱⠶§¹®¿¡, root »ç¿ëÀÚ¿¡°Ô¼­´Â ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù (¼­¹ö´Â root¿¡¼­´Â ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù). root·Î ±¸Ãà ÀÛ¾÷À» ½Ç½ÃÇß´Ù°í ÇØµµ, óÀ½ºÎÅÍ ¸ðµç °ÍÀ» ´Ù½Ã ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ´ë½Å, ¸®±×·¿¼ÇÅ×½ºÆ®ÀÇ µð·ºÅ丮¸¦ ´Ù¸¥ ÀÖ´Â »ç¿ëÀÚ°¡ ±â·ÏÇÒ ¼ö ÀÖ´Â ±ÇÇÑ ÁÖ°í, ±× »ç¿ëÀÚ·Î ·Î±×ÀÎ ÇÏ¿© Å×½ºÆ®¸¦ Àç½ÇÇàÇØ ÁÖ¼¼¿ä. ¿¹¸¦ µé¸é, ÀÌÇÏ¿Í °°ÀÌ ÇÕ´Ï´Ù.

root# 
chmod -R a+w src/test/regress
root# 
chmod -R a+w contrib/spi
root# 
su - joeuser
joeuser$ 
cd 
top-level build directory


joeuser$ 
gmake check

(ÀÌ ¹æ¹ý¿¡´Â "º¸¾È ¹®Á¦"°¡ 1°³¸¸ ÀÖ½À´Ï´Ù. ±×°ÍÀº, ´Ù¸¥ »ç¿ëÀÚ°¡ ¸ô·¡ ¸®±×·¿¼ÇÅ×½ºÆ®ÀÇ °á°ú¸¦ º¯°æÇÏ´Â °ÍÀÌ °¡´ÉÇÒ ¼öµµ ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. »ç¿ëÀÚ ±ÇÇÑÀ» °ü¸®ÇÒ ¶§ »ó½ÄÀ» °¡Á®¾ß ÇÕ´Ï´Ù. )

¶Ç, ¼³Ä¡ ÈÄ¿¡ Å×½ºÆ®¸¦ ½ÇÇàÇÏ´Â °Íµµ °¡´ÉÇÕ´Ï´Ù.

ÀÌÀüÀÇ PostgreSQLÀÇ ¼³Ä¡°¡ ÀÌ¹Ì µÇ¾îÀÖ´Â °÷¿¡ PostgreSQL¸¦ ¼³Ä¡ Çϵµ·Ï ±¸ÃàÇßÀ» °æ¿ì, »õ·Î¿î ¹öÁ¯À» ¼³Ä¡ Çϱâ Àü¿¡ gmake check¸¦ ½Ç½ÃÇϸé, »õ·Î¿î ÇÁ·Î±×·¥ÀÌ ¼³Ä¡°¡ ³¡³­ °øÀ¯ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ·Á°í Çϱ⠶§¹®¿¡ Å×½ºÆ®°¡ ½ÇÆÐÇÏ°Ô µË´Ï´Ù (ÀüÇüÀûÀÎ Áõ»óÀº Á¤È®ÇÏÁö ¾ÊÀº ±âÈ£¿¡ ´ëÇÑ ¿¡·¯ ¸Þ¼¼ÁöÀÔ´Ï´Ù). ÀÌÀüÀÇ ¼³Ä¡¸¦ µ¤¾î ¾º¿ì±â Àü¿¡ Å×½ºÆ®¸¦ ½Ç½ÃÇÏ°í ½ÍÀº °ÍÀ̸é, configure --disable-rpath¸¦ ±¸ÃàÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¯³ª, ÀÌ ¿É¼ÇÀ» ÃÖÁ¾ ¼³Ä¡·Î »ç¿ëÇÏ´Â °ÍÀº Ãßõ ÇÏÁö ¾Ê½À´Ï´Ù.

º´Çà ¸®±×·¿¼ÇÅ×½ºÆ®´Â »ç¿ëÀÚÀÇ »ç¿ëÀÚ ID¸¦ »ç¿ëÇØ »ó´ç¼öÀÇ ÇÁ·Î¼¼½º¸¦ ÀÛµ¿ÇÕ´Ï´Ù. ÇöÀç, ÃÖ´ë·Î 20°³ÀÇ º´Çà Å×½ºÆ® ½ºÅ©¸³Æ®°¡ µ¿½Ã¿¡ ½ÇÇàµË´Ï´Ù. ±× °æ¿ì °¢ Å×½ºÆ® ½ºÅ©¸³Æ® º°·Î, ¼­¹ö ÇÁ·Î¼¼½º, psqlÇÁ·Î¼¼½º°¡ Á¸ÀçÇϱ⠶§¹®¿¡, ÇÕ°è 40°³ÀÇ ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ°Ô µË´Ï´Ù. ±×·¯¹Ç·Î, Àû¾îµµ 50°³ ÀÌ»óÀÇ »ç¿ëÀÚ ´ç ÇÁ·Î¼¼½º¼ö¿¡ Á¦ÇÑÀ» ´õÇϰí ÀÖ´Â °æ¿ì´Â, ±×·¸Áö ¾ÊÀ¸¸é, º´Çà Å×½ºÆ®¿¡¼­ ±ÔÄ¢¼ºÀÌ ¾ø´Â ½ÇÆÐ°¡ ¹ß»ýÇÒÁöµµ ¸ð¸¨´Ï´Ù. ÀÌ Á¦ÇÑÀ» º¯°æÇÒ ¼ö ¾ø´Â °æ¿ì´Â, MAX_CONNECTIONS¸Å°³º¯¼ö¸¦ ÆíÁýÇØ, º´Ç൵¸¦ ÁÙÀÏ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é,

gmake MAX_CONNECTIONS=10 check

µ¿½Ã ½ÇÇà¼ö¸¦ 10 ÀÌÇÏ·Î ½ÇÇàÇÕ´Ï´Ù.

(Chapter 14¸¦ ÂüÁ¶)ÀÇ ¼³Ä¡ ÈÄ¿¡ Å×½ºÆ®¸¦ ½ÇÇàÇÏ·Á¸é, Chapter 16±×¸®°í ¼³¸íÇÑ °Íó·³µ¥ÀÌÅÍ ¿µ¿ªÀ» ÃʱâÈ­ Çϰí, ¼­¹ö¸¦ ÀÛµ¿½ÃÄÑ ÀÌÇϸ¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.

gmake installcheck

ȤÀº, º´Çà Å×½ºÆ®ÀÇ °æ¿ì´Â ÀÌÇϸ¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.

gmake installcheck-parallel

PGHOSTȯ°æ º¯¼ö¿Í PGPORTȯ°æ º¯¼ö·Î ÁöÁ¤ÀÌ ¾ø´Â ÇÑ, ·ÎÄà ¿î¿µÀÚÀÇ ¼­¹ö¿¡ Á¢¼ÓÇÏ°í ±âº»°ªÀÇ Æ÷Æ® ¹øÈ£¸¦ »ç¿ëÇØ Å×½ºÆ® ÇÕ´Ï´Ù.

¼Ò½º ¹èÆ÷ºÐ¿¡´Â, »ý·« °¡´ÉÇÑ ¼ö¼Ó ¾ð¾î¿Í ÀϺÎÀÇ contrib¸ðµâ¿¡ ´ëÇÑ ¸®±×·¿¼ÇÅ×½ºÆ®µµ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÇöÀç, ÀÌ·¯ÇÑ Å×½ºÆ®´Â ¼³Ä¡°¡ ³¡³­ ¼­¹ö¿¡ ´ëÇØ¼­¸¸ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±¸ÃàµÇ°í ¼³Ä¡ µÈ ¸ðµç ¼ö¼Ó ¾ð¾î¿¡ ´ëÇØ¼­ Å×½ºÆ®¸¦ ½ÇÇàÇÏ·Á¸é, ºôµå Æ®¸®ÀÇ src/plµð·ºÅ丮·Î À̵¿ÇØ, ÀÌÇϸ¦ ½ÇÇàÇØ ÁÖ¼¼¿ä.

gmake installcheck

¶Ç, 1°³ÀÇ ¼ö¼Ó ¾ð¾î¿¡¸¸ Å×½ºÆ®¸¦ ½Ç½ÃÇϱâ À§Çؼ­, ¾î´À src/plÀÇ ¼­ºê µð·ºÅ丮¿¡¼­³ª ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ðµç contrib¸ðµâ¿¡ ´ëÇÑ Å×½ºÆ®¸¦ ½ÇÇàÇÏ·Á¸é, ±¸Ãà Æ®¸®ÀÇ contribµð·ºÅ丮·Î À̵¿ÇØ, ÀÌÇϸ¦ ½ÇÇàÇØ ÁÖ¼¼¿ä.

gmake installcheck

¸ÕÀú contrib¸ðµâÀÌ ±¸ÃàµÇ°í ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¶Ç, À̰ÍÀº contribÀÇ ¼­ºê µð·ºÅ丮¸¦ ½ÇÇàÇØ, 1°³ÀÇ ¸ðµâ¿¡¸¸ Å×½ºÆ®¸¦ ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.