Journey of developing a performance optimization feature in PGSQL | POSETTE 2026

Microsoft Developer · Beginner ·🔧 Backend Engineering ·4w ago

Key Takeaways

Develops a performance optimization feature in PostgreSQL using systematic approach to diagnosing performance issues

Original Description

Dive into a systematic approach to diagnosing performance issues and making optimizations for PostgreSQL. Rahila Syed (PostgreSQL developer) shares insights in her talk “Journey of developing a performance optimization feature in PostgreSQL” at POSETTE: An Event for Postgres 2026. Abstract: In this talk, I will share the journey of identifying and optimizing a performance bottleneck in PostgreSQL. The session will walk through a systematic approach to diagnosing performance issues — distinguishing whether the bottleneck lies in the CPU, I/O, or network — and how iterative profiling and analysis can guide effective optimizations. Using perf and other diagnostic tools, we’ll examine how bottlenecks can shift during optimization, sometimes masking real gains. I will demonstrate how to effectively measure improvement in performance through careful tuning of the database, along with use of pgbench and custom benchmarking scripts tailored to the optimization under test. As a practical example, we will explore an optimization in PostgreSQL’s physical replication that enables the WAL sender to transmit WAL records to standbys before they are flushed to disk on the primary. This enhancement aims to reduce replication latency by leveraging WAL buffers to send data more proactively, minimizing disk reads and improving network utilization. For large transactions, this approach allows most WAL data to be sent in parallel with ongoing writes on master, aligning the flush operations on primary and standby more closely and significantly reducing replication lag. Rahila Syed has approximately 13 years of experience working as a PostgreSQL developer. ► Video chapters: ⏩ 00:00 – Music & introduction ⏩ 00:48 – Physical replication basics ⏩ 03:54 – WAL flow from primary to standby ⏩ 05:26 – WAL buffers, fsync, and tuning ⏩ 08:41 – WAL sender loop and behavior ⏩ 15:51 – Perf profiling and flamegraph insights ⏩ 22:01 – Sending unflushed WAL ⏩ 26:03 – Benchmark results & performance gai
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related Reads

📰
10 Most Common Mistakes Java Developers Make in Interviews
Learn the common mistakes Java developers make in interviews and how to avoid them to improve your chances of success
Medium · Programming
📰
# C++ Error Messages Translated — 10 Common Compilation & Link Errors Explained
Learn to decipher 10 common C++ error messages for compilation and linking, improving debugging efficiency
Dev.to · Yilong Wu
📰
# Picking What to Read Next: The Trade-offs of Ranked-Choice Voting in a Django App
Learn how to implement ranked-choice voting in a Django app, weighing the trade-offs and complexities involved
Medium · Python
📰
The Ultimate Rust ORM Comparison 2026: Diesel vs SQLx vs SeaORM vs Rusqlite — Pick Your Powerhouse!
Compare top Rust ORMs Diesel, SQLx, SeaORM, and Rusqlite to choose the best fit for your project
Medium · Programming
Up next
Beginners Guide to GPT4 API & ChatGPT 3.5 Turbo API Tutorial
Adrian Twarog
Watch →