Skip to main content

Connection Management

TablePro connects to 18+ database systems. Create connections, organize them with colors, tags, and groups, and switch between them instantly.

Supported Databases

Natively supported:

MySQL

Full support including MySQL 5.7+ and MySQL 8.0+. Default port: 3306

MariaDB

Compatible with MariaDB 10.x and later. Default port: 3306

PostgreSQL

PostgreSQL 12+ with full feature support. Default port: 5432

Amazon Redshift

Redshift data warehouses via PostgreSQL wire protocol. Default port: 5439

SQLite

File-based databases, no server required

MongoDB

MongoDB 4.4+ with MQL shell queries. Default port: 27017

Redis

Redis 6.0+ with key-value browsing and CLI. Default port: 6379

Microsoft SQL Server

SQL Server 2017+ via FreeTDS. Default port: 1433

Oracle Database

Oracle 12c+ via Oracle Call Interface. Default port: 1521

ClickHouse

ClickHouse OLAP database via HTTP API. Default port: 8123

Cassandra / ScyllaDB

Cassandra 3.11+ and ScyllaDB 4.0+ via CQL native protocol. Default port: 9042

DuckDB

DuckDB embedded OLAP database. File-based, no server required

DynamoDB

Amazon DynamoDB via AWS SDK. NoSQL key-value and document database

Etcd

Etcd distributed key-value store via gRPC API. Default port: 2379

Cloudflare D1

Cloudflare D1 serverless SQLite database via Cloudflare API

Creating a Connection

From the Welcome Screen

The Welcome screen appears on first launch or when no connections are active.
  1. Click New Connection
  2. Fill in the connection details
  3. Click Test Connection to verify
  4. Click Create to save and connect
Welcome screen

From the Menu Bar

Create a new connection at any time:
  • File > New Connection (Cmd+N)

From a Connection URL

Paste a connection string directly into the form:
  1. Open the New Connection form
  2. Click Import from URL in the General tab
  3. Paste your connection URL into the dialog and click Import
  4. All fields (type, host, port, database, username, password) are filled in automatically
  5. Review the auto-filled values and click Create
See Connection URL Reference for all supported schemes and formats.
Connection URLs with special characters in the password (like @, #, or %) should use percent-encoding. For example, p@ssword becomes p%40ssword.

Connect Directly from a URL

Open a database URL from your browser or terminal. TablePro connects immediately, no form required. From a browser: paste the URL into your address bar and press Enter. From the terminal:
open "postgresql://user:pass@host:5432/dbname"
open "mysql://root:secret@localhost:3306/myapp"
open "redis://:password@localhost:6379"
TablePro registers postgresql, postgres, mysql, mariadb, sqlite, mongodb, mongodb+srv, redis, rediss, redshift, mssql, sqlserver, oracle, clickhouse, cassandra, and scylladb as URL schemes on macOS, so the OS routes these URLs directly to the app. What happens:
  • If a saved connection already matches the host, port, database, and username, TablePro reuses it
  • Otherwise, a temporary session is created. Nothing is saved to your connection list
  • The password from the URL is stored in Keychain for the duration of the session
You can also target a specific table, schema, or apply a filter via query parameters. See Connection URL Reference for all supported query parameters.
This is different from Import from URL, which fills in the connection form so you can review and save. Direct URL opening skips the form entirely and connects right away.

Connection Form Fields

General Section

FieldDescription
NameA friendly name to identify this connection
TypeDatabase type: MySQL, MariaDB, PostgreSQL, SQLite, MongoDB, Redis, Redshift, SQL Server, Oracle, ClickHouse, Cassandra, or ScyllaDB

Appearance Section

FieldDescription
ColorColor-code your connection for quick identification
TagOrganize connections with custom tags
GroupAssign connection to a group (folder) for organization
Read-OnlyToggle to prevent all write operations on this connection
Use colors to distinguish environments: red for production, green for development. Enable Read-Only mode for production databases to prevent accidental writes.

Connection Section

FieldDescription
HostServer address (default: localhost)
PortServer port (auto-filled based on database type)
DatabaseDefault database to connect to (optional for MySQL/MariaDB)
For SQLite, this section shows a file browser instead:
FieldDescription
File PathPath to the SQLite database file

Authentication Section

For MySQL, MariaDB, and PostgreSQL:
FieldDescription
UsernameDatabase username (default: root for MySQL)
PasswordDatabase password (stored securely in Keychain)
SQLite databases don’t require authentication.
Connection form fields

SSL/TLS Section

For MySQL, MariaDB, and PostgreSQL connections, configure SSL/TLS encryption:
FieldDescription
SSL ModeEncryption mode (see table below)
CA CertificatePath to Certificate Authority file (for Verify CA/Verify Identity modes)
Client CertificatePath to client certificate file (optional)
Client KeyPath to client private key file (optional)
Available SSL Modes:
ModeDescription
DisabledNo SSL encryption (default)
PreferredUse SSL if available, fall back to unencrypted
RequiredRequire SSL encryption, but don’t verify certificates
Verify CARequire SSL and verify the server certificate against a CA
Verify IdentityRequire SSL, verify CA, and verify the server hostname matches the certificate
For production databases, use Verify CA or Verify Identity for maximum security. For dev servers, Required gives you encryption without needing certificate files.
SSL/TLS is not available for SQLite connections (file-based, no network involved).
SSL/TLS connection settings

Organizing Connections

Colors tint the toolbar when you connect (red for production, green for development). Tags group connections in the sidebar. Create connection groups by right-clicking in the connection list or using the folder icon. Groups collapse/expand with native macOS disclosure triangles and persist between sessions.

Nested Groups

Groups support up to 3 levels of nesting. Right-click a group to create a subgroup, move it under another group, or delete it. Deleting a parent removes all subgroups. Connections inside are ungrouped, not deleted. The connection form shows the full hierarchy when picking a group.
Color picker

Quick Connection Switching

Switch connections from the toolbar:
  1. Click the connection name button in the toolbar
  2. A popover shows your active sessions and saved connections
  3. Click any connection to switch immediately
  4. Click Manage Connections… to open the full connection manager
Click the connection button again to dismiss the popover.

Switching Databases

To switch databases on the same connection:
  1. Click the database name in the toolbar (next to the connection name)
  2. Select a different database from the dropdown
  3. The sidebar updates to show the new database’s tables
No need to create separate connections for each database on the same server.
Database switcher in toolbar

Dock Menu Quick Connect

Right-click the TablePro icon in the Dock and select a saved connection under Open Connection. If it fails, you’ll fall back to the Welcome screen.

Creating Databases

To create a new database:
  1. Right-click on the connection in the sidebar
  2. Select Create Database
  3. Enter the database name
  4. Choose charset and collation (MySQL/MariaDB)
  5. Click Create
Database creation requires appropriate user privileges on the server.

Testing Connections

Before saving a connection, test it:
  1. Fill in all required connection details
  2. Click Test Connection
  3. Wait for the result:
    • Green checkmark: Connection successful
    • Red X: Connection failed (see error message)
Connection test
Most test failures are due to the server being down, wrong credentials, or network/firewall blocking the port. Verify the host is reachable and credentials are correct before contacting support.

Connection Health Monitoring

TablePro monitors active connections and auto-recovers from drops.

Automatic Health Checks

For MySQL, MariaDB, and PostgreSQL, TablePro pings (SELECT 1) every 30 seconds. SQLite is file-based and skips health checks.

Auto-Reconnect

When a connection drops, TablePro reconnects with exponential backoff:
  1. Attempt 1 — waits 2 seconds, then reconnects
  2. Attempt 2 — waits 4 seconds, then reconnects
  3. Attempt 3 — waits 8 seconds, then reconnects
After three failures, the connection enters an error state. A Reconnect button appears in the toolbar. SSH tunnels have independent monitoring and are re-established automatically if the tunnel process dies.

Manual Reconnect

Click the Reconnect button in the toolbar to retry manually. For SSH connections, this also recreates the tunnel.
The toolbar status indicator shows connection state: green for connected, orange for reconnecting, red for error/disconnected.
SQLite connections are file-based and don’t require health monitoring or auto-reconnect.
Connection health status

Startup Commands

SQL statements that run automatically on every connection. Use them to set session variables, timezone, encoding, or other session options. Configure startup commands in the Advanced tab of the connection form. Enter one SQL statement per line.

Common Examples

SET time_zone = '+00:00';
SET NAMES utf8mb4;
SET sql_mode = 'STRICT_TRANS_TABLES';
SET search_path TO myschema, public;
SET statement_timeout = '30s';
Startup commands execute in order, top to bottom. If a command fails, the connection still proceeds, but the failed command is skipped.
Set a timezone here to ensure datetime results are consistent across team members, regardless of server defaults.
Startup commands run on every connection, including auto-reconnects. They are database-specific: use MySQL syntax for MySQL connections, PostgreSQL syntax for PostgreSQL, and so on.

Editing and Deleting Connections

Right-click a connection to edit or delete it. Changes take effect on the next connection. Deleting removes the saved settings only; your database is unaffected.

Backup and Restore

Connections are stored in ~/Library/Preferences/com.TablePro.plist. Passwords are in the macOS Keychain. Copy the .plist file to back up. You’ll need to re-enter passwords after restoring since Keychain entries don’t transfer.