»óǰ ¾È³» ¹× ȯºÒ, ±³È¯, ¹è¼Û¹®ÀÇ | |
- °¡°Ô ÀüȹøÈ£ : | 1544-1900 |
- Àüȹ®ÀÇ ½Ã°£ : |
¿ÀÀü 9½ÃºÎÅÍ ¿ÀÈÄ 6½Ã±îÁö (¸ÅÁÖ ¿ù¿äÀÏ, È¿äÀÏ, ¼ö¿äÀÏ, ¸ñ¿äÀÏ, ±Ý¿äÀÏ, °øÈÞÀÏ Á¦¿Ü) |
- °¡°Ô À̸ÞÀÏ : | ink@kyobobook.co.kr |
- ÀÌ¿ë Åùèȸ»ç : | CJ´ëÇÑÅë¿î |
ÆÇ¸Å°¡°ÔÁ¤º¸ |
|
- »ç¾÷ÀÚ¸í : | (ÁÖ)±³º¸¹®°í |
- »ç¾÷ÀÚµî·Ï¹øÈ£ : | 102-81-11670 |
- Åë½ÅÆÇ¸Å¾÷½Å°í : | 01-0653 |
- Çö±Ý¿µ¼öÁõ : ¹ß±Þ°¡´É |
|
ÀüÈÁÖ¹® ¹× °áÁ¦¹®ÀÇ |
|
- ²ÉÇÇ´Â ¾ÆÄ§¸¶À» : | 1644-8422 |
°¡°Ô¿Í Á÷°Å·¡¸¦ ÇÏ½Ã¸é ²É¼ÛÀÌ Àû¸³ ¹× °¢Á¾ ÇýÅÿ¡¼ Á¦¿ÜµÇ°í, ¸¸ÀÏÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì¿¡µµ ²É¸¶ÀÇ µµ¿òÀ» ¹ÞÀ¸½Ç ¼ö ¾ø½À´Ï´Ù. °¡°ÔÀÇ ºÎ´çÇÑ ¿ä±¸, ºÒ°øÁ¤ ÇàÀ§ µî¿¡ ´ëÇØ¼µµ ²É¸¶·Î Á÷Á¢ ÀüÈÁÖ¼¼¿ä. |
»ó¼¼Á¤º¸ | ±¸¸ÅÈıâ (0°³) | »óǰ Q&A (0) | ¹è¼Û/±³È¯/ȯºÒ ¾È³» |
Ã¥¼Ò°³- ¾î¶² ³»¿ëÀ» ´Ù·ð³ª¿ä?
ÀÌ Ã¥Àº PostgreSQL DBA°¡ ½Ç¹«¿¡¼ ¼öÇàÇÏ´Â ´Ù¾çÇÑ ¾÷¹«¸¦ Áß½ÉÀ¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. ¼³Ä¡ ¹× ȯ°æ ±¸ÃàºÎÅÍ ¿ÀºêÁ§Æ® °ü¸®, ¾ÆÅ°ÅØÃ³ ÀÌÇØ, ÁÖ¿ä ÆÄ¶ó¹ÌÅÍ ¼³Á¤, ¹°¸® º¹Á¦¿Í ³í¸® º¹Á¦, ¹é¾÷ ¹× º¹±¸, ¸ð´ÏÅ͸µ, ±×¸®°í Vacuum±îÁö, PostgreSQL ¿î¿µ¿¡ ÇÊ¿äÇÑ Àü¹ÝÀûÀÎ ³»¿ëÀ» Æø³Ð°Ô ´Ù·ç°í ÀÖ½À´Ï´Ù.
- Ã¥¿¡¼ ´Ù·çÁö ¾Ê´Â ³»¿ëÀº?
ÀÌ Ã¥Àº ¼º´É Æ©´×À̳ª Äõ¸® Æ©´×°ú °°Àº ÃÖÀûÈ °ü·Ã ÁÖÁ¦¸¦ ´Ù·çÁö ¾Ê½À´Ï´Ù. ÇØ´ç ³»¿ëÀº ÇÊÀÚ°¡ ½ÇÁ¦ ¼öÇàÇÑ PostgreSQL Æ©´× ÇÁ·ÎÁ§Æ® °æÇèÀ» ¹ÙÅÁÀ¸·Î, º°µµÀÇ Ã¥À¸·Î ±âȹÇϰí ÀÖ½À´Ï´Ù.
- ´©°¡ ÀÐÀ¸¸é ÁÁÀº°¡¿ä?
PostgreSQLÀ» 1~2³â Á¤µµ °æÇèÇØ º» ºÐµéÀ̳ª, Ÿ DBMS¿¡´Â Àͼ÷ÇÏÁö¸¸ PostgreSQLÀ» »õ·Ó°Ô ½ÃÀÛÇÏ´Â ´Ü°è¿¡ ÀÖ´Â ºÐµé²² ÀûÇÕÇÑ Ã¥ÀÔ´Ï´Ù.
- ÀÐÀ¸¸é ¾È µÇ´Â ºÐµéµµ ÀÖ³ª¿ä?
ÀÌ Ã¥Àº PostgreSQL ÀÔ¹®ÀÚ³ª ½Ç¹« °æÇèÀÌ ÀûÀº DBA¸¦ ´ë»óÀ¸·Î Çϰí ÀÖ½À´Ï´Ù. µû¶ó¼ PostgreSQL¿¡ ÀÌ¹Ì ±íÀº Àü¹®¼ºÀ» °®Ãá ºÐµé²²´Â ´Ù¼Ò ½¬¿î ³»¿ëÀÏ ¼ö ÀÖÀ¸¸ç, ±×·± ºÐµé²²´Â ÀÌ Ã¥À» ±ÇÇÏÁö ¾Ê½À´Ï´Ù. ³À̵µ´Â Ãʱ޿¡¼ Áß±Þ ¼öÁØÀ¸·Î, ½Ç¹«¿¡ ¹Ù·Î Àû¿ëÇÒ ¼ö ÀÖ´Â ±âÃÊ¿Í ÀÀ¿ë Áß½ÉÀÇ ³»¿ëÀ» ´ã°í ÀÖ½À´Ï´Ù.
- Ã¥À» ¾²¸é¼ °¡Àå ½Å°æ ¾´ ºÎºÐÀº?
Ã¥À» ÁýÇÊÇÏ¸é¼ °¡Àå ½Å°æ ¾´ ºÎºÐÀº ÇöÀåÀÇ °æÇèÀ» ¹ÙÅÁÀ¸·Î, DBA ¾÷¹«¿¡ ½ÇÁúÀûÀÎ µµ¿òÀÌ µÉ ¼ö ÀÖ´Â ½Ç¿ëÀûÀÎ ³»¿ëÀ» ´ã´Â °ÍÀ̾ú½À´Ï´Ù.
¶ÇÇÑ ¼öÂ÷·Ê¿¡ °ÉÄ£ À±¹®À» ÅëÇØ, ÇÊÀÚ°¡ Àü´ÞÇϰíÀÚ ÇÏ´Â ³»¿ëÀ» µ¶ÀÚµéÀÌ º¸´Ù ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï Ç¥ÇöÀ» ´Ùµë°í Á¤Á¦Çß½À´Ï´Ù.
ƯÈ÷ ÁÖ¿ä °³³ä°ú µ¿ÀÛ ¿ø¸®´Â 40¿© °³ÀÇ ±×¸²À» Ȱ¿ëÇØ ½Ã°¢ÀûÀ¸·Î ¼³¸íÇÔÀ¸·Î½á, º¹ÀâÇÑ ³»¿ëÀ» º¸´Ù Á÷°üÀûÀ¸·Î ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ±¸¼ºÇß½À´Ï´Ù.
- Ã¥ Àд ¹æ¹ý
ÀÌ Ã¥Àº 1ÀåºÎÅÍ ¼ø¼´ë·Î Àд °ÍÀ» ±ÇÀåÇÕ´Ï´Ù. ¾Õ¿¡¼ ¼³¸íÇÑ ³»¿ëÀ» ÀÌÇØÇØ¾ß¸¸ ´ÙÀ½ ³»¿ëÀ» È¿°úÀûÀ¸·Î ½ÀµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ã¥¿¡ Æ÷ÇÔµÈ ½Ç½À ¿¹Á¦µéÀº °¡´ÉÇϸé Á÷Á¢ ŸÀÌÇÎÇØ º¸½Ã±æ ¹Ù¶ø´Ï´Ù. ½º½º·Î ŸÀÌÇÎÇÏ¸ç ¿À·ù¸¦ °Þ°í ½ÃÇàÂø¿À¸¦ ÇØ°áÇØ ³ª°¡´Â °úÁ¤¿¡¼ ½Ç·ÂÀÌ ÀÚ¿¬½º·´°Ô ½×ÀÌ°Ô µË´Ï´Ù.
´Ù¸¸, 7Àå '¸ð´ÏÅ͸µ'¿¡¼ Á¦°øÇÏ´Â ÁÖ¿ä ½ºÅ©¸³Æ®µéÀº ¾Æ·¡ GitHub ¸µÅ©¸¦ ÅëÇØ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù.
https://github.com/SiyeonAcademy/postgresql/blob/main/postgresql_script.zip
»ó¼¼À̹ÌÁö![]() ÀúÀÚ¼Ò°³ÀúÀÚ : ±è½Ã¿¬
27³â ÀÌ»ó µ¥ÀÌÅͺ£À̽º ºÐ¾ß¿¡ ¸ö´ã¾Æ¿Â ¼º´É Æ©´× Àü¹®°¡ÀÌ´Ù. 20³â ³Ñ°Ô ¿À¶óŬ ¹× ¿¢»çµ¥ÀÌÅÍ ±â¹ÝÀÇ ¼º´É Áø´Ü°ú Æ©´×¿¡ ÁýÁßÇØ ¿ÔÀ¸¸ç, ÃÖ±Ù 5³â µ¿¾ÈÀº ÁÖ·Î PostgreSQL°ú EDB ȯ°æ¿¡¼ ¼º´É ÄÁ¼³ÆÃ°ú DBA ¾÷¹«¸¦ ¼öÇàÇØ¿Ô´Ù. ¿¬¼¼´ëÇб³ °ø°ú´ëÇпø¿¡¼ ÄÄÇ»ÅͰøÇÐÀ» °øºÎÇßÀ¸¸ç, ÀÌÀü Á÷ÀåÀÎ (ÁÖ)¿¢¼À¿¡¼´Â ¾à 15³â°£ »ï¼ºÀüÀÚ¸¦ Æ÷ÇÔÇÑ ´Ù¾çÇÑ °í°´»ç¸¦ ´ë»óÀ¸·Î ¿À¶óŬ ¼º´É ÄÁ¼³ÆÃÀ» ¼öÇàÇßÀ¸¸ç ÄÁ¼³ÆÃº»ºÎÀåÀ» ¿ªÀÓÇß´Ù.
ÃÖ±Ù 5³â°£ÀÇ ÁÖ¿ä ÇÁ·ÎÁ§Æ®·Î´Â ½ÅÇÑÅõÀÚÁõ±Ç ¸ÞŸ ÇÁ·ÎÁ§Æ®¸¦ ºñ·ÔÇØ ±³º¸¹®°í Â÷¼¼´ë, KT Áö¿ªÈÆó, ½ÅÇÑÀºÇà ¡®¶¯°Ü¿ä¡¯ ¹è´Þ¾Û µîÀÌ ÀÖÀ¸¸ç, À̵é ÇÁ·ÎÁ§Æ®¿¡¼ PostgreSQL ¹× EDB ±â¹ÝÀÇ ¹èÄ¡/¿Â¶óÀÎ ½Ã½ºÅÛÀÇ ¼º´É °³¼±°ú DBA ¾÷¹«¸¦ ¼öÇàÇß´Ù.
Àú¼·Î´Â ¡´PostgreSQL 9.6 ¼º´É À̾߱⡵¿Í ±× ¿µ¹®ÆÇ ¡´PostgreSQL 9.6 Performance Story¡µ(Amazon Ãâ°£) ¹× ¡´Transaction Internals in 10gR2¡µ(2008)°¡ ÀÖÀ¸¸ç, ¹ø¿ª¼·Î´Â ¡´Oracle Äھ(2012), ¡´OWI¸¦ Ȱ¿ëÇÑ ¿À¶óŬ Áø´Ü & Æ©´×¡µ(2005) µîÀÌ ÀÖ´Ù.
ÀúÀÚ : Ãֵοø
26³â ÀÌ»ó µ¥ÀÌÅͺ£À̽º ºÐ¾ß¿¡ ¸ö´ã¾Æ¿Â ¼º´É Æ©´× Àü¹®°¡ÀÌ´Ù. °³¹ßÀڷμ ÀϺ» ¾ßÄ¡¿ä ÀºÇà ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇßÀ¸¸ç, ÀÌÈÄ µ¥ÀÌÅͺ£À̽º º¸¾È°ú ¼º´É Æ©´×¿¡ ÁýÁßÇØ¿Ô´Ù. ÃÖ±Ù 8³â°£Àº PostgreSQL°ú EDB ȯ°æ¿¡¼ ¼º´É ÄÁ¼³ÆÃ°ú DBA ¾÷¹«¸¦ ¼öÇàÇϰí ÀÖ´Ù.
»ï¼ºµð½ºÇ÷¹ÀÌ EDB Àüȯ ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÀ¸·Î ½ÅÇÑÅõÀÚÁõ±Ç ¸ÞŸ ÇÁ·ÎÁ§Æ®, ±³º¸¹®°í Â÷¼¼´ë, ·Ôµ¥¸â¹ö½º ä³Î½Ã½ºÅÛ, ½ÅÇÑÀºÇà ¡®¶¯°Ü¿ä¡¯ ¹è´Þ¾Û µî¿¡¼ PostgreSQL ¹× EDB ±â¹ÝÀÇ ¹èÄ¡¡¤¿Â¶óÀÎ ½Ã½ºÅÛ ¼º´É °³¼±°ú DBA ¾÷¹«¸¦ ¸Ã¾Ò´Ù. ÇöÀç´Â SaaSÇü ¸ð´ÏÅ͸µ ÅøÀÎ ¿ÍÅÇ¿¡¼ µ¥ÀÌÅͺ£À̽º ¸ðµâ ¼³°è¿Í ÄÁ¼³ÆÃÀ» ¼öÇàÇϰí ÀÖ´Ù.
Àú¼·Î´Â ¡´PostgreSQL 9.6 ¼º´É À̾߱⡵°¡ ÀÖ´Ù.
¸ñÂ÷1Àå. ȯ°æ±¸Ãà
1.1 ¼³Ä¡
____PostgreSQL ¿£Áø ¼³Ä¡
____µ¥ÀÌÅͺ£À̽º Ŭ·¯½ºÅÍ »ý¼º
1.2 ÀνºÅϽº ½ÃÀÛ ¹× Á¤Áö
____pg_ctl ¸í·É¾î¸¦ ÀÌ¿ëÇÑ ÀνºÅϽº Á¦¾î ¹æ¹ý
____DB ¼¹ö Àç½ÃÀÛ ½Ã¿¡ ÀνºÅϽº ÀÚµ¿ ½ÃÀÛ ¹æ¹ý
1.3 Á¢¼ÓÇϱâ
____·ÎÄà Á¢¼Ó
____pg_hba.conf ÆÄÀÏÀ» ÀÌ¿ëÇÑ Á¢¼Ó °ü¸®
____¿ø°ÝÁ¢¼ÓÀ» À§ÇÑ ¼³Á¤
____À¯Àú ÆÐ½º¿öµå ¾ÏÈ£È ¹æ½Ä
1.4 Ŭ¶óÀÌ¾ðÆ® Åø
____psql
1.5 µ¥ÀÌÅͺ£À̽º ȯ°æ ±¸Ãà
____À¯Àú »ý¼º
____·Ñ »ý¼º
____µ¥ÀÌÅͺ£À̽º »ý¼º
____½ºÅ°¸¶ »ý¼º
____±ÇÇÑ °ü¸®
____½´ÆÛÀ¯Àú ±ÇÇÑ, CREATE ·Ñ°ú ½Ã½ºÅÛ ·Ñ
____ÀͽºÅÙ¼Ç ¼³Ä¡
2Àå. ¿ÀºêÁ§Æ®
2.1 Å×À̺í
____Å×ÀÌºí »ý¼º
____Å×ÀÌºí º¹»ç
____Å×À̺í À籸¼º
____Å×ÀÌºí °ü¸® ¸í·É¾î
2.2 À妽º
____À妽º »ý¼º
____CIC (Create Index Concurrently) ¿É¼Ç
____À妽º ¸®ºôµå
____À妽º °ü¸® ¸í·É¾î
2.3 ÆÄƼ¼Ç
____ÆÄƼ¼Ç °³¿ä
____RANGE ÆÄƼ¼Ç
____LIST ÆÄƼ¼Ç
____HASH ÆÄƼ¼Ç
____ÆÄƼ¼Ç À妽º
____À妽º ONLY ¿É¼Ç
____ÆÄƼ¼Ç °ü¸® ¸í·É¾î
2.4 ºä(View)
____ºä Ư¡
2.5 ½ÃÄö½º
____½ÃÄö½º Ư¡
____½ÃÄö½º °ü¸® ¸í·É¾î
2.6 ÇÔ¼ö
____ÇÔ¼ö ½ÇÇà ±ÇÇÑ
3Àå. ¾ÆÅ°ÅØÃ³
3.1 ÀνºÅϽº
____°øÀ¯ ¸Þ¸ð¸®
____ÇÁ·Î¼¼½º
____µ¥ÀÌÅͺ£À̽º Ŭ·¯½ºÅÍ ÁÖ¿ä µð·ºÅ丮¿Í ÆÄÀϵé
3.2 Å×ÀÌºí½ºÆäÀ̽º
____pg_default Å×ÀÌºí½ºÆäÀ̽º
____pg_global Å×ÀÌºí½ºÆäÀ̽º
____»ç¿ëÀÚ Å×ÀÌºí½ºÆäÀ̽º »ý¼º
____TEMP Å×ÀÌºí½ºÆäÀ̽º
3.3 Å×À̺í
____Å×À̺í (Heap Å×À̺í)
____Unlogged Å×À̺í
____Temp Å×À̺í
____TOAST (The Oversized-Attribute Storage Technique)
3.4 (¿î¿µ Tip) Template µ¥ÀÌÅͺ£À̽º ±â´É Ȱ¿ë ¹æ¾È
4Àå. ÆÄ¶ó¹ÌÅÍ ¼³Á¤ °¡À̵å
4.1 ·Î±× °ü·Ã ÆÄ¶ó¹ÌÅÍ
____logging_collector
____log_directory
____log_filename
____log_line_prefix
____log_lock_waits
____log_rotation_size
____log_statement
4.2 Á¢¼Ó °ü·Ã ÆÄ¶ó¹ÌÅÍ
____max_connections
____superuser_reserved_connections
____listen_addresses
____port
4.3 ¸Þ¸ð¸® °ü·Ã ÆÄ¶ó¹ÌÅÍ
____shared_buffers
____wal_buffers
____work_mem
____temp_buffers
____hash_mem_multiplier
____maintenance_work_mem
4.4 üũÆ÷ÀÎÆ® °ü·Ã ÆÄ¶ó¹ÌÅÍ
____checkpoint_timeout
____max_wal_size
4.5 WAL (Write Ahead Log) °ü·Ã ÆÄ¶ó¹ÌÅÍ
____wal_level
____wal_keep_size
____min_wal_size
____wal_log_hints
____checkpoint_completion_target
4.6 Autovacuum °ü·Ã ÆÄ¶ó¹ÌÅÍ
____autovacuum
____autovacuum_max_workers
____log_autovacuum_min_duration
4.7 º´·Ä ó¸® °ü·Ã ÆÄ¶ó¹ÌÅÍ
____max_worker_processes
____max_parallel_workers
____max_parallel_workers_per_gather
____max_parallel_maintenance_workers
4.8 ¼¼¼Ç °ü¸® ÆÄ¶ó¹ÌÅÍ
____idle_in_transaction_session_timeout
4.9 ¾ÐÃà °ü·Ã ÆÄ¶ó¹ÌÅÍ
____wal_compression
____default_toast_compression
4.10 ¸ð´ÏÅ͸µ °ü·Ã ÆÄ¶ó¹ÌÅÍ
____log_min_duration_statement
____shared_preload_libraries
____pg_stat_statements.max
____pg_stat_statements.track
____track_activity_query_size
____compute_query_id
____auto_explain.log_min_duration
____auto_explain.log_analyze
____auto_explain.log_buffers
4.11 ¿ÉƼ¸¶ÀÌÀú °ü·Ã ÆÄ¶ó¹ÌÅÍ
____effective_cache_size
____random_page_cost
____jit
4.12 ¾ÆÄ«ÀÌºê ¼³Á¤ °ü·Ã ÆÄ¶ó¹ÌÅÍ
____archive_mode
____archive_command
4.13 ÆÄ¶ó¹ÌÅÍ ¼³Á¤ ·¹º§ ¹× Àû¿ë ¼ø¼
____ÆÄ¶ó¹ÌÅÍ Àû¿ë ¼ø¼
____pg_settings ºä »ìÆìº¸±â
5Àå. º¹Á¦
5.1 ¹°¸® º¹Á¦
____¹°¸® º¹Á¦ ±¸¼º ÀýÂ÷
____¹°¸® º¹Á¦ ¾ÆÅ°ÅØÃ³
____µ¿±âÈ ¸ðµå À¯Çü
____µ¿±â ¸ðµå º¹Á¦ ±¸¼º ÀýÂ÷
____µ¿±âÈ ·¹º§
____Cascade º¹Á¦ ±¸¼º ÀýÂ÷
5.2 ³í¸® º¹Á¦
____³í¸® º¹Á¦ ±¸¼º ÀýÂ÷
____³í¸® º¹Á¦ ¾ÆÅ°ÅØÃ³¿Í µ¿ÀÛ ¼ø¼
____Publication »ý¼º ¿É¼Ç ¹× ¼³Á¤ º¯°æ
____Subscription »ý¼º ¿É¼Ç ¹× ¼³Á¤ º¯°æ
____¾ç¹æÇâ ³í¸® º¹Á¦
5.3 ³í¸®/¹°¸® º¹Á¦¸¦ Ȱ¿ëÇÑ ÀüÀÏÀÚ ¹èÄ¡ ȯ°æ ±¸¼º
5.4 º¹Á¦ ½½·Ô
____¹Ì»ç¿ë ½½·ÔÀÇ ¹®Á¦Á¡
____WAL µð½ºÅ© º¼·ý °ø°£ ºÎÁ·À¸·Î ÀνºÅϽº ºñÁ¤»ó Á¾·á ½ÃÀÇ Á¶Ä¡ ¹æ¹ý
____max_slot_wal_keep_size ÆÄ¶ó¹ÌÅ͸¦ ÀÌ¿ëÇÑ Àå¾Ö ¹æÁö ¹æ¾È
5.5 LSN°ú WAL ÆÄÀϸí
6Àå. ¹é¾÷°ú º¹±¸
6.1 ³í¸® ¹é¾÷°ú º¹±¸
____pg_dumpallÀ» ÀÌ¿ëÇÑ ¹é¾÷
____pg_dump¸¦ ÀÌ¿ëÇÑ ¹é¾÷
____psql°ú pg_restore¸¦ ÀÌ¿ëÇÑ º¹¿ø
____pg_restore¸¦ ÀÌ¿ëÇÑ º¹±¸
____COPY
6.2 ¹°¸® ¹é¾÷°ú º¹±¸
____¹é¾÷ ¹× º¹±¸ °³¿ä
____pgBackRest ¼³Ä¡ ¹× ȯ°æ ÆÄÀÏ ¼³Á¤
____pgBackRest¸¦ ÀÌ¿ëÇÑ ¹é¾÷
____pg_basebackupÀ» ÀÌ¿ëÇÑ Àüü ¹é¾÷
____pg_basebackupÀ» ÀÌ¿ëÇÑ ÁõºÐ ¹é¾÷
____pgBackRest¸¦ ÀÌ¿ëÇÑ ¿ÏÀü º¹±¸
____pgBackRest¸¦ ÀÌ¿ëÇÑ ¿ÏÀü º¹±¸ (Delta ¿É¼Ç)
____pg_basebackupÀ» ÀÌ¿ëÇÑ ¿ÏÀü º¹±¸ (Àüü ¹é¾÷)
____pg_basebackupÀ» ÀÌ¿ëÇÑ ¿ÏÀü º¹±¸ (ÁõºÐ ¹é¾÷)
____pgBackRest¸¦ ÀÌ¿ëÇÑ ½ÃÁ¡ º¹±¸ (º°µµ ¼¹ö)
____pgBackRest¸¦ ÀÌ¿ëÇÑ ½ÃÁ¡ º¹±¸ (µ¿ÀÏ ¼¹ö)
____pg_basebackupÀ» ÀÌ¿ëÇÑ ½ÃÁ¡ º¹±¸ (º°µµ ¼¹ö)
____ºÒÇÊ¿äÇÑ ¾ÆÄ«ÀÌºê ÆÄÀÏ Á¤¸® ¹æ¹ý
7Àå. ¸ð´ÏÅ͸µ
7.1 ¼º´É ¸ð´ÏÅ͸µ °³¿ä
7.2 µ¥ÀÌÅͺ£À̽º ¸ð´ÏÅ͸µ
____pg_stat_database ºä¸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅͺ£À̽º ¼º´É ¸ð´ÏÅ͸µ
7.3 ¼¼¼Ç ¸ð´ÏÅ͸µ
____pg_stat_activity ºä¸¦ ÀÌ¿ëÇÑ ¼¼¼Ç ¸ð´ÏÅ͸µ
7.4 SQL ¸ð´ÏÅ͸µ
____1ȸ ¼öÇà ½Ã ÀÀ´ä½Ã°£ÀÌ ´À¸° Äõ¸® ¸ð´ÏÅ͸µ
____·±Å¸ÀÓ ½ÇÇà°èȹ È®ÀÎ: auto_explain Ȱ¿ë
____¹Ýº¹ ¼öÇàÀ¸·Î °úºÎÇϸ¦ ÁÖ´Â Äõ¸® ¸ð´ÏÅ͸µ
7.5 IO ¸ð´ÏÅ͸µ
____¹öÆÛ ¾×¼¼½º Àü·«°ú ¸µ ¹öÆÛ
____pg_stat_io ºä¸¦ ÀÌ¿ëÇÑ ½Ã½ºÅÛ ·¹º§ÀÇ I/O ¼º´É ºÐ¼®
____pg_stat_all_tables¿Í pg_statio_all_tables ºä¸¦ ÀÌ¿ëÇÑ Å×À̺í IO ºÐ¼®
____pg_stat_wal ºä¸¦ ÀÌ¿ëÇÑ WAL I/O ¸ð´ÏÅ͸µ
7.6 º¹Á¦ ¸ð´ÏÅ͸µ
____pg_stat_replication ºä¸¦ ÀÌ¿ëÇÑ º¹Á¦ Áö¿¬ ºÐ¼®
7.7 ÀÛ¾÷ ÁøÇà »óȲ ¸ð´ÏÅ͸µ
____À妽º »ý¼º ÁøÇà »óȲ ¸ð´ÏÅ͸µ
____Vacuum ÁøÇà »óȲ ¸ð´ÏÅ͸µ
____Vacuum Full ÁøÇà »óȲ ¸ð´ÏÅ͸µ
____COPY ÁøÇà »óȲ ¸ð´ÏÅ͸µ
8Àå. Æ®·£Àè¼Ç°ú ´ë±âÀ̺¥Æ®
8.1 Æ®·£Àè¼Ç°ú ¶ô(Lock)
____·Î¿ì ·¹º§(Row-Level) ¶ô
____Å×ÀÌºí ·¹º§ ¶ô
____µ¥µå¶ô (Deadlocks)
____¸ÖƼ Æ®·£Àè¼Ç (Multi-Transaction)
____pg_locks ºä
____Virtual XID
____fastpath
8.2 ´ë±âÀ̺¥Æ®
____´ë±âÀ̺¥Æ® À¯Çü
____´ë±âÀ̺¥Æ® ¸ð´ÏÅ͸µ ¹æ¹ý
____DataFileRead ´ë±âÀ̺¥Æ®
____WAL Insert ´ë±âÀ̺¥Æ®
____WALWrite & WalSync ´ë±âÀ̺¥Æ®
____BufferMapping ´ë±âÀ̺¥Æ®
____transactionid ´ë±âÀ̺¥Æ®
____tuple ´ë±âÀ̺¥Æ®
____virtualxid ´ë±âÀ̺¥Æ®
____relation ´ë±âÀ̺¥Æ®
9Àå. Vacuum
9.1 MVCC ¸ðµ¨°ú PostgreSQL MVCCÀÇ Æ¯Â¡
____MVCCÀÇ ÀÌÇØ
____PostgreSQL MVCCÀÇ Æ¯Â¡
____32ºñÆ® XID ¹®Á¦ ÇØ°áÀ» À§ÇÑ 2°¡Áö ±â¹ý
____Á¤¸®
9.2 Vacuum 񃧯
____Vacuum ¼öÇà ¹æ¹ý°ú ¿É¼Ç
____Vacuum À¯Çüº° WAL ¹ß»ý·®
____Vacuum ÀÛ¾÷ ¼öÇà ½Ã ÆäÀÌÁö ³»ÀÇ º¯°æ »çÇ×
____vacuumlo¸¦ ÀÌ¿ëÇÑ Orphan LOB Á¤¸® ¹æ¹ý
____AGE¶õ?
____Visibility Map
9.3 Vacuum°ú Autovacuum °ü·Ã ÁÖ¿ä ÆÄ¶ó¹ÌÅÍ
____Autovacuum ÇÁ·Î¼¼½ºÀÇ ¿ªÇÒ
____Autovacuum ÀÛ¾÷ Áֱ⠼³Á¤¿ë ÆÄ¶ó¹ÌÅÍ
____Autovacuum ÀÛ¾÷ ºÎÇÏ Á¶Àý¿ë ÆÄ¶ó¹ÌÅÍ
____Autovacuum: Vacuum ¹× Analyze ÀÛ¾÷ ½ÃÁ¡ °è»ê¿ë ÆÄ¶ó¹ÌÅÍ
____Autovacuum: Frozen ÀÛ¾÷ °ü·Ã ÆÄ¶ó¹ÌÅÍ
9.4 Slow Query ¼öÇà°ú Vacuum
____µ¥µå Æ©Çà »èÁ¦ ±âÁØ (Cutoff) Á¤Ã¥
____Å×½ºÆ®¸¦ ÅëÇÑ µ¿ÀÏ ·¹ÄÚµå ¹Ýº¹ ¾÷µ¥ÀÌÆ® ¹®Á¦Á¡ È®ÀÎ
9.5 º¹Á¦ Ãæµ¹°ú Hot Standby Feedback
____º¹Á¦ Ãæµ¹ Çö»ó ¹ß»ý ¿øÀÎ
____Vacuum ¼öÇà¿¡ ÀÇÇÑ ½º³À¼¦ º¹Á¦ Ãæµ¹
____½º³À¼¦ º¹Á¦ Ãæµ¹ Çö»óÀ» Áö¿¬½ÃŰ´Â ¹æ¹ý
____½º³À¼¦ º¹Á¦ Ãæµ¹ Çö»óÀ» Á¦°ÅÇÏ´Â ¹æ¹ý
____DDL ¼öÇà¿¡ ÀÇÇÑ ¶ô º¹Á¦ Ãæµ¹ Çö»ó
9.6 HOT (Heap-Only Tuples)¿Í fillfactor
____HOT ź»ý ¹è°æ°ú ±âº» ÄÁ¼Á
____HOT µ¿ÀÛ ¿ø¸®
____fillfactor¿Í HOT ¾÷µ¥ÀÌÆ® ÃÖÀûÈ
ºÎ·Ï
PSQL ÁÖ¿ä ¸í·É¾î
PSQL ¸ÞŸ ¸í·É¾î
Å×À̺í ÁÖ¿ä Storage ÆÄ¶ó¹ÌÅÍ
ÁÖ¿ä ÀͽºÅÙ¼Ç
____pg_prewarm
____Autoprewarm
____pg_buffercache
____pgstattuple
____pageinspect |
±³È¯ ¹× ȯºÒ °¡´É |
»óǰ¿¡ ¹®Á¦°¡ ÀÖÀ» °æ¿ì |
1) »óǰÀÌ Ç¥½Ã/±¤°íµÈ ³»¿ë°ú ´Ù¸£°Å³ª ºÒ·®(ºÎÆÐ, º¯Áú, ÆÄ¼Õ, Ç¥±â¿À·ù, À̹°È¥ÀÔ, Áß·®¹Ì´Þ)ÀÌ ¹ß»ýÇÑ °æ¿ì - ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ : ¼ö·ÉÀÏ ´ÙÀ½³¯±îÁö ½Åû - ±âŸ »óǰ : ¼ö·ÉÀϷκÎÅÍ 30ÀÏ À̳», ±× »ç½ÇÀ» ¾È ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳» ½Åû 2) ±³È¯ ¹× ȯºÒ½Åû ½Ã ÆÇ¸ÅÀÚ´Â »óǰÀÇ »óŸ¦ È®ÀÎÇÒ ¼ö ÀÖ´Â »çÁøÀ» ¿äûÇÒ ¼ö ÀÖÀ¸¸ç »óǰÀÇ ¹®Á¦ Á¤µµ¿¡ µû¶ó Àç¹è¼Û, ÀϺÎȯºÒ, ÀüüȯºÒÀÌ ÁøÇàµË´Ï´Ù. ¹Ýǰ¿¡ µû¸¥ ºñ¿ëÀº ÆÇ¸ÅÀÚ ºÎ´ãÀ̸ç ȯºÒÀº ¹ÝǰµµÂøÀϷκÎÅÍ ¿µ¾÷ÀÏ ±âÁØ 3ÀÏ À̳»¿¡ ¿Ï·áµË´Ï´Ù. |
´Ü¼øº¯½É ¹× ÁÖ¹®Âø¿ÀÀÇ °æ¿ì |
1) ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ ÀçÆÇ¸Å°¡ ¾î·Á¿î »óǰÀÇ Æ¯¼º»ó, ±³È¯ ¹× ȯºÒÀÌ ¾î·Æ½À´Ï´Ù. 2) ÈÀåǰ ÇǺΠƮ·¯ºí ¹ß»ý ½Ã Àü¹®ÀÇ Áø´Ü¼ ¹× ¼Ò°ß¼¸¦ Á¦ÃâÇϽøé ȯºÒ °¡´ÉÇÕ´Ï´Ù. ÀÌ °æ¿ì Á¦¹Ýºñ¿ëÀº ¼ÒºñÀÚ ºÎ´ãÀ̸ç, ¹è¼Ûºñ´Â ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. ÇØ´ç ÈÀåǰ°ú ÇǺΠƮ·¯ºí°úÀÇ »ó´çÇÑ Àΰú°ü°è°¡ ÀÎÁ¤µÇ´Â °æ¿ì ¶Ç´Â Áúȯġ·á ¸ñÀûÀÇ °æ¿ì¿¡´Â Áø´Ü¼ ¹ß±Þºñ¿ëÀ» ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. 3) ±âŸ »óǰ ¼ö·ÉÀϷκÎÅÍ 7ÀÏ À̳» ½Åû, ¿Õº¹¹è¼Ûºñ´Â ¼ÒºñÀÚ ºÎ´ã 4) ¸ð´ÏÅÍ ÇØ»óµµÀÇ Â÷ÀÌ·Î »ö»óÀ̳ª À̹ÌÁö°¡ ´Ù¸¥ °æ¿ì ´Ü¼øº¯½É¿¡ ÀÇÇÑ ±³È¯ ¹× ȯºÒÀÌ Á¦ÇÑµÉ ¼ö ÀÖ½À´Ï´Ù. |
|
±³È¯ ¹× ȯºÒ ºÒ°¡ |
1) ½Åû±âÇÑÀÌ Áö³ °æ¿ì 2) ¼ÒºñÀÚÀÇ °ú½Ç·Î ÀÎÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ Àüü ¶Ç´Â ÀϺΰ¡ ¾ø¾îÁö°Å³ª ÈѼÕ, ¿À¿°µÇ¾úÀ» °æ¿ì 3) °³ºÀÇÏ¿© ÀÌ¹Ì ¼·ÃëÇÏ¿´°Å³ª »ç¿ë(Âø¿ë ¹× ¼³Ä¡ Æ÷ÇÔ)ÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ °¡Ä¡°¡ ¼Õ»óµÈ °æ¿ì 4) ½Ã°£ÀÌ °æ°úÇÏ¿© »óǰÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì 5) »ó¼¼Á¤º¸ ¶Ç´Â »ç¿ë¼³¸í¼¿¡ ¾È³»µÈ ÁÖÀÇ»çÇ× ¹× º¸°ü¹æ¹ýÀ» ÁöŰÁö ¾ÊÀº °æ¿ì 6) »çÀü¿¹¾à ¶Ç´Â ÁÖ¹®Á¦ÀÛÀ¸·Î ÅëÇØ ¼ÒºñÀÚÀÇ ÁÖ¹®¿¡ µû¶ó °³º°ÀûÀ¸·Î »ý»êµÇ´Â »óǰÀÌ ÀÌ¹Ì Á¦ÀÛÁøÇàµÈ °æ¿ì 7) º¹Á¦°¡ °¡´ÉÇÑ »óǰ µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì 8) ¸À, Çâ, »ö µî ´Ü¼ø ±âÈ£Â÷ÀÌ¿¡ ÀÇÇÑ °æ¿ì |