A fork of sosedoff/pgweb — a simple, cross-platform, web-based PostgreSQL database explorer — with inline cell editing and a set of data-browsing conveniences added on top.
Originally forked for using within the My_games project.
- Inline cell editing in the table rows view. Double-click a cell to edit its value in place —
Entersaves,Shift+Enterinserts a newline,Esccancels. Saving runs a primary-key–scoped, parameterizedUPDATE, so only the exact row is touched and values are cast to their own column types. - Editing is available only while browsing a table's rows (not on arbitrary query results) and only for tables that have a primary key.
- Visual schema diagram (ER viewer). Browse the schema as draggable table cards linked by their foreign keys, with pan, zoom and PK/FK markers. Cards show row counts and table size, columns are marked as index / unique / not-null / default / identity / generated, and the whole diagram exports to PNG or SVG in the current theme.
- Multi-row selection & bulk actions. A select-all checkbox plus per-row checkboxes let you pick rows, then delete the selection or export it as CSV / JSON / XML from the toolbar's export-selected submenu.
- JSON(B) tree viewer/editor. Expand, browse, and edit
json/jsonbcell values as a collapsible tree. - Foreign-key navigation. A "Go to table.column" item in the row context menu jumps straight to the referenced row.
- Copy Row as INSERT. Right-click a row to copy a ready-to-run
INSERTstatement. - Client-side row filtering. A "Filter rows" box filters the current page locally.
- Column filters with operators. Filter a column by
=,!=,>,<,LIKEand friends from the header menu; the condition survives paging and sorting. - Precise query timing. The Query page shows the real sub-millisecond server-side execution time.
- Dark theme. The sun/moon button switches UI to a dark, purple-tinted look. There's also Office 98 theme.
pgweb --url postgres://user:password@host:port/database?sslmode=[mode]
Or with individual flags:
pgweb --host localhost --user myuser --db mydb
Inline editing issues UPDATE statements, so it needs a writable connection — running with --readonly (or a read-only bookmark) disables it.
Static assets are embedded via go:embed, so a plain Go build bundles the frontend too — no Node.js toolchain required. Requires Go 1.25+.
make build # current platform
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o pgweb . # Linux server binary
Prebuilt binaries are published on the Releases page.
The MIT License (MIT). See LICENSE for details. Original work done by Dan Sosedoff and the pgweb contributors.