{"product_id":"140397","title":"PostgreSQL without any problems ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jYGWl4ZRXeGDDT8mhJFh2Z7UqBqJv.png?v=1765079635\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e PostgreSQL without any problems \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/141892324\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eBook Introduction\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cdiv\u003e It consists of core topics that beginners and intermediate PostgreSQL readers must know for performance management. \u003cbr\u003eWe cover the core features of PostgreSQL in depth, including architecture, transactions, MVCC, vacuum, locks, and SQL execution plans.\u003cbr\u003e Beyond simply describing the theory, it was written to enable a clear understanding of the internal operating principles through various tests and verifications.\u003cbr\u003e I hope that this structure will allow you to tackle PostgreSQL without any obstacles, and that is why I titled the book “PostgreSQL Without Obstacles.”\u003cbr\u003e In particular, various pictures and visual aids were used to help readers easily understand content that was considered technically difficult, and practical examples and scripts were also provided so that readers could experience the principles firsthand.\u003cbr\u003e Note that all tests are configured to run on PostgreSQL version 14 or later.\u003cbr\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindex\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003eCHAPTER 01 PostgreSQL Architecture\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 1.\u003cbr\u003e Main Process\u003cbr\u003e 1.1 Postmaster Process\u003cbr\u003e 1.2 Backend Process\u003cbr\u003e 1.3 Background Process\u003cbr\u003e\u003cbr\u003e 2.\u003cbr\u003e memory  \u003cbr\u003e2.1 Shared Memory\u003cbr\u003e 2.2 Local Memory\u003cbr\u003e\u003cbr\u003e 3.\u003cbr\u003e PostgreSQL structure\u003cbr\u003e 3.1 Logical Structure\u003cbr\u003e 3.2 Physical Structure\u003cbr\u003e\u003cbr\u003e 4.\u003cbr\u003e Shared Buffer\u003cbr\u003e 4.1 Shared Buffer Component\u003cbr\u003e 4.2 Reading data from a shared buffer\u003cbr\u003e 4.3 Clock Sweep\u003cbr\u003e 4.4 PostgreSQL IO Strategies\u003cbr\u003e\u003cbr\u003e 5. WAL (Write-Ahead Log)\u003cbr\u003e 5.1 WAL segment files\u003cbr\u003e 5.2 Checkpoint\u003cbr\u003e 5.3 WAL segment file management\u003cbr\u003e 5.4 Writing WAL records\u003cbr\u003e 5.5 Data Recovery Using WAL Files\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPTER 02 Transactions and MVCC\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 1.\u003cbr\u003e Transaction Isolation Level\u003cbr\u003e 1.1 Isolation Levels in PostgreSQL\u003cbr\u003e\u003cbr\u003e 2.\u003cbr\u003e Data storage structure\u003cbr\u003e 2.1 Page Structure\u003cbr\u003e 2.2 Transaction ID\u003cbr\u003e 2.3 Tuple structure\u003cbr\u003e 2.4 Tuple version\u003cbr\u003e 2.5 Indices and Tuples\u003cbr\u003e\u003cbr\u003e 3.\u003cbr\u003e Snapshot\u003cbr\u003e 3.1 What is a snapshot?\u003cbr\u003e 3.2 Snapshots and Tuple Visibility\u003cbr\u003e 3.3 Snapshots and Database Horizon\u003cbr\u003e 3.4 Exporting Snapshot\u003cbr\u003e 3.5 Snapshot too old\u003cbr\u003e\u003cbr\u003e 4.\u003cbr\u003e Single-page cleanup and HOT updates\u003cbr\u003e 4.1 Fillfactor  \u003cbr\u003e4.2 Single Page Cleanup\u003cbr\u003e 4.3 HOT(Heap Only Tuple) Update\u003cbr\u003e\u003cbr\u003e 5. MVCC (Multi Version Concurrency Control)\u003cbr\u003e 5.1 What is MVCC?\u003cbr\u003e 5.2 XID Circular Structure and Frozen XID\u003cbr\u003e 5.3 Age\u003cbr\u003e\u003cbr\u003e 6.\u003cbr\u003e Vacuum and Autovacuum\u003cbr\u003e 6.1 Vacuum\u003cbr\u003e 6.2 Autovacuum\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPTER 03 LOCK\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 1.\u003cbr\u003e Object Level Lock\u003cbr\u003e 1.1 Object Types\u003cbr\u003e 1.2 Object lock mode\u003cbr\u003e\u003cbr\u003e 2.\u003cbr\u003e Row Level Lock\u003cbr\u003e 2.1 Row-level lock mode\u003cbr\u003e 2.2 Multitransactions\u003cbr\u003e 2.3 Tuple lock wait\u003cbr\u003e 2.4 Dead Lock\u003cbr\u003e\u003cbr\u003e 3.\u003cbr\u003e Memory Level Lock\u003cbr\u003e 3.1 Light-Weight Locks (LWLocks)\u003cbr\u003e 3.2 Spinlocks\u003cbr\u003e 3.3 Buffer Pin Lock\u003cbr\u003e 3.4 WAL Buffer Lock\u003cbr\u003e 3.5 Memory Lock Monitoring\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPTER 04 SQL Execution\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 1.\u003cbr\u003e Cost Based Optimizer\u003cbr\u003e 1.1 CBO Cost\u003cbr\u003e\u003cbr\u003e 2.\u003cbr\u003e PostgreSQL statistics\u003cbr\u003e 2.1 Manual statistical information collection\u003cbr\u003e 2.2 Statistical Information Management\u003cbr\u003e\u003cbr\u003e 3.\u003cbr\u003e Action plan\u003cbr\u003e 3.1 Execution plan extraction method\u003cbr\u003e 3.2 Execution Plan Analysis\u003cbr\u003e\u003cbr\u003e 4. SQL processing process\u003cbr\u003e 4.1 SQL Processing Process\u003cbr\u003e 4.2 Prepare Statement\u003cbr\u003e\u003cbr\u003e 5.\u003cbr\u003e Scan Method\u003cbr\u003e 5.1 Sequential Scan\u003cbr\u003e 5.2 Index Scan  \u003cbr\u003e5.3 Bitmap Index Scan\u003cbr\u003e 5.4 Index Only Scan\u003cbr\u003e 5.5 Covering Index\u003cbr\u003e\u003cbr\u003e 6.\u003cbr\u003e Join Method\u003cbr\u003e 6.1 Nested Loop Join\u003cbr\u003e 6.2 Hash Join\u003cbr\u003e 6.3 Sort-Merge Join\u003cbr\u003e\u003cbr\u003e \u003cb\u003eAppendix\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 1.\u003cbr\u003e Anomalies according to isolation level\u003cbr\u003e 1.1 Read Committed\u003cbr\u003e 1.2 Repeatable Read\u003cbr\u003e 1.3 Serializable\u003cbr\u003e\u003cbr\u003e 2.\u003cbr\u003e Table Bloating Monitoring\u003cbr\u003e\u003cbr\u003e 3. SQL Monitoring\u003cbr\u003e 3.1 pg_stat_statements\u003cbr\u003e 3.2 pg_stat_monitor\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003ePublisher's Review\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e How are tuple versions managed to ensure data read consistency?\u003cbr\u003e Why is Vacuum necessary and what does it have to do with database performance?\u003cbr\u003e How are locks implemented for tables and tuples?\u003cbr\u003e How does the optimizer calculate the cost of SQL execution?\u003cbr\u003e Want to know about the newly introduced join method for query performance?\u003cbr\u003e\u003cbr\u003e \u003cb\u003e(introduction)\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e My first encounter with PostgreSQL was five years ago when I introduced it as an open source database for my company's solutions. \u003cbr\u003eAt the time, we only looked at PostgreSQL intermittently to find solutions whenever performance issues arose.\u003cbr\u003e However, as the saying goes, “A thirsty person digs a well,” I delved deeply into solving the problem and ended up writing a book.\u003cbr\u003e\u003cbr\u003e With the recent proliferation of cloud environments, interest in PostgreSQL is growing, and various open-source databases based on it are being released.\u003cbr\u003e Despite being an open-source environment, PostgreSQL provides powerful features for performance analysis and tuning by utilizing various performance statistics.\u003cbr\u003e In addition, the optimizer is continuously improved through version upgrades, and extension packs useful for performance analysis are also constantly being developed.\u003cbr\u003e\u003cbr\u003e This book covers the core topics essential for performance management, aimed at beginner and intermediate PostgreSQL users. \u003cbr\u003eWe cover the core features of PostgreSQL in depth, including architecture, transactions, MVCC, vacuum, locks, and SQL execution plans.\u003cbr\u003e Beyond simply describing the theory, we've written it so that you can clearly understand its internal workings through various tests and verifications.\u003cbr\u003e I hope that this structure will allow you to tackle PostgreSQL without any obstacles, and that is why I titled the book “PostgreSQL Without Obstacles.”\u003cbr\u003e In particular, we have used various pictures and visual aids to help readers easily understand content that may be considered technically difficult, and we have also provided practical examples and scripts so that readers can experience the principles firsthand.\u003cbr\u003e Note that all tests are configured to run on PostgreSQL version 14 or later.\u003cbr\u003e\u003cbr\u003e Many people helped bring this book to life. \u003cbr\u003eI am deeply grateful to Chairman Cho Jong-am, who has always emphasized the philosophy that “technicians must share their knowledge” and has reminded us of the value of knowledge sharing.\u003cbr\u003e I would also like to express my gratitude to President Koh Pyeong-seok, who supported and waited patiently for the book's publication, and to Director Jeong Dong-gi, who encouraged me to decide to write.\u003cbr\u003e Writing a book while also doing consulting work was never easy.\u003cbr\u003e Nevertheless, I would like to express my sincere gratitude to Director Kim Cheol-hwan, Senior Manager Park Gwan-gyu, and Manager Kim Gyu-min, who sacrificed their sleep and weekends to silently fulfill their responsibilities.\u003cbr\u003e I would also like to express my deepest gratitude to Senior Editor Song Yu-rim for her passion for design and editing.\u003cbr\u003e\u003cbr\u003e I believe that the path to sustainable competency in any field ultimately lies in learning.\u003cbr\u003e\u003cbr\u003e Since the path of learning is endless, I wrote this book with the mindset of ‘learning and sharing it with others.’\u003cbr\u003e\u003cbr\u003e \u003cbr\u003eAlthough I regret not being able to include more content, I hope that it will be of some help to you, the readers.\u003cbr\u003e\u003cbr\u003e December 2024\u003cbr\u003e Representative author Lim Gyeong-seok \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e GOODS SPECIFICS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate of issue:\u003c\/strong\u003e January 23, 2025\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003ePage count, weight, size:\u003c\/strong\u003e 397 pages | 1,001g | 183*258*20mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13:\u003c\/strong\u003e 9791188427222\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN10:\u003c\/strong\u003e 1188427229 \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893419638826,"sku":"140397","price":46.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/6d4cd86825bdc9e21a29ba0c41c90434.jpg?v=1765401225","url":"https:\/\/librairie.coreenne.fr\/en\/products\/140397","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}