About

This service lets you analyze, visualize and share Postgres Query Plans. It will compute and highlight the most important information to make them easier to understand.

It is brought to you by Dalibo.

Acknowledgements

This app was inspired and heavily influenced by the excellent explain.depesz.com. Both the tool and the corresponding help files are a great resource to learn about Postgres and its planner.

It's also heavily inspired by PEV of which it can be considered a fork.

Usage tips

Format

To get the most out of it, we recommend generating a query plan using the following line: EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS, FORMAT JSON). It is recommend submitting a (decently formatted) SQL query that generated the plan.

PEV2 can also parse text although the JSON format usually has better support.

POST

You can send plans using HTTP POST to https://explain.dalibo.com/new.
The request parameters to send are title, plan and optionaly query.
Here's an example using a HTML form:

<form action="https://explain.dalibo.com/new" method="POST">
  <input type="text" name="title" value="A title for the plan"/>
  <textarea name="plan" rows="10" cols="50">
  Seq Scan on tenk1  (cost=0.00..333.00 rows=10000 width=148)
  </textarea>
  <textarea name="query" cols="50"></textarea>
  <button type="submit">Submit</button>
</form>
Here's an example using cURL:
$ curl -Ls -w %{url_effective} -d '{"plan":"Seq Scan on tenk1 (cost=0.00..333.00 rows=10000 width=148)"}' -H "Content-Type: application/json" -X POST https://explain.dalibo.com/new -o /dev/null

Directly from psql

You can send your plans directly from psql using the plan-exporter utility.

Help us improve this service

This application uses PEV2 JS library to analyze and display the plan.

Please report bugs on github.

Retention

Plans are not sent to any server. Everything works locally using localStorage. Unless you click the share button. In this case, the plan is stored permanently in the database. You can then share the link to anyone.

You can delete the saved plans using the list in the home page. Make sure you're using the same browser.

For a standalone (browser only) version of this app you can downloable an archive that you can run locally https://github.com/dalibo/pev2/releases/latest/.