fourteen databases, one window, none of them ours

Open the database.
Read the rows.
Close it.

GPQL is a SQL client that keeps everything on your disk. Fourteen databases, each through its own driver. Your logins are sealed by the OS, your queries never leave the machine, and read only is on until you turn it off.

tab moves GPQL checks as you type return connects
GPQL no session

New session

Database

PostgreSQL 18.4 answered in 6 ms

Read only

the server refuses every write

tab moves, return connects

14 drivers, each the vendor's own 3 screens 0 bytes of telemetry read only until you say otherwise

drivers

Every database speaks for itself.

No wrapper protocol, no hand-rolled HTTP. Each backend goes through the driver its own people maintain, so the wire behaviour is theirs and the bugs are the ones you can look up.

  • PostgreSQL rustls
  • MySQL native wire
  • SQLite file
  • DuckDB bundled
  • Supabase postgres wire
  • GreptimeDB port 4003
  • ClickHouse native client
  • Turso libsql
  • InfluxDB 3 arrow flight
  • InfluxDB 2 flux
  • Snowflake account auth
  • Neo4j bolt
  • FalkorDB cypher
  • Cloudflare D1 http api

cloudflare d1 has no rust driver, so that one is the documented exception: plain rest, said out loud in the readme

read

Three screens. No fourth one.

Data

Rows and columns both virtualized, edits staged until you apply them, and a minimap when the result runs off both edges.

GPQL roomy
Data Query Schema

message

6 columns

Query

Highlighting per dialect from tree-sitter, completion from a real language server, and an ask bar that turns a sentence into SQL through your own key.

GPQL roomy
Data Query Schema
busiest channels this week your key, your endpoint
select channel.topic, count(*) as messages
from message
join channel on channel.id = message.channel_id
where message.sent_at > now() - interval '7 days'
group by channel.topic
order by messages desc

3 rows in 4 ms, read only

Schema

Tables laid out by what they point at, walkable with the arrow keys, and groupable by hand or by asking a model to read the shape.

GPQL roomy
Data Query Schema
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

Read only is the default

GPQL asks the server to refuse every write before it runs a statement. Turning it off is one toggle, and the toggle says so out loud.

Keys stay on the machine

Windows seals saved logins with DPAPI. Elsewhere the file is plaintext in your home folder, and the readme says exactly that.

Diagrams without a server

Draw an ERD offline. Publish it only when you want someone else in the room.

sync

An account is only for carrying settings across machines.

GPQL works forever without one. Sign in when you want the same setup on a second machine, sign out and the app keeps working exactly as it did.

  • Settings: theme, density, read only
  • Connections you have opened before
  • Queries you kept
  • ERD rooms, so a diagram can have two people in it
  • Passwords. Those stay sealed on the machine that made them.

Sync

Free, with an account

Sign in and every machine you sign in on lands on the same settings, connections and saved queries. No plan, no card, no seat count.

Sign in with GitHub

Sign in once in the browser. The app picks it up on its own.