explain_ui

explain_ui

pg_explain_ui : easily jump into a visual plan UI for any SQL query

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
6540
explain_ui
pg_explain_ui
0.0.2
STAT
PostgreSQL
Rust
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d--
No
Yes
No
Yes
no
no
Relationships
See Also
pg_show_plans
auto_explain
pg_stat_statements
pg_hint_plan
pg_qualstats
pg_store_plans
pg_profile
powa

manual updated pgrx by Vonng

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PIGSTY
0.0.2
18
17
16
15
14
pg_explain_ui-
RPM
PIGSTY
0.0.2
18
17
16
15
14
pg_explain_ui_$v-
DEB
PIGSTY
0.0.2
18
17
16
15
14
postgresql-$v-pg-explain-ui-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
el8.aarch64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
el9.x86_64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
el9.aarch64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
el10.x86_64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
el10.aarch64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
d12.x86_64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
d12.aarch64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
d13.x86_64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
d13.aarch64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
u22.x86_64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
u22.aarch64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
u24.x86_64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
u24.aarch64
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PIGSTY 0.0.2
PackageVersionOSORGSIZEFile URL
pg_explain_ui_180.0.2el8.x86_64pigsty1.1 MiBpg_explain_ui_18-0.0.2-1PIGSTY.el8.x86_64.rpm
pg_explain_ui_180.0.2el8.aarch64pigsty935.6 KiBpg_explain_ui_18-0.0.2-1PIGSTY.el8.aarch64.rpm
pg_explain_ui_180.0.2el9.x86_64pigsty1.1 MiBpg_explain_ui_18-0.0.2-1PIGSTY.el9.x86_64.rpm
pg_explain_ui_180.0.2el9.aarch64pigsty988.3 KiBpg_explain_ui_18-0.0.2-1PIGSTY.el9.aarch64.rpm
pg_explain_ui_180.0.2el10.x86_64pigsty1.1 MiBpg_explain_ui_18-0.0.2-1PIGSTY.el10.x86_64.rpm
pg_explain_ui_180.0.2el10.aarch64pigsty987.6 KiBpg_explain_ui_18-0.0.2-1PIGSTY.el10.aarch64.rpm
postgresql-18-pg-explain-ui0.0.2d12.x86_64pigsty880.7 KiBpostgresql-18-pg-explain-ui_0.0.2-1PIGSTY~bookworm_amd64.deb
postgresql-18-pg-explain-ui0.0.2d12.aarch64pigsty717.0 KiBpostgresql-18-pg-explain-ui_0.0.2-1PIGSTY~bookworm_arm64.deb
postgresql-18-pg-explain-ui0.0.2d13.x86_64pigsty879.9 KiBpostgresql-18-pg-explain-ui_0.0.2-1PIGSTY~trixie_amd64.deb
postgresql-18-pg-explain-ui0.0.2d13.aarch64pigsty716.6 KiBpostgresql-18-pg-explain-ui_0.0.2-1PIGSTY~trixie_arm64.deb
postgresql-18-pg-explain-ui0.0.2u22.x86_64pigsty981.7 KiBpostgresql-18-pg-explain-ui_0.0.2-1PIGSTY~jammy_amd64.deb
postgresql-18-pg-explain-ui0.0.2u22.aarch64pigsty846.9 KiBpostgresql-18-pg-explain-ui_0.0.2-1PIGSTY~jammy_arm64.deb
postgresql-18-pg-explain-ui0.0.2u24.x86_64pigsty968.9 KiBpostgresql-18-pg-explain-ui_0.0.2-1PIGSTY~noble_amd64.deb
postgresql-18-pg-explain-ui0.0.2u24.aarch64pigsty836.3 KiBpostgresql-18-pg-explain-ui_0.0.2-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_explain_ui_170.0.2el8.x86_64pigsty1.1 MiBpg_explain_ui_17-0.0.2-1PIGSTY.el8.x86_64.rpm
pg_explain_ui_170.0.2el8.aarch64pigsty935.6 KiBpg_explain_ui_17-0.0.2-1PIGSTY.el8.aarch64.rpm
pg_explain_ui_170.0.2el9.x86_64pigsty1.1 MiBpg_explain_ui_17-0.0.2-1PIGSTY.el9.x86_64.rpm
pg_explain_ui_170.0.2el9.aarch64pigsty989.0 KiBpg_explain_ui_17-0.0.2-1PIGSTY.el9.aarch64.rpm
pg_explain_ui_170.0.2el10.x86_64pigsty1.1 MiBpg_explain_ui_17-0.0.2-1PIGSTY.el10.x86_64.rpm
pg_explain_ui_170.0.2el10.aarch64pigsty988.7 KiBpg_explain_ui_17-0.0.2-1PIGSTY.el10.aarch64.rpm
postgresql-17-pg-explain-ui0.0.2d12.x86_64pigsty879.8 KiBpostgresql-17-pg-explain-ui_0.0.2-1PIGSTY~bookworm_amd64.deb
postgresql-17-pg-explain-ui0.0.2d12.aarch64pigsty716.2 KiBpostgresql-17-pg-explain-ui_0.0.2-1PIGSTY~bookworm_arm64.deb
postgresql-17-pg-explain-ui0.0.2d13.x86_64pigsty880.0 KiBpostgresql-17-pg-explain-ui_0.0.2-1PIGSTY~trixie_amd64.deb
postgresql-17-pg-explain-ui0.0.2d13.aarch64pigsty716.9 KiBpostgresql-17-pg-explain-ui_0.0.2-1PIGSTY~trixie_arm64.deb
postgresql-17-pg-explain-ui0.0.2u22.x86_64pigsty981.3 KiBpostgresql-17-pg-explain-ui_0.0.2-1PIGSTY~jammy_amd64.deb
postgresql-17-pg-explain-ui0.0.2u22.aarch64pigsty846.8 KiBpostgresql-17-pg-explain-ui_0.0.2-1PIGSTY~jammy_arm64.deb
postgresql-17-pg-explain-ui0.0.2u24.x86_64pigsty970.2 KiBpostgresql-17-pg-explain-ui_0.0.2-1PIGSTY~noble_amd64.deb
postgresql-17-pg-explain-ui0.0.2u24.aarch64pigsty836.2 KiBpostgresql-17-pg-explain-ui_0.0.2-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_explain_ui_160.0.2el8.x86_64pigsty1.1 MiBpg_explain_ui_16-0.0.2-1PIGSTY.el8.x86_64.rpm
pg_explain_ui_160.0.2el8.aarch64pigsty935.6 KiBpg_explain_ui_16-0.0.2-1PIGSTY.el8.aarch64.rpm
pg_explain_ui_160.0.2el9.x86_64pigsty1.1 MiBpg_explain_ui_16-0.0.2-1PIGSTY.el9.x86_64.rpm
pg_explain_ui_160.0.2el9.aarch64pigsty988.1 KiBpg_explain_ui_16-0.0.2-1PIGSTY.el9.aarch64.rpm
pg_explain_ui_160.0.2el10.x86_64pigsty1.1 MiBpg_explain_ui_16-0.0.2-1PIGSTY.el10.x86_64.rpm
pg_explain_ui_160.0.2el10.aarch64pigsty988.7 KiBpg_explain_ui_16-0.0.2-1PIGSTY.el10.aarch64.rpm
postgresql-16-pg-explain-ui0.0.2d12.x86_64pigsty880.4 KiBpostgresql-16-pg-explain-ui_0.0.2-1PIGSTY~bookworm_amd64.deb
postgresql-16-pg-explain-ui0.0.2d12.aarch64pigsty716.7 KiBpostgresql-16-pg-explain-ui_0.0.2-1PIGSTY~bookworm_arm64.deb
postgresql-16-pg-explain-ui0.0.2d13.x86_64pigsty880.2 KiBpostgresql-16-pg-explain-ui_0.0.2-1PIGSTY~trixie_amd64.deb
postgresql-16-pg-explain-ui0.0.2d13.aarch64pigsty716.3 KiBpostgresql-16-pg-explain-ui_0.0.2-1PIGSTY~trixie_arm64.deb
postgresql-16-pg-explain-ui0.0.2u22.x86_64pigsty979.8 KiBpostgresql-16-pg-explain-ui_0.0.2-1PIGSTY~jammy_amd64.deb
postgresql-16-pg-explain-ui0.0.2u22.aarch64pigsty846.7 KiBpostgresql-16-pg-explain-ui_0.0.2-1PIGSTY~jammy_arm64.deb
postgresql-16-pg-explain-ui0.0.2u24.x86_64pigsty970.4 KiBpostgresql-16-pg-explain-ui_0.0.2-1PIGSTY~noble_amd64.deb
postgresql-16-pg-explain-ui0.0.2u24.aarch64pigsty837.1 KiBpostgresql-16-pg-explain-ui_0.0.2-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_explain_ui_150.0.2el8.x86_64pigsty1.1 MiBpg_explain_ui_15-0.0.2-1PIGSTY.el8.x86_64.rpm
pg_explain_ui_150.0.2el8.aarch64pigsty935.5 KiBpg_explain_ui_15-0.0.2-1PIGSTY.el8.aarch64.rpm
pg_explain_ui_150.0.2el9.x86_64pigsty1.1 MiBpg_explain_ui_15-0.0.2-1PIGSTY.el9.x86_64.rpm
pg_explain_ui_150.0.2el9.aarch64pigsty987.8 KiBpg_explain_ui_15-0.0.2-1PIGSTY.el9.aarch64.rpm
pg_explain_ui_150.0.2el10.x86_64pigsty1.1 MiBpg_explain_ui_15-0.0.2-1PIGSTY.el10.x86_64.rpm
pg_explain_ui_150.0.2el10.aarch64pigsty987.8 KiBpg_explain_ui_15-0.0.2-1PIGSTY.el10.aarch64.rpm
postgresql-15-pg-explain-ui0.0.2d12.x86_64pigsty880.2 KiBpostgresql-15-pg-explain-ui_0.0.2-1PIGSTY~bookworm_amd64.deb
postgresql-15-pg-explain-ui0.0.2d12.aarch64pigsty716.6 KiBpostgresql-15-pg-explain-ui_0.0.2-1PIGSTY~bookworm_arm64.deb
postgresql-15-pg-explain-ui0.0.2d13.x86_64pigsty880.1 KiBpostgresql-15-pg-explain-ui_0.0.2-1PIGSTY~trixie_amd64.deb
postgresql-15-pg-explain-ui0.0.2d13.aarch64pigsty717.1 KiBpostgresql-15-pg-explain-ui_0.0.2-1PIGSTY~trixie_arm64.deb
postgresql-15-pg-explain-ui0.0.2u22.x86_64pigsty979.6 KiBpostgresql-15-pg-explain-ui_0.0.2-1PIGSTY~jammy_amd64.deb
postgresql-15-pg-explain-ui0.0.2u22.aarch64pigsty847.4 KiBpostgresql-15-pg-explain-ui_0.0.2-1PIGSTY~jammy_arm64.deb
postgresql-15-pg-explain-ui0.0.2u24.x86_64pigsty969.8 KiBpostgresql-15-pg-explain-ui_0.0.2-1PIGSTY~noble_amd64.deb
postgresql-15-pg-explain-ui0.0.2u24.aarch64pigsty837.1 KiBpostgresql-15-pg-explain-ui_0.0.2-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_explain_ui_140.0.2el8.x86_64pigsty1.1 MiBpg_explain_ui_14-0.0.2-1PIGSTY.el8.x86_64.rpm
pg_explain_ui_140.0.2el8.aarch64pigsty935.5 KiBpg_explain_ui_14-0.0.2-1PIGSTY.el8.aarch64.rpm
pg_explain_ui_140.0.2el9.x86_64pigsty1.1 MiBpg_explain_ui_14-0.0.2-1PIGSTY.el9.x86_64.rpm
pg_explain_ui_140.0.2el9.aarch64pigsty987.3 KiBpg_explain_ui_14-0.0.2-1PIGSTY.el9.aarch64.rpm
pg_explain_ui_140.0.2el10.x86_64pigsty1.1 MiBpg_explain_ui_14-0.0.2-1PIGSTY.el10.x86_64.rpm
pg_explain_ui_140.0.2el10.aarch64pigsty987.6 KiBpg_explain_ui_14-0.0.2-1PIGSTY.el10.aarch64.rpm
postgresql-14-pg-explain-ui0.0.2d12.x86_64pigsty879.2 KiBpostgresql-14-pg-explain-ui_0.0.2-1PIGSTY~bookworm_amd64.deb
postgresql-14-pg-explain-ui0.0.2d12.aarch64pigsty717.2 KiBpostgresql-14-pg-explain-ui_0.0.2-1PIGSTY~bookworm_arm64.deb
postgresql-14-pg-explain-ui0.0.2d13.x86_64pigsty879.9 KiBpostgresql-14-pg-explain-ui_0.0.2-1PIGSTY~trixie_amd64.deb
postgresql-14-pg-explain-ui0.0.2d13.aarch64pigsty716.6 KiBpostgresql-14-pg-explain-ui_0.0.2-1PIGSTY~trixie_arm64.deb
postgresql-14-pg-explain-ui0.0.2u22.x86_64pigsty978.2 KiBpostgresql-14-pg-explain-ui_0.0.2-1PIGSTY~jammy_amd64.deb
postgresql-14-pg-explain-ui0.0.2u22.aarch64pigsty847.2 KiBpostgresql-14-pg-explain-ui_0.0.2-1PIGSTY~jammy_arm64.deb
postgresql-14-pg-explain-ui0.0.2u24.x86_64pigsty969.7 KiBpostgresql-14-pg-explain-ui_0.0.2-1PIGSTY~noble_amd64.deb
postgresql-14-pg-explain-ui0.0.2u24.aarch64pigsty837.8 KiBpostgresql-14-pg-explain-ui_0.0.2-1PIGSTY~noble_arm64.deb

Source

pig build pkg pg_explain_ui;		# build rpm/deb

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install pg_explain_ui;		# install via package name, for the active PG version
pig install explain_ui;		# install by extension name, for the current active PG version

pig install explain_ui -v 18;   # install for PG 18
pig install explain_ui -v 17;   # install for PG 17
pig install explain_ui -v 16;   # install for PG 16
pig install explain_ui -v 15;   # install for PG 15
pig install explain_ui -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION explain_ui;

Usage

explain_ui: generate visual explain plan URLs from SQL

explain_ui provides a function that takes a SQL query, runs EXPLAIN on it, and uploads the plan to Dalibo’s explain visualizer, returning a shareable URL.

Function

SELECT explain_ui($$
  SELECT b.title, a.name, p.name
  FROM books b
  INNER JOIN authors a ON b.author_id = a.author_id
  INNER JOIN publishers p ON b.publisher_id = p.publisher_id
  ORDER BY b.publication_date DESC
$$);

                    explain_ui
--------------------------------------------------
 https://explain.dalibo.com/plan/ccg2e5fedd913bb7

The function:

  1. Runs EXPLAIN (FORMAT JSON) on the provided SQL query
  2. Uploads the plan to explain.dalibo.com
  3. Returns a URL to the visual plan representation

The visualizer is built on pev2 (PostgreSQL Explain Visualizer 2), providing an interactive graphical view of query execution plans.

Last updated on