
Nitin Jadhav
PostgreSQL Contributor, Senior Software Engineer @ Microsoft
Nitin Jadhav is a Senior Software Engineer with extensive experience in database systems, particularly PostgreSQL. Currently working at Microsoft, Nitin has been part of the Azure Database for PostgreSQL team for the past few years. His primary responsibilities include onboarding new major and minor versions of PostgreSQL and integrating extensions into the managed database. Additionally, Nitin has been involved in handling customer issues, including analyzing and resolving various database corruption problems, and contributing to the PostgreSQL community as needed. Before joining Microsoft, Nitin worked at EDB, where he focused more on contributing to the PostgreSQL community.
POSETTE 2025 Talk
Debugging Data Corruption in PostgreSQL: A Systematic Approach
Data corruption in PostgreSQL can severely impact database integrity, leading to service disruptions, data loss, and incorrect query results. This talk introduces a structured framework for diagnosing and addressing such issues using PostgreSQL’s built-in tools, Linux utilities, and advanced debugging techniques. Drawing from real-world scenarios, this framework highlights practical methods for detecting errors like "Could not read block," "Cannot freeze committed xmax," and "Could not locate valid checkpoint."
The talk will also propose enhancements to PostgreSQL to simplify debugging and increase resilience. Suggestions include improving error messages to provide richer context, extending pg_verify_checksums to offer detailed block-level diagnostic reports, and introducing built-in debugging interfaces for easier analysis of backend state and block data.
By the end of this session, attendees will have a clear methodology to detect and resolve data corruption in PostgreSQL, gain insights into preventive measures, and explore ideas to enhance PostgreSQL’s support for such investigations. This talk aims to empower DB admin, developers, and PostgreSQL hackers alike, offering tools, strategies, and suggestions to ensure long-term reliability and improved debugging capabilities.
Join the conversation
Use the hashtag #PosetteConf