Skip to main content
Whichever level your user was defined at, Root, Namespace, Database, or Record Access, Auth Level has to name it. SurrealDB cannot infer it from the credentials, and the rest of the form follows from that one field.

Quick setup

Click Create Connection…, select SurrealDB, enter the host and port, pick the auth level that matches your user, and connect. The driver needs SurrealDB 2.0 or later and talks CBOR over the HTTP RPC endpoint, so record links, datetimes, durations, decimals, and UUIDs keep their types. The driver is not in the app. Picking in the Choose a Database sheet offers the download before the form opens, and opening a saved connection installs it without asking. Settings > Plugins > Browse > installs it up front. See Plugins.

Connection settings

Connection URL

The scheme is registered with macOS, so a link like that opens the connection form pre-filled. See Connection URL Reference. For a remote server, connect through an SSH tunnel.

Authentication

Only a root user lists every namespace; other levels browse the scope the user is limited to.

Namespaces and databases

Namespaces sit at the top of the sidebar, databases inside them, tables inside a database. Neither switch reconnects. The namespace and database ride on each request, and a tab bound to a second database keeps the same connection. Right-click a namespace for Drop Namespace… (REMOVE NAMESPACE) or a database for Drop Database… (REMOVE DATABASE). Select several with Shift-click or Cmd-click and one confirmation covers all of them. See Work on Several Databases at Once.

Records in the grid

SurrealDB table records with record links and typed values in the data grid

SurrealDB records in the data grid

Changing a cell runs an UPDATE that sets only the fields you touched, leaving computed FUTURE fields and another writer’s changes alone. Values go out as typed parameters, so an int stays an int and a filter value is never parsed as SurrealQL.
  • id is the primary key and read-only. Leave it empty on a new row for a generated one, or type table:id to choose it.
  • A record link shows as table:id. Objects and arrays show as compact JSON and are edited as JSON.
  • On a RELATION table, in and out sit next to id.
  • A SCHEMALESS table has no declared fields, so its columns come from the rows fetched: a field only some records carry still gets a column, and the rest show an empty cell.

SurrealQL

The editor runs whole SurrealQL scripts, with completions for the common statements:
The Explain button offers Explain and Explain Full, which rerun the current query with EXPLAIN and EXPLAIN FULL to show how it resolves, including whether an index is used.

SSL/TLS

Disabled is the default and connects over HTTP; every other mode connects over HTTPS. Preferred and Required (skip verify) accept any certificate, Verify CA and Verify Identity check it against the system trust store.
Skip TLS Verification, a toggle in the Advanced pane, trusts any certificate even when the mode is Verify CA or Verify Identity. Leave it off outside a development server with a self-signed certificate.

Limitations

  • The structure editor is read-only. Create and change fields and indexes with DEFINE FIELD and DEFINE INDEX in the editor.
  • Editing in or out on a RELATION table does nothing: those fields are dropped from the generated UPDATE. Rewire a relation with RELATE or an explicit UPDATE.
  • Multi-request transactions are not available over HTTP. Send BEGIN TRANSACTION; … COMMIT TRANSACTION; as one editor query instead.
  • Live queries (LIVE SELECT) are not supported. Rerun the query to see new records.
  • A CA certificate file set in the SSL/TLS pane is ignored; verification goes through the system trust store, so install a private CA there.
  • Import is not available. Export works, see Import and Export.
  • Range values display but cannot be edited.
  • The editor treats SurrealQL as plain text, with no syntax coloring.
  • SurrealDB 1.x is not supported.

Troubleshooting

… is required for the selected authentication level

The level needs a scope the form has not been given. Namespace, Database, and Record Access all need Namespace; the last two also need Database; Record Access also needs Access Method.

SurrealDB … is not supported. TablePro requires SurrealDB 2.0 or later.

The version comes from the server’s own /version reply. Upgrade the server, or point the connection at a 2.x or 3.x instance.

SurrealDB over HTTP does not support multi-request transactions.

A transaction cannot span requests over HTTP RPC. Put the whole transaction in one editor query.

The credentials do not match the auth level

A root user signed in at Database level fails, and so does the reverse. Match the level to how the user was defined.