Many developers first encounter database work through the command line, where the output is stark and every query is typed by hand. TablePlus moves that experience into a native Mac application: a graphical client for relational databases that keeps the tooling direct while adding visual structure.
Good for
- PostgreSQL, MySQL, and SQLite connections — the three engines it supports out of the box.
- Syntax highlighting in the built-in script editor, with a code preview panel for checking queries before they run.
- Connections encrypted via native libss and TLS, so the handshake between client and server stays secure.
- A dark mode option for long sessions, and plugin support when extra drivers are needed.
Keep in mind
- This is a GUI management tool, not a database engine itself — you connect to existing servers.
- Plugins and additional drivers must be added separately; only the three core engines are built in.
Before installing: a few questions answered in prose
One question that comes up often is whether TablePlus can work alongside other database tools without conflict. It can. The application stores its own connection profiles and preferences in a local directory, separate from other clients. You can have Sequel Ace, DBeaver, or a command-line client open at the same time — each maintains its own connection pool. If you are already running a local PostgreSQL or MySQL daemon for development, TablePlus simply opens an additional socket to it.
Another concern is driver scope. The download includes first-class support for PostgreSQL, MySQL, and SQLite. If your work involves Microsoft SQL Server, Redis, or Cassandra, the application can connect to them, but those drivers must be fetched and activated through the plugin system. The plugin framework is straightforward: a small JSON manifest plus the driver binary, dropped into the application's plugin directory. The interface does not treat plugins as second-class citizens — once loaded, a plugin-backed connection appears in the same sidebar and behaves identically to a built-in one.
People also ask about the so-called tableplus torrent files floating around. A cracked build often ships with an older version that lacks the TLS handshake patches from recent updates, so it's worth verifying the included libss bindings against your server's requirements. If your database server enforces certificate pinning or modern cipher suites, a stale client simply refuses to connect. The build from the developer's site includes the current libss bindings and works with the security policies a production server expects.
Impressions: speed, stability, and resource use
On an Apple Silicon Mac the application launches in under a second and reaches the connection screen with no splash-screen delay. Memory use sits around 120–140 MB with two active connections and a dozen open tabs — modest for an Electron-free native client. The interface draws through AppKit, so scrolling through a 50,000-row result set feels fluid; there is no visible repaint lag and the vertical scrollbar remains responsive even with inline cell editing active.
Stability over long sessions is a strong point. Leaving the application open overnight with an idle SSH-tunnelled connection to a remote PostgreSQL instance does not trigger a crash or a frozen window. On reconnect, the session re-establishes the tunnel cleanly and restores the last open tab. The only resource spike worth noting occurs during CSV imports above 200,000 rows: the import worker thread pushes one CPU core to full utilisation for the duration of the operation, which is expected behaviour for a single-threaded file parser. The rest of the interface remains interactive while the import runs.
The application makes conservative use of disk I/O. Query history is written to a local SQLite store in batches, not on every keystroke, so there is no constant background writing during a long editing session. Connection credentials are stored in the macOS Keychain by default, with a fallback to an encrypted local file only if Keychain access is unavailable.
A short workflow: investigating a slow query
Imagine a PostgreSQL database behind a web application. A support ticket mentions that the dashboard loads slowly on Monday mornings. Here is a practical path through the tool:
- Open a connection to the production read replica. The connection panel supports SSH tunnelling, so the host can remain firewalled from direct external access.
- Open a new tab — the shortcut
⌘Tdoes it — and paste the suspect query from the application logs. - Prefix the query with
EXPLAIN ANALYSE. The script editor highlights the SQL keywords and the code preview panel shows the full statement before execution. - Run the statement with
⌘↩. The result set appears in the lower pane. Because the output is a tree of plan nodes, the monospaced grid preserves indentation and alignment. - Spot a sequential scan on a large table. Open a second tab, run
SELECT indexname FROM pg_indexes WHERE tablename = 'orders';, and confirm the expected index is missing. - Switch to the structure view for the
orderstable, add the index via the GUI panel, and copy the generatedCREATE INDEXstatement from the preview. - Execute the index creation on the primary database (a separate saved connection, colour-coded red to avoid accidents).
- Re-run the
EXPLAIN ANALYSEon the replica, confirm the index scan, and close the tabs.
The safe mode — enabled with a toggle in the connection settings — would have prevented any accidental DROP or DELETE during this session by blocking destructive statements unless explicitly confirmed. For read-only investigative work on a replica it is not strictly necessary, but on a primary database it is a sensible precaution.
Tunnel refusal fix: SSH config isn’t auto‑read
Connection timeout on a remote server. If the server is reachable via psql or mysql on the command line but TablePlus refuses the handshake, check the SSH tunnel settings. The application does not infer tunnel configuration from your ~/.ssh/config file; you must enter the bastion host, port, and key path explicitly in the connection editor's SSH tab. Also verify that the server's pg_hba.conf or MySQL user grants permit the client's originating IP after tunnelling.
Plugin driver fails to load. A driver that worked in version 6.7 may fail after updating to 6.8.0. The plugin manifest format occasionally changes between builds. The fix is usually to remove the driver from ~/Library/Application Support/TablePlus/Plugins/ and re-fetch the latest build from the developer's plugin repository. The application logs the exact error to ~/Library/Logs/TablePlus/ if you need to diagnose a stubborn loader issue.
High CPU during idle. On rare occasions a background thread tied to the connection health-check timer can get stuck, keeping one core busy even with no queries running. Disconnecting and reconnecting the affected session clears it. If it recurs, increasing the keep-alive interval in the connection's advanced settings from the default 30 seconds to 120 seconds typically resolves the loop.
Font rendering in the query editor. The default monospaced font looks correct on a Retina display but can appear slightly blurred on a non-Retina external monitor. Switching the editor font to Menlo or JetBrains Mono at 13 pt in the preferences sharpens the glyphs without altering the tab width. The setting applies to all open editors immediately.
LeCoqRoti



Correspondence 0
Take a chair or join the table to send a letter.
No correspondence on this note yet. Letters are read before they appear.