| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 9. ÇÔ¼ö¿Í ¿¬»êÀÚ | Fast Forward | Next |
Table 9-45(Àº)´Â, ½ÇÇà½Ã ȯ°æ¼³Á¤ ÆÄ¶ó¹ÌÅÍÀÇ ¹®Àdzª º¯°æ¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÔ¼ö¸¦ ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.
Table 9-45. ȯ°æ ¼³Á¤ ÇÔ¼ö
| À̸§ | ¹ÝȯÇü | ¼³¸í |
|---|---|---|
current_setting(setting_name)
|
text | ÇöÀçÀÇ ¼³Á¤°ª |
set_config(setting_name,
new_value,
is_local)
|
text | ÆÄ¶ó¹ÌÅ͸¦ ¼³Á¤ÇØ, ½Å±Ô°ªÀ» ¹ÝȯÇÑ´Ù |
ÇÔ¼öcurrent_setting´Â, ¼³Á¤setting_nameÀÇ ÇöÀçÀÇ °ªÀ» »ý¼ºÇÕ´Ï´Ù.
ÀÌ ÇÔ¼ö´Â,SQLÀÇSHOWÄ¿¸àµå¿Í °°½À´Ï´Ù.
ÀÌÇÏ¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
SELECT current_setting('datestyle');
current_setting
-----------------
ISO, MDY
(1 row)
set_configÇÔ¼ö´Â, ÆÄ¶ó¹ÌÅÍsetting_name¸¦new_value·Î ¼³Á¤ÇÕ´Ï´Ù.
´Ù¸¸,is_local°¡trueÀÇ °æ¿ì, »õ·Î¿î °ªÀº ÇöÀçÀÇ Æ®·£Àè¼Ç¿¡¼¸¸ Àû¿ëµË´Ï´Ù.
»õ·Î¿î °ªÀ» ÇöÀçÀÇ ¼¼¼Ç¿¡ Àû¿ëÇÏ´Â °æ¿ì´Â, ´ë½Å¿¡false¸¦ »ç¿ëÇØ ÁÖ¼¼¿ä.
ÀÌ ÇÔ¼ö´Â, SQLÀÇSETÄ¿¸àµå¿Í °°½À´Ï´Ù. ÀÌÇÏ¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
SELECT set_config('log_statement_stats', 'off', false);
set_config
------------
off
(1 row)
Table 9-46¿¡ ³ªÅ¸³»´Â ÇÔ¼ö´Â, Á¦¾î¿ë ½Ã±×³ÎÀ» ´Ù¸¥ ¼¹ö ÇÁ·Î¼¼½º¿¡ ¼Û½ÅÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ÇÔ¼öÀÇ »ç¿ëÀº ½´ÆÛ À¯Àú¿¡¸¸ Á¦Çѵǰí ÀÖ½À´Ï´Ù.
Table 9-46. ¼¹ö ½Ã±×³Î ¼Û½Å ÇÔ¼ö
| À̸§ | ¹ÝȯÇü | ¼³¸í |
|---|---|---|
pg_cancel_backend(pid int)
|
boolean | ¹é¿£µåÀÇ ÇöÀçÀÇ Äõ¸®¸¦ Ãë¼ÒÇÑ´Ù |
pg_reload_conf()
|
boolean | ¼¹ö ÇÁ·Î¼¼½º¿¡ÀÇÇØ ȯ°æ¼³Á¤ ÆÄÀÏÀ» ´Ù½Ã ·ÎµåÇÑ´Ù |
pg_rotate_logfile()
|
boolean | ¼¹ö ·Î±× ÆÄÀÏÀ» ¼øÈ¯½ÃŲ´Ù |
À̵é ÇÔ¼ö °¢°¢Àº, ¼º°øÀÇ °æ¿ìtrue(Âü)¸¦ ¹ÝȯÇϰí, ±×·¸Áö ¾ÊÀº °æ¿ì´Âfalse(°ÅÁþ)¸¦ ¹ÝȯÇÕ´Ï´Ù.
pg_cancel_backend´Â Äõ¸® Ãë¼Ò(SIGINT) ½Ã±×³ÎÀ» ÇÁ·Î¼¼½ºID·Î ½Äº°µÈ ¹é¿£µå ÇÁ·Î¼¼½º¿¡ º¸³À´Ï´Ù.
»ç¿ëÁßÀÎ ¹é¿£µå ÇÁ·Î¼¼½º ID´Âpg_stat_activityºäÀÇprocpid¿·ÎºÎÅÍ, ȤÀºps¿¡ ÀÇÇØ ¼¹ö»óÀÇpostgresÇÁ·Î¼¼½º¸¦ ¸®½ºÆ® ÇÏ´Â °ÍÀ¸·Î ã¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù.
pg_reload_conf´ÂSIGHUP½Ã±×³ÎÀ» ¼¹ö¿¡ º¸³», ±× °á°ú ¸ðµç ¼¹ö ÇÁ·Î¼¼½º°¡ ȯ°æ¼³Á¤ ÆÄÀÏÀ» Àç·ÎµåÇÏ°Ô µË´Ï´Ù.
pg_rotate_logfile´Â ·Î±× ÆÄÀÏ °ü¸®ÀÚ¿¡°Ô Áï¼®¿¡¼ ½Å±Ô Ãâ·Â ÆÄÀÏ¿¡ º¯È¯½ÅÈ£¸¦ º¸³À´Ï´Ù.
À̰ÍÀº redirect_stderrÀÌ ·Î±ëÀ» ÇϱâÀ§ÇØ »ç¿ëµÉ °æ¿ì¿¡¸¸ À¯È¿ÇÕ´Ï´Ù.
»ç¿ëµÇ°í ÀÖÁö ¾ÊÀº °æ¿ì´Â, ·Î±× ÆÄÀÏ °ü¸®ÀÚÀÇ ¼ºêÇÁ·Î¼¼½º°¡ Á¸ÀçÇÏÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.
Table 9-47¿¡ ³ªÅ¸³»´Â ÇÔ¼ö´Â ¿Â¶óÀÎ ¹é¾÷ÀÇ ÀÛ¼ºÀ» Áö¿øÇÏ´Â °ÍÀÔ´Ï´Ù. ÃÖÃÊÀÇ 3°³ÀÇ ÇÔ¼öÀÇ »ç¿ëÀº ½´ÆÛ À¯Àú¿¡°Ô Á¦Çѵǰí ÀÖ½À´Ï´Ù.
Table 9-47. ¹é¾÷ Á¦¾î ÇÔ¼ö
| À̸§ | ¹ÝȯÇü | ¼³¸í |
|---|---|---|
pg_start_backup(label text)
|
text | ¿Â¶óÀÎ ¹é¾÷ÀÇ ½ÇÇàÀ» ¼³Á¤ |
pg_stop_backup()
|
text | ¿Â¶óÀÎ ¹é¾÷ÀÇ ½ÇÇàÀ» Á¤Áö |
pg_switch_xlog()
|
text | »õ·Î¿î Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀÏ¿¡ÀÇ °Á¦ ÀÌÇà |
pg_current_xlog_location()
|
text | ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ ±âÀÔ À§Ä¡¸¦ ÀÔ¼ö |
pg_current_xlog_insert_location()
|
text | ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ »ðÀÔ À§Ä¡¸¦ ÀÔ¼ö |
pg_xlogfile_name_offset(location text)
|
text, integer | Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â ¹®ÀÚ¿À», ÆÄÀϸí°ú ÆÄÀϳ»ÀÇ 10ÁøÀÇ ¹ÙÀÌÆ® ¿ÀÇÁ¼Â(offset)À¸·Î º¯È¯ |
pg_xlogfile_name(location text)
|
text | Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â ¹®ÀÚ¿À» ÆÄÀϸíÀ¸·Î º¯È¯ |
pg_start_backup´Â, À¯Àú°¡ ÀÓÀÇ¿¡ Á¤ÀÇÇÑ ¹é¾÷ ¶óº§ÀÎ, ÆÄ¶ó¹ÌÅ͸¦ 1°³¹Þ¾ÆµéÀÔ´Ï´Ù(Åë»ó, ÀúÀå¿¡ »ç¿ëÇÏ´Â ¹é¾÷ ´ýÇÁ ÆÄÀÏ¿¡ ¿¬°üµÈ À̸§À» ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù).
ÀÌ ÇÔ¼ö´Â, µ¥ÀÌÅͺ£À̽º Ŭ·¯½ºÅÍÀÇ µ¥ÀÌÅÍ µð·ºÅ丮¿¡ ¹é¾÷ ¶óº§ ÆÄÀÏÀ» ÀÛ¼ºÇϰí, ¹é¾÷À» ½ÃÀÛÇÏ´Â Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ À§Ä¡¸¦ ÅØ½ºÆ® Çü½ÄÀ¸·Î ¹ÝȯÇÕ´Ï´Ù.
À¯Àú´Â ÀÌ °á°ú°ª¿¡ ÁÖÀÇÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ±×·¯³ª, »ç¿ëµÇ´Â Àϵµ Àֱ⠶§¹®¿¡ ÀÌ °ªÀÌ Á¦°øµÇ°í ÀÖ½À´Ï´Ù.
postgres=# select pg_start_backup('label_goes_here');
pg_start_backup
-----------------
0/D4445B8
(1 row)
pg_stop_backup´Â,pg_start_backup·Î ÀÛ¼ºµÈ ¶óº§ ÆÄÀÏÀ» »èÁ¦Çϰí, ´ë½Å¿¡, Æ®·£Àè¼Ç(transaction) ·Î±× °Ý³³ ¿µ¿ª¿¡ ¹é¾÷ ÀÌ·Â ÆÄÀÏÀ» ÀÛ¼ºÇÕ´Ï´Ù.
ÀÌ·Â ÆÄÀÏ¿¡´Âpg_start_backup·Î ºÎ¿©µÈ ¶óº§, ¹é¾÷ÀÇ Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ À§Ä¡ÀÇ °³½Ã À§Ä¡, Á¾·á À§Ä¡, ¹é¾÷ °³½Ã½Ã°¢, Á¾·á½Ã°¢ÀÌ Æ÷ÇԵ˴ϴÙ.
¹Ýȯ°ªÀº, ¹é¾÷ÀÇ Á¾·á Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ À§Ä¡ÀÔ´Ï´Ù(À̰͵µ ÀÌ¿Í °°ÀÌ µå¹°°Ô »ç¿ëµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù).
Á¾·á À§Ä¡¸¦ ÅëÁöÇÑ ÈÄ, ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ »ðÀÔ À§Ä¡´Â ÀÚµ¿ÀûÀ¸·Î, ´ÙÀ½ÀÇ Æ®·£Àè¼Ç(transaction) ·Î±×¿¡ ÁøÇàµË´Ï´Ù.
±×·¯¹Ç·Î, Á¾·á Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀÏÀ» °ð¹Ù·Î ¾ÆÄ«À̺ê(archive) ÇØ, ¹é¾÷À» ¿Ï·á½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù.
pg_switch_xlog´Â, ´ÙÀ½ÀÇ Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀÏ·Î À̵¿ÇØ, ÇöÀçÀÇ ÆÄÀÏÀ» ¾ÆÄ«À̺ê(archive) ÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. (¾ÆÄ«À̺ê(archive)¸¦ °è¼ÓÇØ »ç¿ëÇÏ´Â °ÍÀ» ÀüÁ¦·Î ÇÕ´Ï´Ù. )
°á°ú´Â, ¿Ï·áÇÑ ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀϳ»ÀÇ Á¾·á Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ À§Ä¡ÀÔ´Ï´Ù.
ÀüȸÀÇ Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀÏÀÇ º¯È¯À¸·ÎºÎÅÍ Æ®·£Àè¼Ç(transaction) ·Î±×¿¡ º¯È°¡ ¾øÀ¸¸é,pg_switch_xlog´Â ¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê°í, ÀüȸÀÇ Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀÏÀÇ Á¾·á À§Ä¡¸¦ ¹ÝȯÇÕ´Ï´Ù.
pg_current_xlog_location´Â, »ó±âÀÇ ÇÔ¼ö·Î »ç¿ëµÇ´Â ¼½Ä°ú °°Àº ¼½Ä¿¡¼ ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ ±âÀÔ À§Ä¡¸¦ Ç¥½ÃÇÕ´Ï´Ù.
À̰ú °°ÀÌpg_current_xlog_insert_location´Â, ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ »ðÀÔ À§Ä¡¸¦ Ç¥½ÃÇÕ´Ï´Ù.
»ðÀÔ À§Ä¡´Â "³í¸®Àû"ÀÎ ÀÓÀÇÀÇ Àڱ⿬ÃâÀÇ Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ Á¾·á À§Ä¡ÀÔ´Ï´Ù.
ÇÑÆí, ±âÀÔ À§Ä¡´Â, ¼¹öÀÇ ³»ºÎ ¹öÆÛ·ÎºÎÅÍ ÀÛ¼ºµÈ ½ÇÁ¦ÀÇ Á¾·á À§Ä¡ÀÔ´Ï´Ù.
±âÀÔ À§Ä¡´Â ¼¹ö ¿ÜºÎ·ÎºÎÅÍ °ËÁõ °¡´ÉÇÏÁö¸¸ Á¾´ÜÀÔ´Ï´Ù.
Åë»óÀº, ºÎºÐÀûÀ¸·Î ¿Ï·áÇÑ Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀÏÀÇ ¾ÆÄ«À̺ê(archive) 󸮸¦ ½Ç½ÃÇÏ°í ½ÍÀº °æ¿ì¿¡ ÇÊ¿äÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù.
»ðÀÔ À§Ä¡´Â ¼¹ö¸¦ µð¹ö±× ÇÒ ¶§¿¡ ÁÖ·Î »ç¿ëµË´Ï´Ù. À̰͵éÀº µÑ´Ù ÀбâÀü¿ëÀÇ Á¶ÀÛÀ̸ç, ½´ÆÛ À¯Àú ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê½À´Ï´Ù.
pg_xlogfile_name_offset¸¦ »ç¿ëÇØ, »ó±â ¾î´À ÇÔ¼öÀÇ °á°ú·ÎºÎÅ͵µ, ´ëÀÀÇÏ´Â Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀϰú ¹ÙÀÌÆ® ¿ÀÇÁ¼Â(offset)¸¦ ÃßÃâÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌÇÏ¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
postgres=# select * from pg_xlogfile_name_offset(pg_stop_backup());
file_name | file_offset
--------------------------+-------------
00000001000000000000000D | 4039624
(1 row)
°°ÀÌpg_xlogfile_nameÀº, Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀÏ¸í¸¸À» ÃßÃâÇÕ´Ï´Ù.
ÁöÁ¤ÇÑ Æ®·£Àè¼Ç(transaction) ·Î±×ÀÇ À§Ä¡°¡ Á¤È®ÇÏ°Ô Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀÏÀÇ °æ°è¿¡¼ ¸¸³µÀ» °æ¿ì, ÀÌ·¯ÇÑ ¾çÇÔ¼ö´Â ÀüÀÇ Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀÏÀÇ À̸§À» ¹ÝȯÇÕ´Ï´Ù.
Åë»ó À̰ÍÀº, Æ®·£Àè¼Ç(transaction) ·Î±× ÆÄÀÏÀÇ ¾ÆÄ«À̺ê(archive) µ¿ÀÛ¿¡¼´Â ¼±È£µÇ´Â µ¿ÀÛÀÔ´Ï´Ù.
ÀüÀÇ ÆÄÀÏÀÌ ÇöÀçÀÇ ¾ÆÄ«À̺ê(archive)·Î ÇÊ¿ä·Î ÇÏ´Â ¸¶Áö¸· ÆÄÀÏÀ̱⠶§¹®ÀÔ´Ï´Ù.
ÀÌ·¯ÇÑ ÇÔ¼öÀÇ ¿Ã¹Ù¸¥ »ç¿ë ¹æ¹ý¿¡ ´ëÇØ¼´Â,Section 23.3À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
Table 9-48±×¸®°í ³ªÅ¸³ ÇÔ¼ö´Â µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®ÀÇ ½ÇÁ¦ÀÇ µð½ºÅ© ¿µ¿ªÀ» °è»êÇÕ´Ï´Ù.
Table 9-48. µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ® ¿ë·® ÇÔ¼ö
| À̸§ | ¹ÝȯÇü | ¼³¸í |
|---|---|---|
pg_column_size(any) |
int | ƯÁ¤ÀÇ °ªÀ» ÀúÀåÇϴµ¥ »ç¿ëµÇ´Â(°¡´ÉÇÑ °æ¿ì, ¾ÐÃàµÈ) ¹ÙÀÌÆ®¼ö |
pg_database_size(oid)
|
bigint | ÁöÁ¤µÈ OID¸¦ °¡Áö´Â µ¥ÀÌÅͺ£À̽º·Î »ç¿ëµÇ´Â µð½ºÅ© ¿µ¿ª |
pg_database_size(name)
|
bigint | ÁöÁ¤µÈ À̸§À» °¡Áö´Â µ¥ÀÌÅͺ£À̽º·Î »ç¿ëµÇ´Â µð½ºÅ© ¿µ¿ª |
pg_relation_size(oid)
|
bigint | ÁöÁ¤µÈ OID¸¦ °¡Áö´Â Å×À̺í ȤÀº À妽º·Î »ç¿ëµÇ´Â µð½ºÅ© ¿µ¿ª |
pg_relation_size(text)
|
bigint | ÁöÁ¤µÈ À̸§À» °¡Áö´Â Å×À̺í ȤÀº À妽º·Î »ç¿ëµÇ´Â µð½ºÅ© ¿µ¿ª. Å×À̺í¸íÀº ½ºÅ°¸¶¸íÀ¸·Î ¼ö½Ä °¡´É |
pg_size_pretty(bigint)
|
text | ¹ÙÀÌÆ® ´ÜÀ§ÀÇ »çÀÌÁ ÁöÁ¤ »çÀÌÁîÀÇ °¡µ¶¼ºÀÌ ³ôÀº ¼½ÄÀ¸·Î º¯È¯ |
pg_tablespace_size(oid)
|
bigint | ÁöÁ¤µÈ OID¸¦ °¡Áö´Â Å×ÀÌºí½ºÆäÀ̽º¿¡¼ »ç¿ëµÇ´Â µð½ºÅ© ¿µ¿ª |
pg_tablespace_size(name)
|
bigint | ÁöÁ¤µÈ À̸§À» °¡Áö´Â Å×ÀÌºí½ºÆäÀ̽º¿¡¼ »ç¿ëµÇ´Â µð½ºÅ© ¿µ¿ª |
pg_total_relation_size(oid)
|
bigint | ƯÁ¤µÈ OID¸¦ °¡Áö´Â Å×À̺í·Î »ç¿ëµÇ´Â µð½ºÅ© ¿µ¿ª¿¡¼, À妽º¿Í toast µÈ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ´Ù |
pg_total_relation_size(text)
|
bigint | ƯÁ¤µÈ À̸§À» °¡Áö´Â Å×À̺í·Î »ç¿ëµÇ´Â µð½ºÅ© ¿µ¿ª¿¡¼, À妽º¿Í toast µÈ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ´Ù. Å×À̺í¸íÀº ½ºÅ°¸¶¸íÀ¸·Î ¼ö½Ä °¡´É |
pg_column_size´Â ¾î¶² °³º°ÀÇ µ¥ÀÌÅͰªÀ» ÀúÀåÇϴµ¥µµ »ç¿ëµÇ´Â ¿µ¿ªÀ» ³ªÅ¸³À´Ï´Ù.
pg_database_size¿Ípg_tablespace_size´Â µ¥ÀÌÅͺ£À̽º ¶Ç´Â Å×ÀÌºí½ºÆäÀ̽ºÀÇ À̸§ ¶Ç´Â OID¸¦ Á¢¼öÇØ °Å±â¼ »ç¿ëµÇ´Â Ãѿ뷮À» ¹ÝȯÇÕ´Ï´Ù.
pg_relation_size´Â OID ȤÀº Å×À̺í¸í, À妽º ȤÀº toast Å×À̺íÀ» ¹Þ¾Æµé¿© ¹ÙÀÌÆ® ´ÜÀ§ÀÇ ¿ë·®À» ¹ÝȯÇÕ´Ï´Ù.
pg_size_pretty´Â, ÀûÀýÈ÷ kB, MB, GB, ȤÀº TB´ÜÀ§¸¦ »ç¿ëÇØ ´«À¸·Î ºÁ¼µµ ¾Ëµµ·Ï, ±× ¿ÜÀÇ ÇÔ¼öÀÇ ÇϳªÀÇ °á°ú¸¦ Á¤ÇüÇϴµ¥ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
pg_total_relation_size´Â, Å×ÀÌºí ¶Ç´Â TOAST Å×À̺íÀÇ OID ¶Ç´Â À̸§À» ¹Þ¾Æµé¿© µ¥ÀÌÅÍ ¹× °ü·ÃÇÏ´Â À妽º, TOAST Å×À̺íÀÇ Ãѿ뷮À» ¹ÙÀÌÆ® ´ÜÀ§·Î ¹ÝȯÇÕ´Ï´Ù.
Table 9-49¿¡ ÀÖ´Â ÇÔ¼ö´Â ¼¹ö¸¦ È£½ºÆÃ Çϰí ÀÖ´Â ¸Ó½Å»óÀÇ ÆÄÀÏ¿¡ ´ëÇØ, ÆÄÀÏ ¾×¼¼½º¸¦ Á¦°øÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º Ŭ·¯½ºÅÍ µð·ºÅ丮¿Ílog_directory¿¡ Á¸ÀçÇÏ´Â ÆÄÀϸ¸ÀÌ ¾×¼¼½º °¡´ÉÇÕ´Ï´Ù. Ŭ·¯½ºÅÍ µð·ºÅ丮³»ÀÇ ÆÄÀÏ¿¡ ´ëÇØ¼ »ó´ë °æ·Î¸¦, ±×¸®°í ·Î±× ÆÄÀÏ¿¡ ´ëÇØ¼´Âlog_directoryȯ°æ ¼³Á¤¿¡ ÀÏÄ¡ÇÏ´Â °æ·Î¸¦ »ç¿ëÇØ ÁÖ¼¼¿ä.
Table 9-49. ¹ü¿ë ÆÄÀÏ ¾×¼¼½º ÇÔ¼ö
| À̸§ | ¹ÝȯÇü | ¼³¸í |
|---|---|---|
pg_ls_dir(dirname text)
|
setof text | µð·ºÅ丮 ³»¿ëÀÇ ¸®½ºÆ® |
pg_read_file(filename text, offset bigint, length bigint)
|
text | ÅØ½ºÆ® ÆÄÀÏÀÇ ³»¿ëÀ» ¹ÝȯÇÑ´Ù |
pg_stat_file(filename text)
|
record | ÆÄÀÏ Á¤º¸¸¦ ¹ÝȯÇÑ´Ù |
pg_ls_dir´Â, Ưº°ÇÑ ¿£Æ®¸®". ", ¹× ".."(À»)¸¦ Á¦¿ÜÇÑ, ÁöÁ¤µÈ µð·ºÅ丮ÀÇ ¸ðµç À̸§À» ¹ÝȯÇÕ´Ï´Ù.
pg_read_file´Â ÁÖ¾îÁøoffset·Î ½ÃÀ۵Ǿî, ÃÖ´ëlength¹ÙÀÌÆ®(ÃÖÃÊ·Î ÆÄÀÏÀÇ ³¡¿¡ µµ´ÞÇϸé À̰ͺ¸´Ù Àû°Ô µË´Ï´Ù¸¸) ÅØ½ºÆ® ÆÄÀÏÀÇ ÀϺκÐÀ» ¹ÝȯÇÕ´Ï´Ù.
offset°¡ À½¼öÀÇ °æ¿ì¿¡´Â ÆÄÀÏÀÇ ³¡ºÎÅÍ Àоî³À´Ï´Ù.
pg_stat_file´Â ÆÄÀÏ ¿ë·®, ÃÖÁ¾ ¾×¼¼½º ½Ã°¢, ÃÖÁ¾ °»½Å ½Ã°¢, ¸¶Áö¸·¿¡ ½Ã°¢À» º¯°æÇÑ file status(À̰ÍÀº Unix Ç÷§Æû¸¸), ÆÄÀÏ ÀÛ¼º ½Ã°¢(Windows¸¸) ¹× ¸¸¾à µð·ºÅ丮ÀÌ¸é ±×°ÍÀ» ³ªÅ¸³»´Âboolean¸¦ ¹ÝȯÇÕ´Ï´Ù.
ÀüÇüÀûÀÎ »ç¿ë¹ýÀ» ³ªÅ¸³À´Ï´Ù.
SELECT * FROM pg_stat_file('filename');
SELECT (pg_stat_file('filename')). modification;
Table 9-50¿¡ ³ªÅ¸³»´Â ÇÔ¼ö´Â ±Ç°íÀû ¶ôÀ» °ü¸®ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ÇÔ¼öÀÇ ÀûÀýÇÑ »ç¿ë ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº,Section 12.3.4À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
Table 9-50. ±Ç°íÀû ¶ô¿ë ÇÔ¼ö
| À̸§ | ¹ÝȯÇü | ¼³¸í |
|---|---|---|
pg_advisory_lock(key bigint)
|
void | ¹èŸ ±Ç°íÀû ¶ôÀ» ȹµæ |
pg_advisory_lock(key1 int, key2 int)
|
void | ¹èŸ ±Ç°íÀû ¶ôÀ» ȹµæ |
pg_advisory_lock_shared(key bigint)
|
void | °øÀ¯ ±Ç°íÀû ¶ôÀ» ȹµæ |
pg_advisory_lock_shared(key1 int, key2 int)
|
void | °øÀ¯ ±Ç°íÀû ¶ôÀ» ȹµæ |
pg_try_advisory_lock(key bigint)
|
boolean | °¡´ÉÇÏ¸é ¹èŸ ±Ç°íÀû ¶ôÀ» ȹµæ |
pg_try_advisory_lock(key1 int, key2 int)
|
boolean | °¡´ÉÇÏ¸é ¹èŸ ±Ç°íÀû ¶ôÀ» ȹµæ |
pg_try_advisory_lock_shared(key bigint)
|
boolean | °¡´ÉÇÏ¸é °øÀ¯ ±Ç°íÀû ¶ôÀ» ȹµæ |
pg_try_advisory_lock_shared(key1 int, key2 int)
|
boolean | °¡´ÉÇÏ¸é °øÀ¯ ±Ç°íÀû ¶ôÀ» ȹµæ |
pg_advisory_unlock(key bigint)
|
boolean | ¹èŸ ±Ç°íÀû ¶ôÀ» Ǭ´Ù |
pg_advisory_unlock(key1 int, key2 int)
|
boolean | ¹èŸ ±Ç°íÀû ¶ôÀ» Ǭ´Ù |
pg_advisory_unlock_shared(key bigint)
|
boolean | °øÀ¯ ±Ç°íÀû ¶ôÀ» Ǭ´Ù |
pg_advisory_unlock_shared(key1 int, key2 int)
|
boolean | °øÀ¯ ±Ç°íÀû ¶ôÀ» Ǭ´Ù |
pg_advisory_unlock_all()
|
void | ÇöÀçÀÇ ¼¼¼ÇÀ¸·Î º¸°ü À¯ÁöÇϰí ÀÖ´Â ±Ç°íÀû ¶ôÀ» ¸ðµÎ Ǭ´Ù |
pg_advisory_lock´Â, ¾ÖÇø®ÄÉÀ̼ÇÀÌ Á¤ÀÇÇÑ ÀÚ¿ø¿¡ ¶ôÀ» °Ì´Ï´Ù.
À̰ÍÀº, ´ÜÀÏÀÇ 64 ºñÆ® Űġ, ¶Ç´Â, 2°³ÀÇ 32 ºñÆ® Ű(ÀÌ 2°³ÀÇ Å° ½ºÆäÀ̽º´Â Áߺ¹ ÇÏÁö ¾Ê´Â °Í¿¡ ÁÖÀÇ)¿¡ ÀÇÇØ ½Äº°µË´Ï´Ù.
´Ù¸¥ ¼¼¼ÇÀÌ µ¿ÀÏ ÀÚ¿ø¿¡ ´ëÇÑ ¶ôÀ» º¸°ü À¯ÁöÇϰí ÀÖ´Â °æ¿ì, ÇÔ¼ö´Â ÀÚ¿øÀÌ ÀÌ¿ë °¡´ÉÇÏ°Ô µÉ ¶§±îÁö ´ë±âÇÕ´Ï´Ù.
¶ôÀº ¹èŸ ¶ôÀÔ´Ï´Ù. º¹¼öÀÇ ¶ô ¿ä±¸°¡ ´ë±â »óŰ¡ µË´Ï´Ù. ±×·¯¹Ç·Î, µ¿ÀÏ ÀÚ¿øÀÌ 3ȸ ¶ôÀÌ °É·ÈÀ» °æ¿ì, ´Ù¸¥ ¼¼¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØ¹æÇϱâ À§Çؼ´Â ¶ô ÇØÁ¦¸¦ 3ȸ ½Ç½ÃÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
pg_advisory_lock_sharedÀÇ µ¿ÀÛÀºpg_advisory_lock¿Í °°½À´Ï´Ù¸¸, ´Ù¸¥ ¼¼¼ÇÀÇ °øÀ¯ ¶ô°ú °øÀ¯ÇÒ ¼ö ÀÖ´Â ¶ôÀÎ Á¡ÀÌ ´Ù¸¨´Ï´Ù.
¹èŸ ¶ô ¿ä±¸¸¸ ¹èôµË´Ï´Ù.
pg_try_advisory_lock´Âpg_advisory_lock¿Í °°½À´Ï´Ù¸¸, ÀÌ ÇÔ¼öÀÇ °æ¿ì, ¶ôÀÌ ÀÌ¿ë °¡´ÉÇÏ°Ô µÉ ¶§±îÁö ´ë±âÇÏÁö ¾Ê½À´Ï´Ù.
¶ôÀ» Áï¼®¿¡¼ ÃëµæÇØtrue¸¦ ¹ÝȯÇÏ´ÂÁö, ¶ôÀ» ȹµæÇÒ ¼ö ¾ø¾ú´ø °æ¿ì¿¡false¸¦ ¹ÝȯÇϵçÁö µÑ Áß ÇϳªÀÔ´Ï´Ù.
pg_try_advisory_lock_sharedÀÇ µ¿ÀÛÀº pg_try_advisory_lock¿Í °°½À´Ï´Ù¸¸, ¹èŸ ¶ôÀÌ ¾Æ´Ñ, °øÀ¯ ¶ôÀÇ È¹µæÀ» ½ÃµµÇÕ´Ï´Ù.
pg_advisory_unlock´Â, »çÀü¿¡ ȹµæÇÑ ±Ç°íÀû ¹èŸ ¶ôÀ» ÇØ¹æÇÕ´Ï´Ù(°É¾ú´ø ¶ôÀ» DZ´Ï´Ù).
¶ôÀ» Ǫ´Â(ÇØ¹æÇÏ´Â)µ¥¿¡ ¼º°øÇßÀ» °æ¿ì,true¸¦ ¹ÝȯÇÕ´Ï´Ù.
¶ôÀ» ½ÇÁ¦·Î º¸°ü À¯ÁöÇϰí ÀÖÁö ¾Ê´Â °æ¿ì,false¸¦ ¹ÝȯÇÕ´Ï´Ù, °Ô´Ù°¡ SQL °æ°í°¡ ¼¹ö·ÎºÎÅÍ ¹ß»ýÇÕ´Ï´Ù.
pg_advisory_unlock_sharedÀÇ µ¿ÀÛÀºpg_advisory_unlock¿Í °°½À´Ï´Ù¸¸, ±Ç°íÀû °øÀ¯ ¶ôÀ» ÇØ¹æÇÏ´Â(Ǫ´Â) Á¡ÀÌ ´Ù¸¨´Ï´Ù.
pg_advisory_unlock_all´Â, ÇöÀçÀÇ ¼¼¼ÇÀ¸·Î º¸°ü À¯ÁöÇÏ´Â ±Ç°íÀû ¶ôÀ» ÇØ¹æÇÕ´Ï´Ù. (ÀÌ ÇÔ¼ö´Â, Ŭ¶óÀÌ¾ðÆ®¿ÍÀÇ Á¢¼ÓÀÌ ÀǵµÇÏÁö ¾Ê°í ²÷¾îÁ³À» °æ¿ì¿¡¼µµ, ¼¼¼Ç Á¾·á½Ã¿¡ ¾Ï¹¬ÀûÀ¸·Î È£Ã⠵˴ϴÙ.)