PostgreSQL Internals

Configuring PostgreSQL for optimal UNDO and REDO operations

To configure PostgreSQL for optimal UNDO and REDO operations, you must consider several configuration parameters that directly control the behavior of the database engine. Specifically, these parameters determine how PostgreSQL manages transaction logging and recovery, […]

No Picture
PostgreSQL Internals

How PostgreSQL uses maintenance_work_mem for VACUUM?

In PostgreSQL, the maintenance_work_mem configuration parameter controls how much memory the system allocates for maintenance operations, including VACUUM. When you run a VACUUM operation, PostgreSQL sorts and processes data pages. This process helps reclaim disk […]

No Picture
PostgreSQL Performance

Analyzing Index Bloat in PostgreSQL

Introduction: Index bloat can significantly impact the performance and storage efficiency of a PostgreSQL database. Therefore, to identify and understand the extent of index bloat, we can use the SQL query provided below. In this […]

No Picture
Linux Performance

How to troubleshoot thread contention happening to Linux Server?

Linux Thread Contention: How to Troubleshoot? Tip: Troubleshooting Linux thread contention often demands collaboration. Therefore, involve developers, system administrators, and performance engineers early to resolve issues efficiently and holistically.

No Picture
InnoDB

How is Cache Eviction implemented in InnoDB?

Understanding InnoDB Buffer Pool Management InnoDB manages cache eviction using an algorithm similar to the Least Recently Used (LRU) algorithm. However, this method is more complex than a simple LRU due to a feature called […]

No Picture
InnoDB

Troubleshooting Flush Locks in InnoDB

InnoDB Flush Locks InnoDB writes data to disk by using a method called “fuzzy checkpointing,” which spreads out writes to avoid sudden I/O bursts and maintain performance.  However, under certain circumstances, such as when there […]