Skip to main content
TablePro connects to PGlite, a build of PostgreSQL 17 compiled to WebAssembly. PGlite runs in-process in JavaScript, so it speaks the network wire protocol only through its socket server, @electric-sql/pglite-socket. Once that server is running, TablePro connects to it with the same libpq driver as PostgreSQL, and schema introspection, DDL, and EXPLAIN all behave like PostgreSQL.

Start the Socket Server

PGlite has no server of its own, so start one first. It listens on 127.0.0.1:5432 by default:
Leave it running while you use the connection. TablePro opens a single connection to PGlite and serializes all of its own background work (schema browsing, autocomplete, row counts) over that one connection.

Connection Settings

The socket server never checks a password, so the form has no password field. SSL is off and cannot be enabled: the socket server has no TLS. Fill in the form and click Save & Connect.

Connection URL

See Connection URL Reference for all parameters.

Features

Schemas: like PostgreSQL, default schema public. Pick the active schema from the schema menu at the bottom of the sidebar. Cmd+K opens the database switcher, which on PGlite lists only postgres. DDL, EXPLAIN, editing: PGlite is real PostgreSQL 17, so pg_catalog and information_schema are complete. Table and view definitions, indexes, foreign keys, structure editing, and the visual EXPLAIN / EXPLAIN ANALYZE plan tree all work as they do for PostgreSQL. Import & Export: export to CSV, JSON, SQL, or XLSX. Import from CSV, JSON, or SQL. See Import & Export.

Limitations

  • Single connection. PGlite serves one connection at a time. TablePro is built for this and keeps to one connection, but other tools that open connections in parallel will fail against the same server.
  • No TLS. The socket server rejects SSL, so SSL Mode is fixed to Disabled and the SSH, Cloudflare Tunnel, and SOCKS panes do not apply.
  • Cancel does nothing. PGlite has no backend process to signal, so cancelling a running query has no effect at the protocol level. Let long queries finish.

Troubleshooting

Can’t reach a PGlite socket server: the server is not running or is on a different address. Start it with npx @electric-sql/pglite-socket and confirm the host and port match. TablePro needs loopback 127.0.0.1, not localhost, which can resolve to IPv6 first. Too many connections: something else is already connected to the socket server, which serves one client at a time. Close the other client and reconnect.