DBeaver

Free Universal Database Tool

Free multi-platform database tool for developers, SQL programmers, database administrators and analysts. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Hive, Presto, etc.

Installation

Download the version adapted to your OS from https://dbeaver.io/download/.

Documentation

Tips & Tricks

SSL Connections

When connecting to a remote DB instance hosted by Heroku, you'll need to change the default DB driver properties to use sslmode require. This can be done when creating the connection in the driver properties tab.

Read-only Connection

When creating a connection to a production DB on Heroku, it's strongly recommended to connect in read-only mode, to avoid to erase/change data due a misoperation. Whenever you need to change data in the production DB, it's recommended to do it using a RoR console.

Practically, DBeaver has a feature that allows to set specific settings per type of connection (by default develpoment, test and production types are avaliable but you can create other ones). To connect in read-only mode, you can select the option read-only connection in the database connection settings.

Set read-only connection

Sandbox Mode

It's also recommended to not connect in sandbox mode. Using the sandbox mode wraps all the queries done from the client in a pending transaction, which is not commited until you commit it manually. Having such a pending transaction will block DB migrations during deployments done from the Heroku CLI.

To disable the sandbox mode, you need to edit the production connection type and enable the auto-commit option. In development and test connections, the auto-commit option is enabled by default

Disable sandbox mode