Skip to main content
Passwords stay in your Keychain, so every route here hands over a connection definition and leaves the other person to supply their own credential. An encrypted export is the one exception.

Export

Right-click a connection > Share > Export to File…, selecting several first to export them together, or File > Export > Export Connections… for all of them. The file carries host and port, SSH and SSL configuration, color, icon, tags, the group path, Safe Mode level, startup commands, AI policy, the Local only flag, and known shareable driver fields. Sign-in selectors can travel; approval to use this Mac’s credentials does not. Passwords and other secrets need an encrypted export. Import applies its own field rules when saving a connection.
Export connectionsExport connections

Export connections

The export sheet adds these options: The saved query options appear only when there are saved queries to export, and they need no license. Saved queries are written as readable text unless Include Credentials encrypts the file. Version history, linked SQL folders and Team Library queries are never exported.
Copy Connection String writes a database URL that carries the password in plain text, plus the SSH password when the connection tunnels. TablePro marks the clipboard item concealed, which keeps it out of the history of clipboard managers that follow that convention and out of nothing else. Copy TablePro Link carries no secrets.

Encrypted export

Needs a Pro license.
Turn on Include Credentials in the export sheet and enter a passphrase of 8 characters or more. Credentials go out under AES-256-GCM, keyed from the passphrase with PBKDF2 at 600,000 iterations. Importing asks for the passphrase.
Encrypted exportEncrypted export

Encrypted export

Import

Open a .tablepro file through File > Import > Import Connections…, by right-clicking the empty area of the connection list, by double-clicking the file, or by dragging it onto TablePro. File > Import > Import from URL… takes a database URL instead, described in Connection URLs. A review lists the connections, then the saved queries, before anything is saved. The checkbox in each section header selects or deselects the whole section. A green checkmark marks a connection ready; a yellow triangle marks a missing SSH key or certificate, or an SSL mode TablePro does not recognize, which imports as Required. A “duplicate” tag marks one already in your library, with the name it matches. Duplicates match by host, port, socket path, database, and username, and start deselected. Select one, then choose what happens to it: A duplicate that carries saved queries starts on Keep Existing, Add Queries; any other duplicate starts on As Copy. To skip a connection, deselect it. Each saved query shows its connection, or All connections for a global one, and its folder path. A query whose connection is deselected cannot be selected. A query you already have is tagged “already saved” and stays deselected: same name, same SQL, and the same connection, or global in both places. A note on the row says what else changes: Group and folder paths match by name from the top down: an existing group or folder is reused, and a missing one is created. A created group takes the file’s color and icon; an existing one keeps its own. Only the groups, tags, and credential profiles that added or replaced connections use are created.
Import previewImport preview

Import preview

A file or import link keeps known settings, server addresses and local file paths. It drops unknown driver fields, secrets, and settings that run local code. Check the affected settings after import:
  • Cloud credential selectors, cached sign-ins and profiles, Windows or Kerberos authentication selectors, and Use ~/.pgpass. Plain password, service-account and emulator choices remain where the driver supports them.
  • Run Ledger Plugins, Prompt for password, Pre-Connect Script and Post-Disconnect Script.
  • Internal tunnel fields and secret driver fields. Encrypted files carry supported secrets in their credentials section. A service-account key must contain the JSON key, not a path to a key on this Mac.
A new credential profile arrives set to ask for its password. Replacing a connection keeps its local credential settings; a changed destination still needs approval. See Credential Profiles. Startup SQL and tunnel commands run on every connect, so a file brings them only if you agree: importing lists each one and asks, and Import Without Commands is the default. A link’s sheet shows its startup SQL in full before you add it.

Sign-ins from this Mac

Before an imported or synced connection uses this Mac’s cloud credentials or Kerberos tickets, review Sign In with Credentials from This Mac?. The dialog names the destination and sign-in method. Click Sign In to approve that use. Links, Linked Folders and Team Library connections follow the same rule. Approval stays on this Mac and covers the connection, destination and sign-in settings shown. A new destination or added credential use asks again. A background reconnect cannot grant approval: open the connection yourself to review it. Share > Copy TablePro Link produces a tablepro://import?… URL with the name, host, port, type, username, database, and any SSH or SSL settings. The recipient opens it, reviews the prefilled form, adds a password, and saves.
tablepro://connect/<uuid> opens a saved connection rather than importing one. No menu item builds it; see URL Scheme.

Import from other apps

Choose File > Import > Import from Other App…, pick the source, then review the list and resolve duplicates before clicking Import. Groups and folders carry over, and the source app does not have to be running. Leave Include saved queries selected to bring the source’s saved queries into the same review; the source list says how many it found.
Import from other app - source pickerImport from other app - source picker

Pick the source app

Saved queries keep their folders inside the app’s folder. A query keeps one keyword: a Sequel Ace tab trigger, or the first keyword without spaces from a TablePlus favorite. A DBeaver script with no connection lands in a global folder named DBeaver. A script or console whose connection is not part of the import lands in a global DBeaver or DataGrip folder, deselected. Scripts and consoles that still carry the name the app gave them, such as Script-3 or console_2, also start deselected. Empty files are skipped, and placeholders such as ${1:name} arrive as written and work as fields when the keyword expands.

Import from AWS

Choose File > Import > Import from AWS… to list the RDS instances and Aurora clusters an AWS profile can see, and import them with their endpoint, port, and engine already filled in. See AWS IAM Authentication.

On iPhone

TablePro for iPhone reads and writes the same file. Tap the more menu (•••) above the connection list and choose Import Connections, or open a .tablepro file from Files or AirDrop. Export Connections shares through the system share sheet, leaving passwords out unless you turn on Include passwords and set a passphrase. Groups and saved queries come across the way they do on the Mac. The review lists a file’s saved queries below its connections, and an export carries the exported connections’ queries while Include Saved Queries is on, adding global ones with Also include global saved queries.

Linked Folders

Needs a Pro license.
Press Cmd+,, then Settings > General > Linked Folders > Add Folder… and point it at a directory of .tablepro files: a Git repo, a Dropbox folder, a network drive. Those connections appear read-only in the sidebar. Each person supplies their credentials. Linked definitions keep sign-in selectors, subject to approval on this Mac. Each folder’s row says what the last scan found: how many connections, or why it found none.
General pane with one linked folder, its on switch and the Add Folder buttonGeneral pane with one linked folder, its on switch and the Add Folder button

Linked Folders settings

Team Catalog

Needs a Team license.
Share > Publish to Team Catalog… writes each selected connection as its own .tablepro file into a shared folder, asking for the folder the first time. Republishing overwrites the file, and passwords, passphrases, TOTP secrets, and saved queries are never written. Teammates add that folder as a Linked Folder. An older TablePro skips the file of a connection inside a nested group, as File format explains.

Environment variables

Needs a Pro license.
Write $VAR or ${VAR} in a .tablepro file to read TablePro’s process environment at connect time. Send Environment Variables? shows the variable names and destination before reading their values. Click Send Values to approve. Approval stays on this Mac; a new destination or variable asks again. Background reconnects stop until you approve through a connection you open yourself. An app launched from the Dock inherits no shell exports. Set the variable with launchctl setenv NAME value or launch TablePro from a terminal.

Password sources

A connection in ~/Library/Application Support/TablePro/connections.json can say where its password comes from instead of keeping one in the Keychain, which suits a script that provisions connections. The source resolves at connect time, replaces the Keychain lookup rather than supplementing it, and never syncs to iCloud. A source that fails to resolve fails the connection. Open the connection to see its source under Password, and click Test Source to run it without connecting.
Every command gets 30 seconds. The three CLI kinds quote each argument, so a reference cannot break out into the shell, and they need the tool on PATH, in /usr/local/bin, or in /opt/homebrew/bin. Editing connections.json by hand costs one extra step. TablePro stamps the file when it writes it, and a file that changed underneath it fails the connect with “Your connections file was changed outside TablePro, so this connection’s password source was not run. Open the connection and save it again to confirm the change.” Save it once from the app and sources run again.

File format

JSON, in format version 1 or 2. Saved queries and nested groups need version 2, the shape shown here; a file with neither is written as version 1. A file needs formatVersion, exportedAt, appVersion, and connections. Each connection needs ref, name, host, port, database, username, and type, and an empty string is fine where a value does not apply. Paths use ~/ so they travel.
A ref links records inside one file and means nothing outside it. Refs must be unique within each kind. A ref that points at nothing, or a parent chain that loops, fails the import with an error naming the ref. So does an SSH tunnel whose host or user, or a jump host’s, holds a character ssh refuses, such as a quote, a ; or a leading -; that error names the connection. Version 1 has no refs. A connection names its group in groupName, its tags in tagName or tagNames, and its profile in credentialProfileName, and credentials are keyed by the connection’s position from 0. The group imports at the top level of the library. A TablePro version from before saved query export opens only version 1: it reports that a version 2 file needs a newer version, and its Linked Folders skip the file.