The utility receives Postgres Query Plans from psql
and sends them to a visualizer for sharing.
It will compute and highlight the most important information to make them easier to understand.
It's highly recommended installing a specific version of the plan-exporter
available on the releases page.
To quickly install the tool on Linux, download and decompress the binary, use an example:
wget https://github.com/agneum/plan-exporter/releases/download/v0.0.5/plan-exporter-0.0.5-linux-amd64.tar.gz
tar -zxvf plan-exporter-0.0.5-linux-amd64.tar.gz
sudo mv plan-exporter-*/plan-exporter /usr/local/bin/
rm -rf ./plan-exporter-*
Version 1.13+
is required.
git clone [email protected]:agneum/plan-exporter.git
cd plan-exporter
go install github.com/agneum/plan-exporter
On default, make install puts the compiled binary in go/bin
.
-
Run
psql
-
Set up output to the query plan exporter:
postgres=# \o | plan-exporter
- You may wish to specify
--target [dalibo|depesz|tensor]
to customize your visualizer - You may also specify
--post-url <URL>
if you are deploying one of these targets on-premise
- You may wish to specify
-
Run explain query:
postgres=# explain select 1; postgres=# QUERY PLAN ------------------------------------------------------ Seq Scan on hypo (cost=0.00..180.00 rows=1 width=0) Filter: (id = 1) (2 rows) Do you want to post this plan to the visualizer? Send '\qecho Y' to confirm
-
Confirm of posting the plan to the visualizer:
\qecho Y
postgres=# \qecho Y postgres=# Posting to the visualizer...
That's it! Receive the link!
The plan has been posted successfully. URL: https://explain.depesz.com/s/XXX postgres=#
--target
- (string, optional) - defines a visualizer to export query plans. Available targets:depesz
- https://explain.depesz.com [default]dalibo
- https://explain.dalibo.comtensor
- https://explain.tensor.ru
--post-url
- (string, optional, default: "") - the absolute URL to which the<form>
willPOST
to. A good reference would be to look for theaction
param in the<form>
tag.--auto-confirm
(bool, optional, default: false) - send an execution plan automatically without additional confirmation. The option allows usingplan-exporter
outsidepsql
. For example,psql -f my_explain_file.sql | plan-exporter --target=dalibo --auto-confirm
Follow the news and releases on twitter.