Skip to main content
Pick a database type badged Not Installed in the chooser and the download runs before the connection opens, with no restart. Parquet export installs the same way from the Export dialog. Five drivers ship inside the app and cover twelve databases. Twenty-five registry plugins cover the other twenty-nine and install on the first connection that needs one. See Plugins.

Bundled plugins

These ship with the app, update with app releases, and cannot be uninstalled:

Registry plugins

These install from the registry when you need them:

Installing plugins

A registry plugin installs where you need it:
  • A database type badged Not Installed in the connection chooser.
  • A .duckdb file opened from Finder, which asks for the DuckDB driver.
  • Install Parquet Export… at the end of the format menu in the Export dialog. Parquet is selected once the download finishes.
On a Mac with no network, install from a file: drag a .tableplugin or .zip onto Settings > Plugins, or click the + button there. A file for a plugin that is already loaded replaces it the next time TablePro starts. User-installed plugins live in ~/Library/Application Support/TablePro/Plugins. Every plugin is verified before it loads. A registry download must match the SHA-256 checksum in the registry manifest, and the bundle must be signed by TablePro. A bundle signed by anyone else, ad-hoc signed or unsigned is refused, with no override.

Updates

Registry plugins follow the app. After a TablePro update, each plugin installed from the registry with an older build than the app is fetched again at launch:
  • A plugin that is not loaded, such as one rejected after the update, installs and loads at once.
  • A plugin that is loaded downloads in the background and replaces the old one the next time TablePro starts. Its row in Settings > Plugins reads “Updates when TablePro restarts” until then.
Offline, the check waits and runs once the Mac is back online. If the registry has no newer build yet, the check tries again in the background, on the schedule in A plugin will not install or load. Connecting to a database whose plugin is outdated checks again first. Bundled plugins update with the app. A plugin installed from a file, including one installed over a registry plugin, updates from the registry only when an app update leaves it rejected and the registry has a compatible build of it. An app update can raise the plugin interface version. A plugin built for an older one is rejected at load instead of crashing, and stays in a banner in Settings > Plugins with the reason and an action until it is repaired:

Managing plugins

In Settings > Plugins:
  • Uninstall removes a user-installed plugin from disk. Bundled plugins cannot be uninstalled.
  • The detail pane shows version, bundle ID, capabilities, database type, and default port. Plugins with their own settings show them here.
macOS cannot fully unload a plugin’s code until relaunch, so a banner offers Quit & Reopen after you remove one. Saved connections survive a removal. A connection whose driver cannot load stays in the list, and opening it lands on “Could not connect” with the button for the cause:

Themes

Themes are not plugins. Choose, create, import and export them in Settings > Appearance. See Appearance.

Writing plugins

To build a driver or a format, see Plugin Development.