See your Postgres data as a living graph.
PGQViewer turns the native property graphs in PostgreSQL 19 into an interactive canvas. Connect, type a MATCH pattern, and explore — no extensions, no ETL, no separate graph database.
Free & open source · Apache-2.0 · self-hosted with Docker
(a IS person)-[k IS knows]->(b IS person)// why pgqviewer
Postgres 19 grew graphs.
Now you can see them.
SQL/PGQ defines a property graph as metadata over tables you already have — no new database, no migration, no ETL. PGQViewer reads that graph straight from the catalog and draws it.
relational rows
| 1 | Alice |
| 2 | Bob |
| 3 | Carol |
property graph
// features
Built for exploring, not configuring.
PGQViewer does one thing well: show you the graph that's already in your database — accurately — and get out of your way.
two modes
Graph mode and SQL mode
Graph mode takes a MATCH pattern (with a WHERE pane when you need it) and projects every key and property for you. SQL mode runs verbatim PostgreSQL — joins, CTEs, EXPLAIN — into a sortable table.
(a IS person)-[k IS knows]->(b IS person)WHERE a.born > 1985exploration
Expand on click
Hover or double-click a vertex to pull in its 1-hop neighbours. New nodes lay out around the anchor and dedupe on stable ids — grow the graph without touching the query.
correctness
Honest about your catalog
PG19 accepts graph definitions that break identity — non-unique keys, edge REFERENCES that don't match the vertex key. PGQViewer catches them at connect time and tells you what to fix, instead of drawing a wrong graph.
make it yours
Shape the view around your data
Per-label colours and captions, edge thickness mapped to a numeric property, property-based filtering, nine accent palettes, light & dark, focus mode. Every choice persists.
fourteen layouts
A layout for every shape
Force-directed for clusters, hierarchical for trees, concentric for hubs. Heavy layouts auto-downgrade on large results, so the canvas never freezes.
schema-aware
Browse the catalog
Every vertex and edge with its labels, typed properties, and approximate row counts. Click one to drop a ready-to-edit MATCH snippet into the editor.
portable
Export anywhere
PNG and JPG from the canvas; GraphML, Cypher, and JSON from graph results; CSV from tables.
// querying
Write a pattern. Read the SQL.
See the graph.
There's no new query language to learn and nothing to install in your database. If you can write a line of SQL, you already know enough.
- Graph mode
- Describe what you're after with a MATCH pattern. PGQViewer projects every property and key, then draws the result on the canvas.
- SQL mode
- Drop into full PostgreSQL when you need it — GRAPH_TABLE, EXPLAIN ANALYZE, recursive CTEs, and parameters all work.
- Always inspectable
- See the generated SQL/PGQ at any time, cancel long queries live, and watch results stream onto the canvas as rows arrive.
match pattern
(a IS person)-[k IS knows]->(b IS person)SELECT *
FROM GRAPH_TABLE ("public"."social"
MATCH (a IS person)-[k IS knows]->(b IS person)
COLUMNS (
a.id AS a__pk__id, a.name AS a__p__name,
a.born AS a__p__born, k.src AS k__sk__src,
k.dst AS k__dk__dst, k.since AS k__p__since,
b.id AS b__pk__id, b.name AS b__p__name,
b.born AS b__p__born
)
) LIMIT 500;// quick start
Up and running in a minute.
PGQViewer is a self-hosted web app — one Docker container serves the UI and the API. Clone it from GitHub, build the image, and point it at any PostgreSQL 19 database. You bring the database.
git clone https://github.com/aoncodev/PGQViewer.git
cd PGQViewer
docker build pgqviewer .
docker run 127.0.0.1:8080:8080 pgqviewer-data:/data pgqviewerConnect
Point PGQViewer at your PostgreSQL 19 database and hit connect. Save it once, reconnect with a click.
Pick a graph
Choose a property graph from the sidebar — its labels and properties are right there, ready to explore.
Explore
Type a pattern, run it, and click around the canvas. Expand, drag, recolor, and export when you're done.
// open source
Open source, and better with you.
PGQViewer is Apache-2.0 and built in the open. Bug reports, fixes, and especially correctness checks against new PostgreSQL 19 betas are all welcome.
// get started
Start exploring your graphs.
Free and open source. Clone the repo, build the Docker image, and point it at your PostgreSQL 19 — you'll be exploring in a minute. No desktop install, no accounts.
Apache-2.0 · self-hosted with Docker · PostgreSQL 19 (Beta 1 or newer)