How darafarm/risk-controlled-postgresql-planner-steering works
RiskSteer is a PostgreSQL query-planner steering research system: it inspects a query plan, predicts a join-planner configuration, and applies steering only when predicted savings clear a risk threshold. The README documents this intended pre-execution workflow and its four planner arms. The sampled code primarily implements benchmark collection, model evaluation, analysis, and visualization; it does not show a deployed pre-execution policy or risk gate, so those relationships are documented rather than source-verified.
Main entry points: src Plan Inspection · job_queries_scaled JOB Workload · job_runner_10queries.py Arm Benchmark · train_model.py Model Evaluation
Components 14
Query Steering
- Plan Inspection
src - Plan Features
src/untitled11.py - Arm Classifier
src/train_model.py - Risk Threshold
src/train_model.py - Planner Arms
src/untitled11.py
Benchmark Experiments
- JOB Workload
queries/job_queries_scaled - Arm Benchmark
src/job_runner_10queries.py - Run Dataset
src/ML_dataset.py
Modeling and Analysis
- Feature Dataset
src/train_model.py - Model Evaluation
src/train_model.py - Oracle Analysis
src/analysis_904.py
Results and Reporting
- Result Plots
src/visualization.py
Other components
- Query User
- PostgreSQL
Connections 16
- Query User → JOB Workload: submits query
README.md - JOB Workload → Plan Inspection: supplies query
README.md - Plan Inspection → PostgreSQL: requests plan
README.md - Plan Inspection → Plan Features: returns plan
README.md - Plan Features → Arm Classifier: provides features
README.md - Arm Classifier → Risk Threshold: predicts arm
README.md - Risk Threshold → Planner Arms: selects or defaults
README.md - Planner Arms → PostgreSQL: sets planner options
README.md - PostgreSQL → Run Dataset: records outcomes
README.md - JOB Workload → Arm Benchmark: runs workload
src/job_runner_10queries.py - Arm Benchmark → PostgreSQL: executes EXPLAIN ANALYZE
src/job_runner_10queries.py - Arm Benchmark → Run Dataset: inserts run records
src/ML_dataset.py - Run Dataset → Feature Dataset: provides samples
README.md - Feature Dataset → Model Evaluation: trains and evaluates
src/train_model.py - Model Evaluation → Oracle Analysis: compares outcomes
README.md - Model Evaluation → Result Plots: summarizes results
README.md