Pganalyze Blog RSS Feed

Pganalyze Blog RSS Feed Feed abonnieren
Monitoring Postgres and tuning query performance
Aktualisiert: vor 1 Stunde 15 Minuten

Postgres in Production Special Series: Configuring pg_stat_statements to Reduce Deallocations (Part 5)

30. Juni 2026 - 14:00

In Part 5 of this special Postgres in Production deep dive series, Ryan Booz turns to configuration. There are only a handful of settings that control how pg_stat_statements behaves, but they decide how much data you keep and how much you lose. This episode covers how to see when you’re losing data through deallocations, what each setting actually does, and the changes (in settings and in your application) that reduce data loss over time.

Postgres in Production Special Series: How pg_stat_statements Decides What to Keep (Part 4)

2. Juni 2026 - 14:00

In Part 4 of this special “Postgres in Production” deep dive series, Ryan Booz takes you into the pg_stat_statements source code to show how it decides what to keep when the hash table fills up. There’s a per-query counter you never see in the view, eviction sorts every entry on every deallocation, only completed executions get stored at all, and a higher pg_stat_statements.max is not free.

Postgres in Production Special Series: Where Your Query Text Actually Lives (Part 3)

19. Mai 2026 - 14:00

In Part 3 of this special “Postgres in Production” deep dive series, Ryan Booz walks through where pg_stat_statements actually stores your query text. Spoiler: it’s not in the in-memory hash table you might expect. He covers the file’s location on disk, how it grows, the pointer mechanism that ties hash table entries back to your SQL, the quirky consequence that the same query text can appear multiple times, and why ORM-heavy workloads can balloon this file to hundreds of megabytes.

Postgres in Production Special Series: What Makes a Statement Unique (Part 2)

6. Mai 2026 - 14:00

In Part 2 of this special “Postgres in Production” deep dive series, Ryan Booz walks through what actually makes an entry in pg_stat_statements “unique”, why uniqueness is structural rather than textual, and how a few common patterns (ORMs, dynamic SQL, multi-database setups) can quietly fill up the in-memory hash table and cost you visibility into the queries that matter most.

Postgres in Production Special Series: What pg_stat_statements Is and Isn't (Part 1)

13. April 2026 - 14:00

In this special series of “Postgres in Production”, we take a deep dive into pg_stat_statements — the essential Postgres extension for tracking query performance. In Part 1, Ryan Booz covers what pg_stat_statements is, how to enable it, what it tracks, and critically, what it doesn’t track and why that matters for your monitoring setup.

Waiting for Postgres 19: Reduced timing overhead for EXPLAIN ANALYZE with RDTSC

11. April 2026 - 14:00

In today’s E122 of “5mins of Postgres” we’re talking about the upcoming Postgres 19 release, and how a change in the Postgres instrumentation handling reduces overhead of timing measurements in EXPLAIN ANALYZE using the RDTSC instruction, and why this will allow turning on auto_explain.log_timing for more workloads.

Waiting for Postgres 19: Reduced timing overhead for EXPLAIN ANALYZE with RDTSC

11. April 2026 - 14:00
In today’s E122 of “5mins of Postgres” we're talking about the upcoming Postgres 19 release, and how a change in the Postgres instrumentation handling reduces overhead of timing measurements in EXPLAIN ANALYZE using the RDTSC instruction, and why this will allow turning on auto_explain.log_timing for more workloads.