| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 17. ¼¹öÀÇ ¼³Á¤ | Fast Forward | Next |
WALÁ¶Á¤¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀºSection 27.3µµ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
ÀÌ ¸Å°³º¯¼ö°¡ ¿ÂÀ̸é,PostgreSQL¼¹ö´Âfsync()½Ã½ºÅÛ¡¤ÄÝÀ» ¹ßÇàÇϰųª ȤÀº µ¿µîÀÇ ¹æ¹ýÀ¸·Î(wal_sync_method¸¦ ÂüÁ¶) °»½ÅÀÌ ¹°¸®ÀûÀ¸·Î µð½ºÅ©¿¡ ±âÀԵǾú´ÂÁöÀÇ È®ÁõÀ» ¾òÀ¸·Á°í ½ÃµµÇÕ´Ï´Ù.
À̰ÍÀº ¿î¿µ ½Ã½ºÅÛ È¤Àº Çϵå¿þ¾î°¡ Å©·¡½Ã ÇÑ ÈÄ, È®½ÇÈ÷ µ¥ÀÌÅͺ£À̽º Ŭ·¯½ºÅ͸¦ ÀϰüÇÑ »óÅ·Πº¹±¸½Ãų ¼ö ÀÖ½À´Ï´Ù.
±×·¯³ª,fsyncÀÇ »ç¿ëÀº ¼º´ÉÀ» ¾ÇȽÃŵ´Ï´Ù. Æ®·£Àè¼ÇÀÌ Ä¿¹Ô µÇ¸é,PostgreSQLÀº, ¿î¿µ ½Ã½ºÅÛÀÌ ·Î±× ¼±Çà ±âÀÔÀ» µð½ºÅ©¿¡ Ç÷¯½Ã ¶§±îÁö ´ë±âÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. fsync¸¦ ¹«È¿·Î Çϸé, operating system´Â, ±âÀÔÀÇ ¿ÏÃæÈ(¹öÆÛ¸µ), ¼ø¼ ºÙÀÌ°í ±×¸®°í Áö¿¬¿¡ °üÇØ¼ ÃÖ¼±ÀÇ ÇൿÀ» ÃëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº Å«ÆøÀ¸·Î ¼º´ÉÀ» Çâ»ó½Ãŵ´Ï´Ù. ±×·¯³ª, ½Ã½ºÅÛÀÌ Å©·¡½Ã Çϸé, ¸¶Áö¸· ¸î °³ÀÇ Ä¿¹ÔµÈ Æ®·£Àè¼Ç(transaction)Àº, ÀϺΠȤÀº ¿ÏÀüÇÏ°Ô ¾ø¾îÁú °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ÃÖ¾ÇÀÇ °æ¿ì, ȸº¹ ºÒ°¡´ÉÇÑ µ¥ÀÌÅÍÀÇ ÆÄ±«°¡ ¹ß»ýÇÕ´Ï´Ù. (µ¥ÀÌÅͺ£À̽º ¼ÒÇÁÆ®¿þ¾î ±× ÀÚüÀÇ Å©·¡½¬´Â, ¿©±â¿¡¼´Â À§Çè ¿äÀÎÀÌ ¾ø½À´Ï´Ù . ¿î¿µ½Ã½ºÅÛ ·¹º§ÀÇ Å©·¡½¬°¡ ÆÄ±«ÀÇ À§Ç輺À» ÀÏÀ¸Åµ´Ï´Ù. )
À§Ç輺ÀÌ ³»Æ÷ µÇ¾î Àֱ⠶§¹®¿¡,fsync¿¡ ´ëÇÑ º¸ÆíÀûÀ¸·Î ¿Ã¹Ù¸¥ ¼³Á¤Àº Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. Ç×»ófsync¸¦ ¹«È¿·Î ÇÏ´Â °ü¸®ÀÚ°¡ ÀÖ´Â ÇÑÆí, ¹«¾ùÀΰ¡ ºÎÀû´çÇÑ °ÍÀÌ ¹ß»ýÇßÀ» °æ¿ì¿¡ ¸íÈ®ÇÑ Àç±âµ¿ Æ÷ÀÎÆ®°¡ Á¸ÀçÇÏ´Â °Í °°Àº ¶§´Â, ÃʱâÀÇ ´ë·® ÀÐÀ» ¶§¿¡¸¸ ¹«È¿·Î ÇÏ´Â °ü¸®ÀÚµµ ÀÖ½À´Ï´Ù. ÇÑÃþ ´õ Ç×»ófsync¸¦ À¯È¿ÇÏ°Ô ÇÏ´Â °ü¸®ÀÚµµ ÀÖ½À´Ï´Ù. µðÆúÆ®´Â, ÃÖ´ëÇÑÀÇ ½Å·Ú¼ºÀÇ È®º¸¸¦ À§ÇØ,fsync¸¦ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù. ¸¸¾à »ç¿ëÇϰí ÀÖ´Â ¿î¿µ ½Ã½ºÅÛ, Çϵå¿þ¾î, À¯Æ¿¸®Æ¼ ȸ»ç(ȤÀº ¹èÅ͸® ¹é¾÷)¸¦ ½Å·ÚÇÑ´Ù¸é,fsync¸¦ ¹«È¿·Î ÇÏ´Â °ÍÀ» °ËÅäÇØµµ ÁÁÀ» °ÍÀÔ´Ï´Ù.
ÀÌ ¸Å°³º¯¼ö´Âpostgresql.confÆÄÀϳ», ¶Ç´Â, ¼¹öÀÇ Ä¿¸àµå ¶óÀο¡¼¸¸ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö¸¦ ¹«È¿·Î ÇÏ´Â °æ¿ì,full_page_writes¶ÇÇÑ ¹«È¿·Î µÇ´Â °ÍÀ» °ËÅäÇØ ÁÖ¼¼¿ä.
WALÀÇ °»½ÅÀ» µð½ºÅ©¿¡ °Á¦Çϴµ¥ »ç¿ëµÇ´Â ¹æ¹ýÀÔ´Ï´Ù. fsync°¡ ¿ÀÇÁÀÇ °æ¿ì ÀÌ ¼³Á¤Àº µµ¿òÀÌ µÇÁö ¾Ê½À´Ï´Ù. °»½ÅÀÌ ÀüÇô °Á¦´çÇÏÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. ÃëÇÒ ¼ö ÀÖ´Â °ªÀº ÀÌÇÏÀÇ °ÍÀÔ´Ï´Ù.
open_datasync
(open() option O_DSYNC·Î WAL ÆÄÀÏÀ» ±âÀÔ)
fdatasync
(°¢ Ä¿¹Ô ½ÇÇà½Ã ¸¶´Ùfdatasync()¸¦ È£Ãâ)
fsync_writethrough
(¾î¶°ÇÑ µð½ºÅ© ±âÀÔ Ä³½Ãµµ write through(¿¬¼Ó ±âÀÔ) ½Ã۱⠶§¹®¿¡, °¢ Ä¿¹Ô ½ÇÇà ¸¶´Ùfsync()¸¦ È£Ãâ)
fsync
(°¢ Ä¿¹Ô ½ÇÇà½Ã fsync()¸¦ È£Ãâ)
open_sync
(open() option O_SYNC·Î WAL ÆÄÀÏÀ» ±âÀÔ)
¸ðµç Ç÷§Æû¿¡¼ ÀÌ·¯ÇÑ ¸ðµç ¼±ÅûçÇ×À» »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. µðÆúÆ®´Â, À§ÀÇ ¸®½ºÆ®·Î Ç÷§Æû¿¡¼ Áö¿øµÇ´Â °Í Áß¿¡¼ ¼±µÎ¿¡ ÀÖ´Â °ÍÀÔ´Ï´Ù. ¶Ç,open_*¿É¼ÇÀº °¡´ÉÇϸéO_DIRECT¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Âpostgresql.confÆÄÀϳ», ¶Ç´Â, ¼¹öÀÇ Ä¿¸àµå ¶óÀο¡¼¸¸ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù.
ÀÌ ¸Å°³º¯¼ö°¡ À¯È¿ÇÑ °æ¿ì,PostgreSQL¼¹ö´Â µð½ºÅ© ÆäÀÌÁöÀÇ ¸ðµç ³»¿ëÀ», üũ Æ÷ÀÎÆ®ÀÇ µÚ, ±× ÆäÀÌÁöÀÇ ÃÖÃÊÀÇ º¯°æ °úÁ¤¿¡¼ WAL¿¡ ±âÀÔÇÕ´Ï´Ù. ¿î¿µ ½Ã½ºÅÛÀÌ Å©·¡½Ã ÇßÀ» ¶§¿¡ ÁøÇàÁßÀÇ ÆäÀÌÁö ±âÀÔÀº ºÎºÐÀûÀ¸·Î ¿Ï·áµÇÁö ¾ÊÀ» °¡´É¼ºÀÌ Àֱ⠶§¹®¿¡, À̰ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ °æ¿ì, µð½ºÅ©»óÀÇ ÆäÀÌÁö´Â ¿À·¡µÈ µ¥ÀÌÅÍ¿Í »õ·Î¿î µ¥ÀÌÅͰ¡ È¥ÀçÇÏ´Â »óŰ¡ µË´Ï´Ù. Åë»ó WAL³»¿¡ º¸Á¸µÇ´Â Çà ·¹º§ÀÇ º¯°æ µ¥ÀÌÅÍ´Â, Å©·¡½¬ ÈÄÀÇ º¹±¸½Ã ÀÌ·¯ÇÑ ÆäÀÌÁö¸¦ ȸº¹½ÃŰ±â¿¡´Â ºÒÃæºÐÇÕ´Ï´Ù. ¿ÏÀüÇÑ ÆäÀÌÁö À̹ÌÁö°¡, ÆäÀÌÁö¸¦ Á¤È®ÇÏ°Ô º¹±¸ÇÒ ¼ö ÀÖ´Â °ÍÀ» º¸ÁõÇÕ´Ï´Ù. ±×·¯³ª, WAL¿¡ ±âÀÔÇÏÁö ¾ÊÀ¸¸é ¾È µÇ´Â µ¥ÀÌÅÍ·®ÀÌ Áõ°¡ÇÕ´Ï´Ù. (WAL Àç»ýÀº Ç×»ó üũ Æ÷ÀÎÆ®¿¡¼ ½ÃÀ۵DZ⠶§¹®¿¡, üũ Æ÷ÀÎÆ® ÈÄÀÇ ÃÖÃÊÀÇ º¯°æ½Ã¿¡ À̰ÍÀ» ½Ç½ÃÇÏ´Â °ÍÀÌ ÃæºÐÇÕ´Ï´Ù. µû¶ó¼, ¿ÏÀü ÆäÀÌÁö ¼µÎÀÇ ÄÚ½ºÆ®¸¦ Àú°¨ ÇÏ´Â ¹æ¹ýÀÇ Çϳª´Â, üũ Æ÷ÀÎÆ® °£°Ý ¸Å°³º¯¼ö¸¦ ´Ã¸®´Â °ÍÀÔ´Ï´Ù. )
ÀÌ ¸Å°³º¯¼ö¸¦ ¹«È¿·Î Çϸé, Åë»óÀÇ Á¶ÀÛ ¼Óµµ°¡ ¿À¸¨´Ï´Ù. ±×·¯³ª, ¿î¿µ ½Ã½ºÅÛÀÇ Å©·¡½¬³ª Àü¿ø ÀåÇØÀÇ µÚÀÇ µ¥ÀÌÅͺ£À̽º ÆÄ¼ÕÀ» °¡Á®¿ÃÁöµµ ¸ð¸¨´Ï´Ù. ÀÌ À§Ç輺Àº ÀÛÀ¸¸é¼fsync¸¦ ¹«È¿·Î ÇßÀ» °æ¿ì¿Í À¯»çÇÕ´Ï´Ù. (¹èÅ͸® ¹é¾÷ µð½ºÅ© ÄÜÆ®·Ñ·¯¿Í °°Àº) Çϵå¿þ¾î³ª Çã¿ë ÇÒ ¼ö ÀÖ´Â Àú·¹º§¿¡¼ÀÇ ºÎºÐ ±âÀÔÀÇ À§Ç輺À» °¨¼Ò½ÃŰ´Â ÆÄÀÏ ½Ã½ºÅÛ ¼ÒÇÁÆ®¿þ¾î(ReiserFS 4µî)°¡ ÀÖÀ¸¸é, ÀÌ ¸Å°³º¯¼ö¸¦ ¹«È¿·Î ÇØµµ ¾ÈÀüÇÒÁöµµ ¸ð¸¨´Ï´Ù.
ÀÌ ¸Å°³º¯¼ö¸¦ ¹«È¿·Î ÇØµµ Çö½ÃÁ¡¿¡¼ ¸®Ä¿¹ö¸®(PITR) ¿ëÀÇ WAL ¾ÆÄ«À̺ê(archive)ÀÇ »ç¿ë¿¡ ¿µÇâÀÌ ¾ø½À´Ï´Ù( Section 23.3¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä).
ÀÌ ¸Å°³º¯¼ö´Âpostgresql.confÆÄÀϳ», ¶Ç´Â, ¼¹öÀÇ Ä¿¸àµå ¶óÀο¡¼¸¸ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù. µðÆúÆ®´ÂonÀÔ´Ï´Ù.
WAL µ¥ÀÌÅÍ¿ëÀ¸·Î °øÀ¯ ¸Þ¸ð¸®³»¿¡¼ »ç¿ëµÇ´Â ¸Þ¸ð¸®·®ÀÔ´Ï´Ù. µðÆúÆ®´Â 64ų·Î¹ÙÀÌÆ®(64kB)ÀÔ´Ï´Ù. µ¥ÀÌÅÍ´Â °¢°¢ÀÇ Æ®·£Àè¼Ç(transaction) Ä¿¹Ô½Ã¿¡ µð½ºÅ©¿¡ ±âÀԵDZ⠶§¹®¿¡, ¼³Á¤À¸·Î¼´Â, 1°³ÀÇ ÀüÇüÀûÀÎ Æ®·£Àè¼Ç(transaction)¿¡ ÀÇÇØ »ý¼ºµÇ´Â WAL µ¥ÀÌÅ͸¦ º¸Á¸ÇÒ ¼ö ÀÖ´Â ÃæºÐÇÑ Å©±âÀÎ °Í¸¸À» ÇÊ¿ä·Î ÇÕ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Â ¼¹ö ±âµ¿½Ã¸¸ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù.
ÀÌ ¸Å°³º¯¼ö¸¦ Áõ°¡½Ã۸é, »ç¿ëÇϰí ÀÖ´Â ¿î¿µ ½Ã½ºÅÛÀÇ µðÆúÆ® ȯ°æ¼³Á¤ÀÌ Çã¿ë ÇÏ´ÂSystem V°øÀ¯ ¸Þ¸ð¸®ÀÇ ÇѰ踦 ³ÑÀº ¿ä±¸¸¦PostgreSQL°¡ ½Ç½ÃÇÏ´Â ¿øÀÎÀÌ µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÇÊ¿äÇϸé, ÀÌ ¸Å°³º¯¼ö¸¦ Á¶Á¤ÇÏ´Â ¹æ¹ý¿¡ °üÇØ¼Section 16.4.1¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
Ä¿¹Ô ·¹Äڵ带 WAL ¹öÆÛ¿¡ ±âÀÔÇÒ ¶§¿Í ¹öÆÛ¸¦ µð½ºÅ©¿¡ Ç÷¯½Ì ÇÒ¶§ÀÇ ¹Ð¸® ¼¼ÄÁµå ´ÜÀ§ÀÇ ½Ã°£Â÷ÀÌ Áö¿¬ÀÔ´Ï´Ù.
½Ã½ºÅÛ ºÎÇϰ¡ ³ô°í, ÁöÁ¤ ±â°£³»¿¡ Ä¿¹Ô Áغñ¸¦ ÇÒ ¼ö ÀÖ´ø Æ®·£Àè¼Ç(transaction)ÀÌ º¹¼ö Á¸ÀçÇßÀ» °æ¿ì, Á¦·Î ÀÌ¿ÜÀÇ Áö¿¬ ½Ã°£ÀÌ¸é º¹¼öÀÇ Æ®·£Àè¼Ç(transaction)¸¦ ÇÑ ¹øÀÇfsync()½Ã½ºÅÛ Äݸ¸À¸·Î, ÁÖ¾îÁø ÁÖ±â À̳»¿¡¼ Ä¿¹ÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×·¯³ª, ¸¸¾à ´Ù¸¥ Æ®·£Àè¼Ç(transaction)¸¦ Ä¿¹ÔÇÒ ¼ö ÀÖ´Â »óŰ¡ µÇÁö ¾ÊÀ¸¸é, ÀÌ Áö¿¬Àº ¾µµ¥¾ø°Ô µË´Ï´Ù.
ÀÌ·¸°Ô ¸»ÇÏ´Â °ÍÀº, ¼¹ö ÇÁ·Î¼¼½º°¡ ±× Ä¿¹Ô ·¹Äڵ带 ±âÀÔÇÑ ¼ø°£¿¡ ´Ù¸¥ Æ®·£Àè¼Ç(transaction)ÀÌ ÁøÇàµÇ°í ÀÖ´Â commit_siblings¿¡¸¸ Àû¾îµµ ½ÇÇàµË´Ï´Ù.
µðÆúÆ®ÀÇ °ªÀº Á¦·Î(Áö¿¬ ¾øÀ½)ÀÔ´Ï´Ù.
commit_delayÁö¿¬À» ½ÇÇàÇϱâ Àü¿¡ ÇÊ¿äÇÏ°Ô µÇ´Â µ¿½Ã¿¡ ¿·Á ÀÖ´Â Æ®·£Àè¼Ç(transaction)ÀÇ ÃÖ¼Ò¼öÀÔ´Ï´Ù. º¸´Ù Å« °ªÀº, Áö¿¬ ÁÖ±âÀÇ »çÀÌ¿¡, Àû¾îµµ 1°³ÀÇ ´Ù¸¥ Æ®·£Àè¼Ç(transaction)°¡ Ä¿¹Ô Áغñ¸¦ °®Ãß°Ô ÇÏ´Â °ÍÀ» È®½ÇÈ÷ ÇÕ´Ï´Ù. µðÆúÆ®´Â 5 Æ®·£Àè¼Ç(transaction)ÀÔ´Ï´Ù.
Maximum distance between automatic WAL checkpoints, in log file segments (each segment is normally 16 megabytes). The default is three segments. This parameter can only be set in the postgresql.conf file or on the server command line. --> ÀÚµ¿ WAL üũ Æ÷ÀÎÆ®°£ÀÇ ÃÖ´ë ·Î±× ÆÄÀϼöÀÔ´Ï´Ù. (°¢°¢ÀÇ ¼¼±×¸ÕÆ®(segment)´Â Åë»ó 16 ¸Þ°¡¹ÙÀÌÆ®) µðÆúÆ®´Â 3 ¼¼±×¸ÕÆ®(segment)ÀÔ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Âpostgresql.confÆÄÀϳ», ¶Ç´Â, ¼¹öÀÇ Ä¿¸àµå ¶óÀο¡¼¸¸ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù.
Maximum time between automatic WAL checkpoints, in seconds. The default is five minutes (5min). This parameter can only be set in the postgresql.conf file or on the server command line. --> ÀÚµ¿Àû WAL üũ Æ÷ÀÎÆ®°£ÀÇ ÃÖ´ë °£°ÝÀ» ÃÊ´ÜÀ§·Î ÁöÁ¤ÇÕ´Ï´Ù. µðÆúÆ®´Â 5ºÐ (5min)ÀÔ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Âpostgresql.confÆÄÀÏ, ¶Ç´Â, ¼¹öÀÇ Ä¿¸àµå ¶óÀο¡¼¸¸ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù.
üũ Æ÷ÀÎÆ® ¼¼±×¸ÕÆ®(segment) ÆÄÀÏÀÌ ÃæºÐÇÑ °ÍÀÌ ¿øÀÎÀÌ µÇ¾î ÀϾ´Â üũ Æ÷ÀÎÆ®°¡, ¿©±â¼ ÁöÁ¤ÇÑ Ãʼöº¸´Ù ºó¹øÇÏ°Ô ¹ß»ýÇÏ´Â °æ¿ì, ¼¹ö ·Î±×¿¡ ¸Þ¼¼Áö¸¦ ÀÛ¼ºÇÕ´Ï´Ù. (À̰ÍÀº,checkpoint_segments¸¦ È£ÃâÇÒ Çʿ䰡 ÀÖ´Â °ÍÀ» ½Ã»çÇϰí ÀÖ½À´Ï´Ù). µðÆúÆ®´Â 30ÃÊ(30s)ÀÔ´Ï´Ù. ¿µÀÇ °æ¿ì´Â °æ°í¸¦ ¹ßÇàÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Âpostgresql.confÆÄÀÏ, ¶Ç´Â, ¼¹öÀÇ Ä¿¸àµå ¶óÀο¡¼¸¸ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù.
ÀÏ·ÃÀÇ WAL ÆÄÀÏÀÇ ¿Ï·áÇÑ ¼¼±×¸ÕÆ®(segment)ÀÇ ÀúÀåÀ» ½ÇÇàÇÏ´Â ½© Ä¿¸àµåÀÔ´Ï´Ù. ¹®ÀÚ¿³»ÀÇ ¾î¶°ÇÑ%p´Â, ÀúÀåµÇ´Â ÆÄÀÏÀÇ Àý´ë °æ·Î·Î ¿Å°Ü³õÀ» ¼ö ÀÖ°í ±×¸®°í,%f´Â ÆÄÀÏ¸í¸¸ ġȯÇÕ´Ï´Ù. (ÀÌ °æ·Î¸íÀº ¼¹öÀÇ ÀÛ¾÷¿ë µð·ºÅ丮, Áï, Ŭ·¯½ºÅÍÀÇ µ¥ÀÌÅÍ µð·ºÅ丮·ÎºÎÅÍÀÇ »ó´ë °æ·ÎÀÔ´Ï´Ù. ) Ä¿¸àµå³»¿¡¼ ½ÇÁ¦ÀÇ%¹®ÀÚ¸¦ ³»ÀåÇÏ·Á¸é%%¸¦ »ç¿ëÇÕ´Ï´Ù. º¸´Ù ÀÚ¼¼ÇϰԴÂSection 23.3.1À» ÂüÁ¶ÇØ ÁֽʽÿÀ. ÀÌ ¸Å°³º¯¼ö´Âpostgresql.confÆÄÀÏ, ¶Ç´Â, ¼¹öÀÇ Ä¿¸àµå ¶óÀο¡¼¸¸ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù. ¼¹ö ±âµ¿½Ã¿¡archive_mode°¡ À¯È¿ÇÏÁö ¾ÊÀ¸¸é, À̰ÍÀº ¹«½ÃµË´Ï´Ù. archive_command°¡ °ø¹®ÀÚ¿(µðÆúÆ®), ÇÑÆí,archive_mode°¡ À¯È¿ÇÑ °æ¿ì, WAL ¾ÆÄ«À̺ê(archive) 󸮴 ÀÓ½ÃÀûÀ¸·Î ¹«È¿°¡ µË´Ï´Ù¸¸, Ä¿¸àµå°¡ ´ÙÀ½¿¡ Á¦°øµÇ´Â °ÍÀ» ¿¹ÃøÇØ, ¼¹ö´Â WAL ¼¼±×¸ÕÆ®(segment)ÀÇ ÃàÀûÀ» °è¼ÓÇÕ´Ï´Ù.
¼º°øÇßÀ» °æ¿ì¿¡ ÇÑÇØ¼, ¶Ç ±× ¶§¿¡ ÇÑÇØ¼, Á¦·Î¸¦ Á¦°ÅÇÏ´Â »óŸ¦ ¹ÝȯÇÏ´Â °ÍÀÌ ÀÌ Ä¿¸àµå¿¡¼´Â Áß¿äÇÕ´Ï´Ù. ÀÌÇÏ¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
archive_command = 'cp "%p" /mnt/server/archivedir/"%f"' archive_command = 'copy "%p" /mnt/server/archivedir/"%f"' # Windows
archive_command(Àº)´Â ¿Ï·áÇÑ WAL ¼¼±×¸ÕÆ®(segment) ¿¡ ´ëÇØ¼¸¸ È£ÃâµË´Ï´Ù. ¼¹ö°¡ °ÅÀÇ ¾ø´Â WAL Æ®·¡ÇÈÀ»(¶Ç´Â 󸮸¦ ½ÇÇàÇÏ´Â ½½·¢ ½Ã°£À» °®´Â´Ù)»ý¼ºÇÏ´Â °æ¿ì, Æ®·£Àè¼Ç(transaction)ÀÇ ¿Ï·á¿Í ¾ÆÄ«À̺ê(archive) ÀúÀå ¿µ¿ª¿¡ÀÇ ¾ÈÀüÇÑ ±â·Ï°úÀÇ »çÀÌ¿¡ Àå±â¿¡ °ÉÄ¡´Â Áö¿¬ÀÌ ÀÖ°Ô µË´Ï´Ù. ¿À·¡µÈ ¾ÆÄ«À̺ê(archive)°¡ ¾Æ´Ñ µ¥ÀÌÅÍ¿¡ Á¦ÇÑÀ» ºÙÀ̱â À§Çؼ,archive_timeout¸¦ ¼³Á¤ÇØ, °Á¦ÀûÀ¸·Î ¼¹ö¸¦ »õ·Î¿î WAL ¼¼±×¸ÕÆ®(segment)¿¡ Á¤±âÀûÀ¸·Î ÀüȯÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Å°³º¯¼ö°¡ 0º¸´Ù Å©¸é, ¼¹ö´Â ÀüȸÀÇ ¼¼±×¸ÕÆ®(segment) ÆÄÀÏ º¯È¯À¸·ÎºÎÅÍ ÁöÁ¤Ãʼö°æ°úÇßÀ» °æ¿ì¿¡ »õ·Î¿î ¼¼±×¸ÕÆ®(segment) ÆÄÀÏ·Î ÀüȯÇÕ´Ï´Ù. °Á¦ º¯È¯¿¡ ÀÇÇØ Á¶±â ¿¡ °¤Èù ¾ÆÄ«À̺ê(archive)°¡ ³¡³ ÆÄÀÏÀº ¿ÏÀüÇÏ°Ô ¿Ï·áÇÑ ÆÄÀϰú °°Àº Å©±â¸¦ °¡Áö´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ±× ¶§¹®¿¡, ¸Å¿ì ÀÛÀºarchive_timeout¸¦ »ç¿ëÇÏ´Â °ÍÀº ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÀúÀå ¿µ¿ªÀ» ÆØÃ¢½ÃÄÑ ¹ö¸³´Ï´Ù. Åë»óÀ̶ó¸é ºÐ ´ÜÀ§ÀÇarchive_timeout¼³Á¤ÀÌ ÇÕ¸®ÀûÀÔ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Â postgresql.confÆÄÀϳ», ¶Ç´Â, ¼¹öÀÇ Ä¿¸àµå ¶óÀο¡¼¸¸ ¼³Á¤ °¡´ÉÇÕ´Ï´Ù.