Article summary
When development relies on database interaction, few things are more frustrating than a database client that gets in the way.
On my current project, we’re constantly investigating data, switching from table to table, and writing queries with our PostgreSQL database. After experimenting with a few database clients (SQLPro, Postico, and TablePlus), we quickly noticed that some are better for our needs than others.
To save you the trouble of downloading and testing them for yourself, I’m going to walk through of a few of the best.
My Criteria
- Navigation: Easy to switch between tables and queries.
- Content and structure: Shows me what I need to know.
- Support for multiple database management systems: I just want one client for all of my projects.
SQLPro for Postgres
If you are mostly looking to write queries, SQLPro for Postgres could be a great fit. I found it to be less of a database viewer and more of a query building tool. For example, navigating to a table generates a query for the first 1,000 items by default. You’ll have syntax highlighting and autocompletion of table and column names, making it easy to crank out queries. One downside of this client is that it is specific to PostgreSQL, making it less likely to be useful on the next project.
Overall, the organization is straightforward. However, working with multiple schemas can be confusing, as they are not separated. You can try it out with a seven-day free trial before deciding to buy the Pro version.
My rating
- Navigation: 👍
- Content and Structure: 👎
- Support: 👎
For my purposes, the query-centric design was inconvenient, so this was not my client of choice.
Postico
I recently started using Postico after a teammate recommended it, and I have found it simple and easy to use. There is a free version that offers a solid set of features–with the exception of multiple tabs for database connections or tables. However, with Postico’s quick view into referenced tables, I rarely find this limiting.
Similarly, the buttons in the footer allow for seamless navigation between Content, Structure, and DDL (Data Definition Language). Like SQLPro for Postgres, Postico only supports PostgreSQL databases, making it less portable.
My rating
- Navigation: 👍
- Content and Structure: 👍
- Support: 👎
Postico is a great choice for its ease of navigation and simple design. The visual design is not quite as tidy as other clients. However, the ease of navigation and viewing content makes it a go-to PostgreSQL client.
TablePlus
TablePlus is a great multipurpose database client that’s not limited to PostgreSQL. This is one that I like to keep around. The organization is easy to understand, making it easy to switch between database connections, schemas, table structure, and data.
Users of the free version will quickly find that there is a limit to the number of tabs you can have open at once. I would highly recommend upgrading to the Pro version to avoid the impervious tab limit warning and to support the project!
The design of TablePlus is more visually appealing than the average database client, and it does a good job of supplying rich features without overloading the user.
My rating
- Navigation: 👍
- Content and Structure: 👍
- Support: 👍
TablePlus is my choice client for its support of many databases, clean design, and ease of use. After nearly eight months of near-daily use, I still like it, and that is saying something for database clients.
So, Which Should you Choose?
- If you are someone who needs to interact with a database using SQL queries and want something that is tailored to PostgreSQL, SQLPro for Postgres could be a great option.
- If you plan to work primarily with PostgreSQL databases, you’ll find Postico highly useable. Even if you are not ready to buy the Pro version, you’ll find it fully featured and quick to learn.
- TablePlus is a well-designed client that I would recommend for anyone who interacts with a relational database. Its extensive support means that you will not have to install a different client with your next project.
There are many clients out there and they are always improving. TablePlus, Postico, and SQLPro for Postgres are just a few solid options for helpful database tooling.
Hi,
Dev of SQLPro here! Good article, just wanted to add a few notes though. “However, working with multiple schemas can be confusing” – You can split the database tree into schemas by unchecking the ‘Group schemas in database tree’ option in the ‘Advanced’ -> ‘Connection preferences’ section when editing a connection (the checkbox name is a little confusing). Also, SQLPro has a Studio version which supports multiple database types as well as matching iOS apps. Lastly, I’m curious why the support node was a downwards thumb? SQLPro has multiple support links within the app and generally provides support quite quickly.
Thank you for your comment, Kyle, and nice work on SQLPro! Thanks for the tip on grouping schemas; I did not know that was possible.
I came across the Studio version in my initial search and would agree that it could be good option for a multi-database solution. In the end, I found other clients that fit my specific needs a little better, but I would recommend it to others!
In response to your last question, what I mean by “support” is its support of multiple database types, not customer service. Overall, I found the software easy to use, so I never needed to contact support. I’m glad to hear that SQLPro cares about their customers!
You generally don’t reply to support, Kyle. There are way too many unanswered questions on your Github repo. Also, unlike almost any other product out there, your version updates are minimal and rare. That’s why most people switch away from your product (as discussed in multiple Github threads by your frustrated customers). Your SQLite Pro product is unusably buggy and doesn’t get updated. I’m surprised you still defend your product here!
Hey Neil,
You are right, I have dropped the ball on some of the open GitHub issues. I could definitely do a better job of communicating fixes to customers and it sounds like I need to work on this more in the future.
That said, I’m not sure where you are getting your information on the other statements.
> Also, unlike almost any other product out there, your version updates are minimal and rare.
SQLPro for Postgres received 14 updates in 2018 (you can easily see this using the version history in the Mac App Store). I wouldn’t consider this to be rare.
> That’s why most people switch away from your product (as discussed in multiple Github threads by your frustrated customers).
In the six plus years of SQLPro I’ve had at the most three customers post on either GitHub or the support forum looking for other products to use instead. In each instance I offer a refund. I consider this to be a pretty good rate.
> Your SQLite Pro product is unusably buggy and doesn’t get updated. I’m surprised you still defend your product here!
SQLPro for SQLite was updated 8 times within the last 12 months (also visible be the Mac App Store). If you have any issues or bugs to report, I would love to help you out. Please feel free to contact me via one of the support channels.
I recently discovered DBeaver (https://dbeaver.io/about). It is a free, open source universal database manager built on Eclipse and has too many features to count. In fact, the feature set may be a barrier to some users, as it can be overwhelming. But there is almost nothing it can’t do, and it is being actively developed. And they have a paid Enterprise version that includes even more features.
I wish I had discovered it sooner. I think being open source means it’s not marketed very much at all, which is a shame.
What about Navicat and PgAdmin4?
pgAdmin4 should be burried and forgotten
What about DataGrip (or the Database Tools plug-in available in most JetBrains IDEs?
+1 for DataGrip, they have great query builder as well as navigation that just works. Bonus points if if you are already JetBrains user, interface is familiar and expected
Thanks for your helpful reviews, Meredith!
I particularly love the wonderful Postico when my development environment is MacOS…
That said, as someone who’s been developing database-reliant software for 20+ years, I particular value tools that can follow me to any dev environment I need.
I encourage you to add DbVisualizer to your list of tools to consider.
I’ve been using it since the early 2000s, and it has has never let me down.
It Features:
– Multi-Database compatibility (I’ve personally used it with Postgres, MSSQL, Oracle, Sqlite and MySql)
– Runs great on all platforms
– Excellent support (they’ve replied to every support request I’ve ever submitted… promptly!)
– Reasonable pricing, especially for upgrades
– FANTASTIC SQL Query history feature (it makes all of your past queries searchable and recallable!)
– and a bunch of other features