1 unstable release

0.1.0 Oct 6, 2020

#6 in #explain

MIT license

26KB
590 lines

Rustcmdpev

A command-line Rust Postgres query visualizer, heavily inspired by the excellent (web-based) pev. It started out being ported from gocmdpev

Demo

Install

Overview

Usage

Generate a query plan with all the trimmings by prefixing your query with:

EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS, FORMAT JSON)

Then pipe the resulting query plan into rustcmdpev.

On MacOS you can just grab a query on your clipboard and run this one-liner:

pbpaste | sed '1s/^/EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS, FORMAT JSON) /' | psql -qXAt <DATABASE> | rustcmdpev

Local development

View sample output

cargo run -- '[{"Plan":{"Alias":"c0","Node Type":"Seq Scan","Parallel Aware":false,"Plan Rows":50,"Plan Width":1572,"Relation Name":"coaches","Startup Cost":0.0,"Total Cost":10.5}}]'

Testing

To see output from print statements, run with nocapture flag:

cargo test -- --nocapture

Dependencies

~4–12MB
~129K SLoC