Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: TablePlus – A macOS client for relational databases (medium.com/tableplus)
333 points by bit_4l on Feb 9, 2018 | hide | past | favorite | 155 comments

Love it! Please don't bother with people who don't care about proper native experience. I've been waiting for a tool like that for sooooo long and I'm really happy to see it. I love when developers use the platform to its full extent instead fighting with it (like Electron and all rest of cross-platform approaches)

And for those whining about "macOS-only" - take a look at Tower, a Git client that was initially macOS-only as well. They later released a dedicated, native Windows version, just like the developer of TablePlus wants to do, and it's awesome. True native experience will always win in my heart with cross-platform solutions and that's where I'm putting my money.

Actually, a Windows release is already in the works. It was supposed to be released in January but they ran into some delays. https://github.com/TablePlus/TablePlus/issues/9

You can find out about their tech stack in their FAQ: https://tableplus.io/faq

I'm happy with what I already have on Windows. I've never seen a better client than SQL Server Management Studio or SQL Server Data Tools and this tool doesn't look like it even comes close.

Honestly, I've never seen a native macOS app that I thought was any good though. That's why I typically just use them to compile my stuff for iOS. If I have to use some program on a Mac, I hope it's got a somewhat familiar interface and that's why I prefer Electron apps like VSCode on macOS.

Honestly, I've never seen a native macOS app that I thought was any good though

Of course you are entitled to your opinion, but I do find it ludicrous, and I'm sure many other people will too.

Proper, well-implemented macOS apps are great – ones that properly use all of the system services and toolkits make it really, really nice to work with them.

Pfffft. Mac fanatics are in the vast minority.

Awesome! I can't believe it took this long for someone to get it right! Support for Redis too?! Finally! Navicat is great, but very expensive, and its Mac implementation is a bit slow and buggy in my experience. Definitely not a first-class citizen on Mac. DataGrip is my primary tool right now, and I had no complaints, except that it was also slow on Mac, and had no Redis support, or table structure editing. And you've solved all of that! One small tip: Advertise the WHERE filter more prominently on the homepage. Fast WHERE filtering/column selection is crucial to a productive workflow, but it took me a while to find it on your interface.

https://tableplus.io/ for those who want to try it without reading the launch post.

Mac-only, Windows version planned. Free to download with paid upgrades giving more features: https://tableplus.io/pricing.

Looks like a good potential alternative to https://www.sequelpro.com/ (Mac and MySQL -only, donationware).

If it works as advertised, this might be one of the most pleasant surprises in a while. Will try it now. Been looking for a good alternative to pgAdmin.

Edit: Tried it out and it works really well from first impressions. Would definitely recommend trying it out as an alternative to pgAdmin.

Thanks! If you want to request any new features, drop us a message on Github https://github.com/TablePlus/TablePlus

Good to know. Our team is evaluating it now and if everyone is on board, we will be grabbing a few licenses from you!

You should link your blog/web page repo if you have one so people can help you clean up the English.

> https://www.sequelpro.com/ (Mac and MySQL -only, donationware).

sequelpro is open source: https://github.com/sequelpro/sequelpro

Wow, pretty nice so far. Sequel Pro has been my main workhorse, but the fact that it's MySQL only has often left me looking for other tools.

It would be great to see better support for relationships and triggers and such like Sequel pro, but I like what it has so far in the structure view. I think the idea of the colored connection status bar, but it would be good to see some sort of logic for coloring the text on top to match or at least contrast sufficiently (something like how iTunes did it[0] would be awesome).

Lastly, better import/export would be nice. You can export and specify a few options but it would be good to see a little more full featured (see also Sequel Pro).

The price point seems reasonable too. Honestly, it feels a little awkward that Theming (even using alternating row colors) is a paid feature, but it probably will generate sales as I am inclined to use it immediately just to get rid of the popups.

[0] https://panic.com/blog/itunes-11-and-colors/

I've been using DataGrip by JetBrains for a while now. I have no qualms with it, but the price would be an issue if I didn't have the full JetBrains pack already from my employer.

What is the killer feature of TablePlus? Should I try it even though I'm happy with DataGrip? Or is it just as good for a lower price?


DataGrip has one of the worst UI's (if not the worst) I've ever used.

If you create a new database (not using Datagrip), it won't show up in until you go manually enable it to be shown. I ran into so many issues wondering why my created databases didn't show up. (while spamming the refresh button in the toolbar). And ended up spending extra time to verify that they were there

Eventually figured out the setting is hidden in the context menu for a connection. Right click -> Database Tools (click). Get a new popup -> Manage Shown Schemas.

And the kicker is that it's not intuitively named AND hidden under a separate UI element. After not using DataGrip for a while, I end up spending a bunch of time digging through context menus trying to find it again.

While I have had my far share of head-scratchers trying to find the proper setting for x, I would certainly disagree that DataGrip has one of the worst UIs. I have used it daily for the past two years with a variety of databases (MySQL, Postgres, and Redshift for the most part), and honestly it seems like the best tool out there right now.

What tool is your preference?

Is that the reason you consider it one of the worst UI's you've ever used? To be fair, the UI does tell you that it's showing e.g. "5 of 6" databases next to the connection name. If you click on that text, you get the same Manage Shown Schemas dialog.

I would like to stay in the terminal even when working on a DB. But I never found a decent terminal based DB client with a GUI (TUI?). So I am writing my own at the moment. A terminal based database editor. It's a bit like vim for databases.

If you too are interested in such a thing, let me know.

DBCLI[0] offers some decent solutions (although definitely not "vim for databases"), have you played around with them? I have used and liked pgcli and mycli, but haven't used them extensively by any means.

I'd be interested to hear more about what you are working on.

[0] http://www.dbcli.com/

I think this is a misunderstanding. I am not building a client where you type in commands. I am building a client where you can browse tables like spreadsheets.

Maybe 'PhpMyAdmin for the terminal' is a better description then 'Vim for databases'?

Sorry! My comment before edit excluded the note about DBCLI being a different type of product (: "Vim for databases" is very clear.

Awesome. I'll send you an email.

A tool will never be a silver bullet. Somebody has a dozen of connections in staging, production, testing and many places. They have history and some strict mode prevents the human mistake (warning, prompt for the password before executing queries). That why we need GUI tool.

Have you seen VisiData[0]? It supports Postgres and sqlite at the moment (read-only). Do you want more than simple editing of fields and deleting of rows?

[0] http://visidata.org

Interesting. I will try it out. It seems somewhat heavy though with 191 files. Probably because it supports way more then what I need.

I have already implemented most of the functionality I need in a single file with just 395 lines of code.

It has no dependencies other than Python3. Most of those files are documentation, tests, etc. But, everyone has their own taste when it comes to proper sizing for their tools.


Edit: just HTH; market research/validation, feature requests, min-MVP etc.

Please see my reply to cdubzzz. I'm not building a CLI but rather a 'PhpMyAdmin for the terminal'.

Been using it for a month now and I love the modern sleek interface. It's very similar to Postico (which is Postgres only unfortunately). One killer feature for me is that you can assign colors to connections. When you open a window this color is prominently displayed at the top, very useful for distinguishing production and dev. ⌘+P command prompt is also supported, like in Sublime Text. Some nice touches is that you can assign custom icons to connections and that empty space is filled with cute drawings. One thing I miss is that if you don't specify a DB in the connection info, the main window doesn't list all the available DBs, you have to ⌘+K to get the selection panel.

Postico is great but it does seem to hang/crash with big operations quite often. From my quick tests it does not seem like TablePlus has similar issues which is fantastic.

I'm just trying it out now and it seems juuust nicer than Postico, yeah (which you can also assign colours to, I should say), but that ⌘+P thing just blew me away.

You have pointed out all the killer features. Btw the hotkeys won me.

Wow, I am so excited about this app. I have to wonder, how come the market hasn't supported something like this in the past - or more specifically - why hasn't SequelPro thrived and evolved to eventually support Postgres? Are developers too cheap?

Well, that's the downside of open source, you can't really demand for quick support & development. When we waited for so long, we needed to build it ourselves.

Thanks! I love Sequel Pro but multi-clause filters are a pain with it, and I'm never able to save my queries and have them available the next time I use the app.

Great job, I'll probably buy it after a few weeks of testing!

EDIT: love the commit feature. Not a fan of the cloud account thing, but the app still works without creating any.

I like what TablePlus is offering. My question is the price. $69 isn't horrible, but it is still a lot. Is this one time $69 with a long path of free upgrades or is this $69 once a year like other software I use (VMWare Fusion, Office, etc).

$69 is chump change - Navicat is like $1,000. I worry that it's not enough for the app to be maintained for a long time after purchase.

I'd pay $69/year without even thinking about it, maybe they should jump on the subscription train!

The pricing page shows $49 at the moment. https://tableplus.io/pricing

Thanks! I see it. It was $69 earlier today.

it is "You only pay once and keep using the app forever, but you can only upgrade the app for the first year after you purchased."

Compared to Navicat Premium this is basically free... Navicat Premium for similar amounts of Database Systems currently costs 1299$ even Navicat Essentials costs 199$ And to top it off you can even use TablePlus for free if you accept some Limits!

I love it, while it clearly gets 'inspiration' from Postico - (not a bad thing, Postico's interface is awesome) - the fact that it supports all databases and even redis support planned is making me a customer.

and I love making you a customer :D

There is a certain difficult to describe joy about tight native development. Ignore the haters, congrats on your release.

Thank you <3

Thank you for this. If there is one area where there is a dearth of tools it's universal SQL workbenches. Only tool that's worth considering till now is Datagrip and now this looks promising.

Right to my feeling

This looks pretty sweet so far. I love having multiple panes, multiple tabs, and good shortcuts. When you click on a row it also appears in a vertical orientation in the sidebar on the right, that's a nice touch.

Today, I use mysql in the terminal most of the time. The main reason I've been using the terminal instead of SequelPro is my terminal has the scrollback available from my previous queries. This is great for comparing results, printing out a few table schemas to help write a query, and acting as kind of a log of my thought process. Terminal has a lot of other disadvantages, but I've accumulated a lot of tricks to mitigate them.

A nice implementation of tabs and panes could chip-away at that advantage, definitely, so this app is exciting. One limitation in the current implementation is it looks like table views need to take up the whole tab. It would be nice to have a table view in one pane, and a query editor in the next.

The app has a nice query history sidebar. In addition to the query, it has the timestamp; my terminal doesn't have that. Could this concept be expanded to include query results? My first instinct was also to try dragging and dropping one of the queries from my history into the desired pane. That didn't work, but its behavior of adding it to the pane where the cursor was last works well.

All in all, I think this will definitely find a regular place in my tool set; thank you for making something cool!

I work at an Oracle shop, so this doesn’t work for me right now, but I’m looking forward to playing with it once Oracle support comes out.

It's on the roadmap and will be rolled out soon.

Looks quite nice.

Currently stuck on pgAdmin 1.22, as I won't touch the "modern" Electron version of it.

I've recently discovered DBeaver, and am quite happy with it. https://dbeaver.jkiss.org/

Likewise, was wondering whether someone would mention it here. I'm quite impressed and considering at some point paying for the premium features (mainly support of NoSQL databases).

Even for just PostgreSQL, Postico is fine on Mac but then on Linux the best I've found is DBeaver.

Thanks, I will have a look into it.

I wish pgAdmin 4 was built on Electron. It is that horrible.

It is awful. I hope one day it's as good as pgAdmin3, but I'm not hopeful. It's great to develop it in the same way as postgresql because that's how the developers are used to working, but it would really benefit from a more open development model using github or gitlab. I don't understand why they chose their tooling for pgAdmin4, but I'm sure it must be buried in the mailing lists somewhere...

Thankfully BigSQL are still updating pgadmin3 to work with postgresql 10: https://www.openscg.com/bigsql/pgadmin3/

I just cross-checked, yep I got it wrong, but it isn't much different than from Electron.


Electron what?

You are right, it is not Electron, I mixed it up because it is anyway the same idea.

> Written in Python using the Flask framework for the backend, and Javascript/jQuery/Backbone for the frontend, it can easily be deployed as a WSGI application for multiple users in practically any network environment. A small runtime application allows it to be run as a desktop application - this is a Qt executable that incorporates a Python interpreter and web browser along with the main application in a single package that can be installed on a developer laptop as with previous versions of pgAdmin.


Well done!

Now I wish I had something as fancy for my meek Linux box.

It's not as good as this or Sequel Pro - but Sqlectron (https://sqlectron.github.io/) has been pretty good for me as a Linux-friendly client.

I hadn't seen this before, but I love their attempt to keep parity between their text/term version and the gui version; quite clever and the text version is really functional.

Thanks, that looks pretty good!

This is timely! I spend all of yesterday setting up a Windows 10 VM just to have access to MSMS. The existing field of macOS MSSQL clients are light on features, including Microsoft own cross-platform SQL Operations Studio.

Question: Does TablePlus have a way to create a linked_server via the GUI?: https://www.sqlshack.com/how-to-create-and-configure-a-linke...

Looks like this is a feature of MS SQL (I meant, only on MS SQL). I will read it and if it easy to implement, I will include it in TablePlus. Otherwise, we can add it by developing a plugin.

Cheers. If it helps with making a GUI version, here's how a linked_server in MS SQ is created via a stored procedure:


Absolutely love it. Buying it, thanks!

Lovely, thanks!

How is this better than DBeaver

It doesn't even seem close to DBeaver at this point, but who knows how it will progress. DBeaver is Java-based but still runs very fast on my Mac. Definitely the best db client I've used in years.

It's native, super fast, clean and beautifier. DBBeaver is esclipse + plugins.

take start-up time for example. I'm not sure about DBeaver but Navicat takes 6 seconds, TablePlus takes 0.5 seconds

I wish they have something like this for MongoDB. Didn't find anything good on OSX. Maybe Mongo 3G is still the best option and they just sold.

I don't see why they couldn't add mongo support to this. If it had mongo support I'd buy it instantly

Their tech stack faq (https://tableplus.io/faq) mentions "go for server side"

Can someone confirm what this is related to? Surely this app isnt sending all connections via some server(farm) the developers control?

No, I'm the author. I confirmed with you that we didn't track any your connections/database information (you can find it out in our privacy: https://tableplus.io/privacy)

We use Fabric to track crash and A/B testing and it's anonymous data, the data tracking clicks on a button etc.. and not related to your database content.

You can use some network tracking to track TablePlus traffic to verify it by yourself.

TablePlus server side is using for our website and licensing.

I'll buy that this is a true native macOS app, but why does it seem to be trying so hard not to be? Why does everything have a flat white background, and why is the list of data not a standard Cocoa list view? It's still a bit too visually disruptive for my taste.

Any major differences related to SQLPro Studio? https://www.sqlprostudio.com (apart from access to some systems, and price, but since I consume it via Setapp...).

And so: Plans to make it available on Setapp?

I run SQLPro Studio at work. Just downloaded TablePlus to play around. The big difference is GUI performance. With a 100k row sample set SQLPro Studio UI gets laggy. TablePlus runs it smooth.

TP also has more data display options.

I've used Querious for a while and really like it: https://www.araelium.com/querious

Like TablePlus, it's a native MacOS app, has great performance, and a clean interface.

But like Sequel Pro, it only supports MySQL.

They have somehow managed to write a 500-word article on their project, advertising that it's "built native", without mentioning which platforms it runs on.

The answer appears to be "only macOS, maybe Windows later".

We planned to release a Windows version in Jan 2018. Unfortunately, we got trouble with Swift compiler on Windows (not officially supported, only Linux and Unix). We decided not to wait for Swift and rebuild all the whole thing in C/C#. That takes longer so we hope to release it soon

So you are using Swift for the UI layer in macOS and WPF for the UI layer in Windows?

So why is there no Linux version?

Because Linux has too many distros. We didn't decide to use Gnome or C/C++ to build the interface. Since the team is very small, we have to focus on our best.

Just wondering, when a new tool like this comes out, how can one be sure that it doesn't contain any malicious code? Would love to try it for work, but am a bit concerned about this, at least until it gets vetted more.

If you're in Vietnam. I would like to invite you to our office to review the code.

Btw, as the author of this app. I publish all my profile. If my app does something wrong, you can sure I will end up in court (and definitely, I don't want to get that trouble).

It would be cool to see a plugin or native support for visualizing query plans.

Right, that'd be a big leap since we also plan to make it viable for non-tech users. If we put those kinds of feature in plugin, we can keep the app simple & clean.

I’d pay for a Linux version. Graphical SQL clients in Linux are the worst ever.

Not really a proper linux version but I had success running HeidiSQL with Wine since a while and I am a happy camper.

Try DbVisualizer

This is fantastic! I need to use it for a bit, but this might just replace tsql (finally!).

Some feedback:

I wasn't able to figure out how to mark something as favorite (no star icon, right clicking a table doesn't show an option).

Took me a while to figure that one out. I was able to write a query in the app and save it as a favorite.

This is the missing PostgreSQL client for OSX that I have been looking for. I am blown away by the intuitive UX. First time user and I already feel like I have been using the app for months.

Coming from pgAdmin, I couldn't be more pleased to see this. I was considering building something like this for myself with an electron app, but this is far more ideal. Great work!

This looks promising, i will look forward to the windows version, but the MacOSX as a first supported platform seems a bit odd, I used to think most DBA worked under Windows/Linux.

> I used to think most DBA worked under Windows/Linux.

I guess it depends on how you define a DBA. Surely macOS is huge among web developers, and since most non-trivial web applications interface with a database, web developers have to install and maintain DBMS systems and create and interact with databases. Does that make them DBAs too? Arguably so.

This may be a little controversial, but I think Windows users are more accustomed to less-than-stellar UIs, and are probably less likely to pay $49 for a better UI when they already have something that they're familiar with and works.

> I used to think most DBA worked under Windows/Linux.

As as a SQL Server DBA I preferred to use OSX. Freed me from the tyranny of dogfood.

Yay, finally a Paw for SQL! :)

Do you consider adding Clickhouse support? I would really appreciate that


Are there other macOS apps that can read both MySQL and SQLite?

DBeaver (https://dbeaver.jkiss.org/) and the IntelliJ solutions: Datagrip or the IDEA ultimate database tool.

PopSQL (https://popsql.io) supports macOS/Windows/Linux and certainly supports MySQL and SQLite. [disclaimer: co-founder]

Cool, thanks

It appears to be an Electron app…

TablePlus supports both...

I know, that's why I asked if there are others that do as well.

FYI: Most of your footer links are not working & point to https://tableplus.io/#

Looks great! But please put up some information about who makes it. The "about us" link doesn't go anywhere. Trust is critical for such a product.

We will put it tomorrow because it's midnight now in our country :D

I think this looks great. But do you know what I would really enjoy - and that's a psql on steroids. Basically what I mean by that is take a lot of features in TablePlus but make a console app of it. You'd be expected to run super wide windows but it would lend itself to being used very rapidly without ever using the mouse, and being able to retain the incredible usefulness of psql while still getting an overview of your queries, your result sets, different view formats, etc. Maybe it's just me, but I would buy such a console app.

I have been working on just such a console app[0]. I would love to hear your use cases. Email me and I would be happy to give you a demo.

[0] visidata.org

There's also TeamSQL [0], which is pretty nice.

[0]: https://teamsql.io/

tl;dr: visit https://tableplus.io and see for yourself

Seems quite good, it does have issues with chunkwm though if you open two databases and then try and switch between them

Hey, are you using MS SQL or something? I just fixed a bug switching between MS SQL database.

For people that have tested it: can it set up connections over ssh tunnels? Would be a handy step to skip

Tried so far and unable to get a connection with a key to go through with no error console to review the issue. =[

Yup, you can connect over ssh tunnels. There is an option Over SSH in creation form.

Yes, it's like a piece of cake

Can I connect to SQLite file over ssh? I could not manage it through the "Connect with URL"

Looks better than MySQLWorkBench btw

The UI looks nice. Is there any plan for Linux version?

PopSQL (https://popsql.io) supports macOS/Windows/Linux and works with PostgreSQL, MySQL, BigQuery, SQL Server, Redshift, SQLite, Presto, and Cassandra. [disclaimer: co-founder]

What do they mean by native? That they are using macOS dev frameworks supplied by Apple, instead of a framework like Electron? If that is the case, how are they planning to have a Windows version?

Yes, we build it natively. There are tons of native applications: sublimes, Dropbox, chromes etc... and many ways to cross-platform. I don't want to spend 2GB for every electrons app (slack, vscode, database app...) so I build TablePlus natively. Basically, I split the project into 2 pieces. Logic and Interface. The logic can cross-platform because it is pure C/C++.

Dropbox does the same way with djinni: https://github.com/dropbox/djinni

I see, thanks for the answer. I am a fan of native applications by the way. Will the Windows version use WinForms, WPF or UWP for UI?

Chrome has a custom GUI framework of their own, and it does not look native in many cases (alerts, for example). Dropbox on Desktop is written in Python and uses PyQt (Qt itself is in C++ and looks fine on all platforms).

Sublime Text isn't quite native, as the text rendering is done with Skia IIRC.

Fast, beautiful and useful database tool

This is really well done. Thank you.

Any plans for BigQuery support?

We support BigQuery in PopSQL (https://popsql.io) [disclaimer: co-founder].

Thanks, I'll have a look.

They complain about Sequel Pro but TablePlus is limited to Mac :(

Excuse my shameless plug but I'm working on a Linux desktop client for postgres: https://sanchosql.com

Maybe someone will find it useful

You're working on a GTK client for Postgres.

Let's not forget that KDE exists, nor that you can use GTK on non-Linux platforms (I'm thinking of the BSDs here).


Sorry but I'm gonna rain on your parade here.

DBVisualizer already runs on Windows/Mac/Linux, connects to more databases, and implements just about every feature you're currently working on, plus all the ones you'll excitedly announce in the next few years -- like exporting data, query parameters, source table editing, charts, result set search, command-line interface, etc.


Your screenshots show so much wasted whitespace... timestamps that line wrap = half as many rows fit on the screen. Tons of unused space in the 'instagram_id' column.

A while back I used DatabaseSpy, which was also much more feature-rich than your tool. https://www.altova.com/databasespy

No relation to either tool, just a customer/user.

Dbviz certainly looks very enterprisey, checks all the boxes: java, non-native UI, tons of toolbars and sub-windows, vertical tabs (that's why enterprises need monitors that swivel). Btw, the row height in TablePlus can be configured in settings.

To my eyes, dbvisualizer and databasespy are never going to have native look and feel on OSX and I’m going to feel like their UI is inferior because of it. Maybe they’re more powerful & established right now especially but I used Sequel Pro when I was using MySQL for the same reason. This tool seems great for people like me who see good OSX experience as table stakes.

The true OSX experience from TablePlus won my heart

> To my eyes, dbvisualizer and databasespy are never going to have native look and feel on OSX and I’m going to feel like their UI is inferior because of it.

I'm having trouble understanding this thought process. Are you saying you'd pick a truly inferior tool that looks good on a Mac to a superior tool that looks inferior because of the UI?

This matters. The dbvis interface looks like a misclick waiting to happen. I seriously prefer using plain psql over tools with that much noise. If it doesn't improve visibility, it can GTFO.

Seriously, I have access to all the fancy features already. I need a tool that will make the usual stuff - table introspection, mostly - easier and more pleasant. If I need to export some stuff, nine times out of ten I'll do it in Python anyway.

dbvis is fine. It’s not eye candy, but it’s the only tool which gets the job done uniformly for any database you may need to connect to.

No, he's saying that well-executed native UI has a high weight for him when calculating which tool is inferior.

There is a config to change the number of lines, I changed it to 2 because I want more space (the default is 1 line and looks similar with DBBeaver or Navicat). see here: https://www.dropbox.com/s/niw2unpaqfwy7d4/Screen%20Shot%2020...

When you say feature-rich I hear cluttered. I don't want a tool that does everything, there's the cli for that. I want a tool to help me visualize things and build queries and sub-queries.

Awesome app!

Been using it for months and love it! Great work :thumb-up:

Navicat has a high price tag but its still a better tool and I wish everyday if I had to use a GUI it could be Navicat over TablePlus.

TablePlus looks good but its design is confusing and downright stupid.

> TablePlus looks good but its design is confusing and downright stupid.

Thanks for the great insight!

Next time try to articulate your point, the team is here and I bet they'd love to know how they can improve their design.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact