AttentionThis page documents an earlier version. Go to the latest (v2.1)version.
TablePlus is an increasingly popular database developer console with built-in integrations with major databases including PostgreSQL, Cassandra and Redis. It is free to get started with the option of upgrading to a perpetual paid license for a small cost.
In this tutorial, we will show how to connect TablePlus with all the 3 YugabyteDB APIs on a local cluster. TablePlus works without any issues with YugabyteDB because the YugabyteDB APIs are compatible at the wire protocol level with databases already supported by TablePlus.
TablePlus is available on both macOS and Windows. Follow the links below to download.
Install TablePlus after the download completes.
Start a Local Cluster
Follow the instructions in the Quick Start to create a local YugabyteDB cluster. We will use the macOS install instructions for the rest of this tutorial.
$ ./bin/yb-ctl create
Optionally, run the following command to initialize the YEDIS API.
$ ./bin/yb-ctl setup_redis
At this point, we have YSQL running on 127.0.0.1:5433, YCQL on 127.0.0.1:9042 and YEDIS on 127.0.0.1:6379. We are now ready to connect these API endpoints with TablePlus.
Connect with PostgreSQL-compatible YSQL
Create a new connection on TablePlus and then choose
Postgres from the list of database types.
Now enter the connection details as shown in the screenshot below and then click
Test to ensure that TablePlus is indeed able to establish connectivity with the YugabyteDB API. The color of the fields will change to green if the test succeeds.
Connect with Cassandra-compatible YCQL
Repeat the above steps for the Cassandra type as shown below.
Connect with Redis-compatible YEDIS
Repeat the above steps for the Redis type as shown below.
Explore with TablePlus
Now you have connected to all the YugabyteDB APIs and can start exploring them by simply double-clicking on the connection name.
Follow the instructions from TablePlus Getting Started on how to best use TablePlus.
Following is a known issue that we hope to address soon. You can track the issue directly on GitHub.