> ## Documentation Index
> Fetch the complete documentation index at: https://ngquct-docs-fix-500-query-results.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Managing Connections

> Create, organize, and switch database connections

Press `Cmd+N` anywhere in the app to open the connection form. **Create Connection…** on the welcome window does the same, and the **Add from Existing** menu under it takes one from a URL, [another client](/features/connection-sharing), a [project folder](/features/project-folder-import), or an exported file. Saved connections fill the right side of that window under a search field, focused by `Cmd+F`, and offer **Try Sample Database** until you save something of your own.

<Frame caption="Welcome window">
  <img className="block dark:hidden" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/0TDhsORsgVLO0zL5/images/welcome-screen.png?fit=max&auto=format&n=0TDhsORsgVLO0zL5&q=85&s=264feb459c3950ed9e19e7b7c515bb1e" alt="Welcome window with actions panel and connection list" width="1560" height="960" data-path="images/welcome-screen.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/0TDhsORsgVLO0zL5/images/welcome-screen-dark.png?fit=max&auto=format&n=0TDhsORsgVLO0zL5&q=85&s=b3c95fd4b0856aa2f062c9b2507af4a9" alt="Welcome window with actions panel and connection list" width="1560" height="960" data-path="images/welcome-screen-dark.png" />
</Frame>

## Create a connection

<Steps>
  <Step title="Pick a database type">
    The chooser sheet groups drivers as Relational, Document, Key-Value, Analytical, Wide-Column, Cloud Native, Coordination & Config, and Other. Picking a driver badged **Not Installed** offers the download before the form opens. See [Plugins](/features/plugins).
  </Step>

  <Step title="Fill in the connection details">
    Host, port, and credentials live on **General**. Everything else has a pane of its own; see [Connection form](/connections/connection-form).
  </Step>

  <Step title="Click Test Connection">
    On success the button becomes a green checkmark and reads **Connected**. On failure a **Connection Test Failed** sheet carries the driver's own message, and for errors the driver recognizes a diagnostic sheet appears instead, with suggested fixes and **Copy Diagnostic Info**.
  </Step>

  <Step title="Click Save & Connect">
    The connection is saved and the window opens on it. **Save** alone keeps it without connecting.
  </Step>
</Steps>

<Frame caption="Database type chooser">
  <img className="block dark:hidden" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/database-type-chooser.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=b86618d643dceb041fb5df79da45e7d7" alt="Database type chooser" width="1400" height="964" data-path="images/database-type-chooser.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/database-type-chooser-dark.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=f0738bf8a717df269dbe678d0c9af045" alt="Database type chooser" width="1400" height="964" data-path="images/database-type-chooser-dark.png" />
</Frame>

Every driver's default port, and which of SSH tunnel, SSL/TLS, Cloudflare Tunnel, Cloud SQL Proxy, and SOCKS Proxy it accepts, is in the [connection form reference](/connections/connection-form#which-drivers-get-which-panes).

### Import from URL

Paste a connection string instead of typing the fields. Click **Import from URL…** in the chooser sheet footer, paste, check the parsed preview, and click **Import**. The form opens filled in, ready to save. Schemes, query parameters, and the `+ssh` form are in the [Connection URL Reference](/connections/urls).

<Frame caption="Import from URL sheet with parsed preview">
  <img className="block dark:hidden" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/HJY892UtvXUv1PFn/images/import-from-url.png?fit=max&auto=format&n=HJY892UtvXUv1PFn&q=85&s=9e260ed75b1bbdb20813b1dcd769604b" alt="Import from URL" width="1400" height="964" data-path="images/import-from-url.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/HJY892UtvXUv1PFn/images/import-from-url-dark.png?fit=max&auto=format&n=HJY892UtvXUv1PFn&q=85&s=9aa979631574739cf7251040f19e2024" alt="Import from URL" width="1400" height="964" data-path="images/import-from-url-dark.png" />
</Frame>

<Note>
  Special characters in passwords (`@`, `#`, `%`) need percent-encoding. `p@ssword` becomes `p%40ssword`.
</Note>

### Open a URL without saving anything

```bash theme={null}
open "postgresql://user:pass@host:5432/dbname"
```

A confirmation alert names the target first. Matching a saved connection on type, host, port, database, and username reuses it; otherwise the session is temporary and never joins your connection list, and the URL's password stays in memory rather than reaching the Keychain. [Confirmation and trusted links](/connections/urls#confirmation-and-trusted-links) covers **Always Allow** and how to revoke it.

## Organize connections

The **Customization** pane holds a color, tags, and a group. The color tints the toolbar while the connection is open.

<Frame caption="Customization pane">
  <img className="block dark:hidden" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/connection-customization.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=480047399775c43005b5f917fc73fe8e" alt="Customization pane" width="1440" height="1224" data-path="images/connection-customization.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/connection-customization-dark.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=1b8e65e13527526e6c0c760a6cbd4e44" alt="Customization pane" width="1440" height="1224" data-path="images/connection-customization-dark.png" />
</Frame>

<Tip>
  Red for production, green for development. Set Safe Mode to **Read-Only** on production to block accidental writes. See [Safe Mode](/features/safe-mode).
</Tip>

|               | How it works                                                                                                                                                                                                                                                                                                               |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Groups**    | Folders in the connection list, nested up to three levels. Right-click empty space for **New Group…**, or a group for **Rename**, **New Subgroup**, **Change Color**, **Move Group to…**, and **Delete Group**. Deleting a group deletes its subgroups too and leaves the connections inside ungrouped rather than deleted |
| **Tags**      | Several per connection, each with a name and color. Once any connection is tagged, a row of pills appears above the list; click to filter, and with two or more selected a **Match Any** / **Match All** menu switches between OR and AND. **Clear** resets it                                                             |
| **Favorites** | Hover a row and click the star, or right-click and choose **Add to Favorites**. Favorites gather in a section at the top, sorted alphabetically, while the connection keeps its place in its group                                                                                                                         |

A connection's group, tags, and favorite star sync through iCloud unless it is marked local only. See [iCloud Sync](/features/icloud-sync).

## Switch connections and databases

**Switch Connection** (`Ctrl+Cmd+C`) lists active sessions and saved connections: type to filter, arrow keys to move, Return to switch. **Open Database** (`Cmd+K`) moves to another database on the same server.

<Frame caption="Database switcher in toolbar">
  <img className="block dark:hidden" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/database-switcher-toolbar.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=cde374ac098e9b5270616dc5b6a851be" alt="Database switcher in toolbar" width="1560" height="960" data-path="images/database-switcher-toolbar.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/hA72m8tSnRe3b-ew/images/database-switcher-toolbar-dark.png?fit=max&auto=format&n=hA72m8tSnRe3b-ew&q=85&s=5f3cccc305d436163861543a409fd1cd" alt="Database switcher in toolbar" width="1560" height="960" data-path="images/database-switcher-toolbar-dark.png" />
</Frame>

Leaving **Database** empty on MySQL, MariaDB, MongoDB, SQL Server, and ClickHouse browses every database the user can reach. PostgreSQL and Redshift need one to connect at all: use `postgres` (Redshift: `dev`) and switch with `Cmd+K`. To hide the rest, choose **View > Filter Databases** and check the ones you want; the choice is saved per connection.

## Edit, delete, and where it all lives

Right-click a connection to edit or delete it, or swipe left on the row for the same two buttons. Swiping never deletes on its own. Edits apply on the next connect, and deleting removes the saved settings, nothing on the server.

Connections are stored in `~/Library/Application Support/TablePro/connections.json` with their passwords in the macOS Keychain, so copying that file to another Mac restores the connections without the passwords.

Right-clicking the Dock icon lists saved connections under **Open Connection**.
