What PlumeSQL is
PlumeSQL is a featherweight PostgreSQL client. It ships as one static binary of about 24 MB that starts a local server and opens its interface in a native window or in the browser you already have open. There is no Electron, no runtime and no bundled browser: the desktop app is a thin shell around the same binary, rendering in the operating system's own webview.
It is written for people who find DBeaver, pgAdmin or DataGrip too heavy for everyday work, and it is written for PostgreSQL alone. The editor is linted by PostgreSQL's own parser, the object browser is a re-executable DDL dump on disk, and psql's backslash commands work in the editor.
What is in the box
- An editor that knows your database. Completion, hover and Go to Definition read a local DDL snapshot; statement scope comes from PostgreSQL's own parser; the connected server lints your SQL as you type, function bodies included. See The editor.
- Objects as files. The whole database materializes as a directory of DDL files, one per object, proven to re-execute on PostgreSQL 13 through 18. The object tree reads those files, with statistics on every row and scripts written from the row menu. See Objects and the DDL snapshot.
- Results you can work in. A streaming grid with per-column filters, in-place row editing with Undo, result documents that compare and follow foreign keys, and copy or save in TSV, CSV, JSON and Markdown. See Results.
- Connections like psql. Flags, URLs,
PG*variables and~/.pgpass, discovery from the project you opened, an encrypted vault keyed from the OS keyring, SSH tunnels and SSL. See Your first connection. - A workspace that comes back as you left it. Tabs, cursors, folds, splits, tree expansion and the navigation trail all restore per directory. See The workspace.
- Safety on production. Read only enforced by the server, a two-axis production guard, a commit gate and a change chronicle. See Safety and production.
- VS Code's keyboard. Wherever VS Code has a shortcut for a thing PlumeSQL also does, PlumeSQL uses it. See Settings and keyboard.
The three flavors of extensions
An extension is a plain text file, told apart by its double extension:
- a grid extension (
.plumesql.js) shapes the result grid: formatting rules, computed columns and result views such as charts; - a query extension (
.plumesql.sql) is a saved query with comment annotations, answered by a grid, with typed input forms and row buttons; - a command extension (
.plumesql.run) is a saved command such aspg_dumporpsql, answered by a terminal.
A fresh install ships dozens of editable starters. See Extensions for the orientation, and the reference pages for the full product document and the annotation specification.
Two ways to run it
- The desktop app, a native window with a menu bar, per-workspace window geometry, signed in-place updates and "Open with PlumeSQL" from the file manager. Builds for macOS (Apple Silicon), Windows and Linux.
- The binary alone:
plumesqlfrom a terminal starts the local server and opens a browser tab. The same interface, the same files, the same state; the server listens on loopback only.
Both share one global directory, so switching between them changes nothing.
Where things live
PlumeSQL keeps its state in a global directory of its own, never inside your repository: the encrypted vault, per-workspace sessions, the application log, connection metadata and statistics, and the DDL snapshots. The System page lists all of it, separating what is yours from what rebuilds itself.
Supported servers
PostgreSQL 13 through 18. A newer server is never refused, it is just not yet part of the test matrix. TimescaleDB, Citus, PostGIS and pgvector get dedicated treatment in the tree, the DDL and the grid.
Not in this release
The MCP server for AI tools and the AI assistant are not part of this release. Both come in a later release.