pg_track_optimizer
Track planning decisions in comparison with execution reality
Repository
danolivo/pg_track_optimizer
https://github.com/danolivo/pg_track_optimizer
Source
pg_track_optimizer-0.9.2.tar.gz
pg_track_optimizer-0.9.2.tar.gz
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
pg_track_optimizer | 0.9.2 | STAT | MIT | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 6270 | pg_track_optimizer | No | Yes | Yes | Yes | No | Yes | - |
| Related | online_advisor pg_qualstats hypopg index_advisor pg_hint_plan pg_stat_plans plan_filter pg_relusage pg_strom pg_orca |
|---|
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.9.2 | 1817161514 | pg_track_optimizer | - |
| RPM | PIGSTY | 0.9.2 | 1817161514 | pg_track_optimizer_$v | - |
| DEB | PIGSTY | 0.9.2 | 1817161514 | postgresql-$v-pg-track-optimizer | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 0.9.2 el8.x86_64.pg18 : pg_track_optimizer_18 pg_track_optimizer_18-0.9.2-1PIGSTY.el8.x86_64.rpm
| PIGSTY 0.9.2 el8.x86_64.pg17 : pg_track_optimizer_17 pg_track_optimizer_17-0.9.2-1PIGSTY.el8.x86_64.rpm
| N/A | N/A | N/A |
| el8.aarch64 | PIGSTY 0.9.2 el8.aarch64.pg18 : pg_track_optimizer_18 pg_track_optimizer_18-0.9.2-1PIGSTY.el8.aarch64.rpm
| PIGSTY 0.9.2 el8.aarch64.pg17 : pg_track_optimizer_17 pg_track_optimizer_17-0.9.2-1PIGSTY.el8.aarch64.rpm
| N/A | N/A | N/A |
| el9.x86_64 | PIGSTY 0.9.2 el9.x86_64.pg18 : pg_track_optimizer_18 pg_track_optimizer_18-0.9.2-1PIGSTY.el9.x86_64.rpm
| PIGSTY 0.9.2 el9.x86_64.pg17 : pg_track_optimizer_17 pg_track_optimizer_17-0.9.2-1PIGSTY.el9.x86_64.rpm
| N/A | N/A | N/A |
| el9.aarch64 | PIGSTY 0.9.2 el9.aarch64.pg18 : pg_track_optimizer_18 pg_track_optimizer_18-0.9.2-1PIGSTY.el9.aarch64.rpm
| PIGSTY 0.9.2 el9.aarch64.pg17 : pg_track_optimizer_17 pg_track_optimizer_17-0.9.2-1PIGSTY.el9.aarch64.rpm
| N/A | N/A | N/A |
| el10.x86_64 | PIGSTY 0.9.2 el10.x86_64.pg18 : pg_track_optimizer_18 pg_track_optimizer_18-0.9.2-1PIGSTY.el10.x86_64.rpm
| PIGSTY 0.9.2 el10.x86_64.pg17 : pg_track_optimizer_17 pg_track_optimizer_17-0.9.2-1PIGSTY.el10.x86_64.rpm
| N/A | N/A | N/A |
| el10.aarch64 | PIGSTY 0.9.2 el10.aarch64.pg18 : pg_track_optimizer_18 pg_track_optimizer_18-0.9.2-1PIGSTY.el10.aarch64.rpm
| PIGSTY 0.9.2 el10.aarch64.pg17 : pg_track_optimizer_17 pg_track_optimizer_17-0.9.2-1PIGSTY.el10.aarch64.rpm
| N/A | N/A | N/A |
| d12.x86_64 | PIGSTY 0.9.2 d12.x86_64.pg18 : postgresql-18-pg-track-optimizer postgresql-18-pg-track-optimizer_0.9.2-1PIGSTY~bookworm_amd64.deb
| PIGSTY 0.9.2 d12.x86_64.pg17 : postgresql-17-pg-track-optimizer postgresql-17-pg-track-optimizer_0.9.2-1PIGSTY~bookworm_amd64.deb
| N/A | N/A | N/A |
| d12.aarch64 | PIGSTY 0.9.2 d12.aarch64.pg18 : postgresql-18-pg-track-optimizer postgresql-18-pg-track-optimizer_0.9.2-1PIGSTY~bookworm_arm64.deb
| PIGSTY 0.9.2 d12.aarch64.pg17 : postgresql-17-pg-track-optimizer postgresql-17-pg-track-optimizer_0.9.2-1PIGSTY~bookworm_arm64.deb
| N/A | N/A | N/A |
| d13.x86_64 | PIGSTY 0.9.2 d13.x86_64.pg18 : postgresql-18-pg-track-optimizer postgresql-18-pg-track-optimizer_0.9.2-1PIGSTY~trixie_amd64.deb
| PIGSTY 0.9.2 d13.x86_64.pg17 : postgresql-17-pg-track-optimizer postgresql-17-pg-track-optimizer_0.9.2-1PIGSTY~trixie_amd64.deb
| N/A | N/A | N/A |
| d13.aarch64 | PIGSTY 0.9.2 d13.aarch64.pg18 : postgresql-18-pg-track-optimizer postgresql-18-pg-track-optimizer_0.9.2-1PIGSTY~trixie_arm64.deb
| PIGSTY 0.9.2 d13.aarch64.pg17 : postgresql-17-pg-track-optimizer postgresql-17-pg-track-optimizer_0.9.2-1PIGSTY~trixie_arm64.deb
| N/A | N/A | N/A |
| u22.x86_64 | PIGSTY 0.9.2 u22.x86_64.pg18 : postgresql-18-pg-track-optimizer postgresql-18-pg-track-optimizer_0.9.2-1PIGSTY~jammy_amd64.deb
| PIGSTY 0.9.2 u22.x86_64.pg17 : postgresql-17-pg-track-optimizer postgresql-17-pg-track-optimizer_0.9.2-1PIGSTY~jammy_amd64.deb
| N/A | N/A | N/A |
| u22.aarch64 | PIGSTY 0.9.2 u22.aarch64.pg18 : postgresql-18-pg-track-optimizer postgresql-18-pg-track-optimizer_0.9.2-1PIGSTY~jammy_arm64.deb
| PIGSTY 0.9.2 u22.aarch64.pg17 : postgresql-17-pg-track-optimizer postgresql-17-pg-track-optimizer_0.9.2-1PIGSTY~jammy_arm64.deb
| N/A | N/A | N/A |
| u24.x86_64 | PIGSTY 0.9.2 u24.x86_64.pg18 : postgresql-18-pg-track-optimizer postgresql-18-pg-track-optimizer_0.9.2-1PIGSTY~noble_amd64.deb
| PIGSTY 0.9.2 u24.x86_64.pg17 : postgresql-17-pg-track-optimizer postgresql-17-pg-track-optimizer_0.9.2-1PIGSTY~noble_amd64.deb
| N/A | N/A | N/A |
| u24.aarch64 | PIGSTY 0.9.2 u24.aarch64.pg18 : postgresql-18-pg-track-optimizer postgresql-18-pg-track-optimizer_0.9.2-1PIGSTY~noble_arm64.deb
| PIGSTY 0.9.2 u24.aarch64.pg17 : postgresql-17-pg-track-optimizer postgresql-17-pg-track-optimizer_0.9.2-1PIGSTY~noble_arm64.deb
| N/A | N/A | N/A |
| u26.x86_64 | PIGSTY 0.9.2 u26.x86_64.pg18 : postgresql-18-pg-track-optimizer postgresql-18-pg-track-optimizer_0.9.2-1PIGSTY~resolute_amd64.deb
| PIGSTY 0.9.2 u26.x86_64.pg17 : postgresql-17-pg-track-optimizer postgresql-17-pg-track-optimizer_0.9.2-1PIGSTY~resolute_amd64.deb
| N/A | N/A | N/A |
| u26.aarch64 | PIGSTY 0.9.2 u26.aarch64.pg18 : postgresql-18-pg-track-optimizer postgresql-18-pg-track-optimizer_0.9.2-1PIGSTY~resolute_arm64.deb
| PIGSTY 0.9.2 u26.aarch64.pg17 : postgresql-17-pg-track-optimizer postgresql-17-pg-track-optimizer_0.9.2-1PIGSTY~resolute_arm64.deb
| N/A | N/A | N/A |
Build
You can build the RPM / DEB packages for pg_track_optimizer using pig build:
Install
You can install pg_track_optimizer directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Install
pig
dnf
apt
Preload:
Create Extension:
Usage
pg_track_optimizer: detect suboptimal query plans via cardinality estimation errors
pg_track_optimizer automatically detects queries with poor cardinality estimates by comparing planner predictions to actual execution results. It calculates multiple error metrics using logarithmic scale.
Enable Tracking
Viewing Tracked Queries
Error Metrics
| Metric | Description |
|---|---|
avg_error | Simple average of log-scale errors across plan nodes |
rms_error | Root Mean Square, emphasizes large errors |
twa_error | Time-Weighted Average, highlights slow nodes |
wca_error | Cost-Weighted Average, highlights high-cost nodes |
f_join_filter | JOIN filtering overhead factor |
f_scan_filter | Scan filtering overhead factor |
Managing Statistics
Configuration
| Parameter | Default | Description |
|---|---|---|
pg_track_optimizer.mode | disabled | disabled, normal, forced |
pg_track_optimizer.log_min_error | (none) | Error threshold for logging EXPLAIN |
pg_track_optimizer.hash_mem | (default) | Shared memory limit in KB |
pg_track_optimizer.auto_flush | on | Auto-save stats on backend shutdown |
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)