My notes:
- Lists
- https://wiki.postgresql.org/wiki/PostgreSQL_Clients
- https://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools
- Clients
- Most clients are Java, which is a pain b/c
- they require you to list the DB in the connection
- JDBC drivers can not use a socket connection
- UI isn’t great
- Valentina Studio
- Has free & pro ($199) versions
- Was the easiest to get connected initially, but then found bug that showed it wasn’t using socket connection as expected.
- Navicat
- Linux version is a Wine app
- RazorSQL ($100 / year)
- Is a Java app
- Not much different from SQL Workbench, just use that instead?
- TeamSQL
- Electron, AppImage
- Wanted me to enter an email address just to use the software, became privacy concerned about how much stuff would get sent to their servers
- DbVisualizer ($197, $69 renewal)
- Java
- Downloaded & tried it, typical java app
- SQL Workbench/J (OSS)
- Java
- Datazenit
- web based but still Java?
- PgManage
- too crude
- JetBrains DataGrip ($199 / $159)
- Java
- PgAdmin3
- has lots of errors when used with PostgreSQL 11
- PgAdmin4
- installed, couldn’t get past the splash screen which said it couldn’t find the application server
- Sqlectron
- Electron
- Couldn’t get a DB connection to save
- dbForge
- Windows only
- dbGlass
- No longer developed
- HeidiSQL
- Windows only
- DBeaver
- OSS and enterprise versionThe vast coverage of JDBC is probably a good reason so many tools use Java. I'm sure you wouldn't prefer they all used ODBC or DBI instead.
Won't show more than a white screen because of "[Oracle] NJS-045: cannot load the oracledb add-on binary for Node.js 8.2.1 (linux, x64)" - this does not inspire confidence.
Website says "PostgreSQL, MySQL, BigQuery, SQL Server, Redshift, Snowflake, SQLite, Presto, Cassandra, Oracle, ODBC, and more on the way."
DataGrip is fantastic and not expensive if you use other JetBrains products. It also manages its own JDBC drivers -- you don't need to install at the OS level.
That was my experience as well. pgAdmin 4 is such a shit show.
As someone that has done lots of Java development you have lost me there, as JDBC drivers obviously do make use of network connections, usually TCP/IP sockets.
- Valentina Studio: support confirmed and fixed the bug in about a day. Waiting for the next release. Not crazy about some of their UI, but hopeful this will be my answer.
- DBeaver: going to give it a try
dpage/pgadmin4
Favorite features:
Well integrated ER diagrams that let you quickly see parts of the db related to current table, or the whole thing if you want.
SQL generation from structure or data edits. Great for cranking out DB migrations like a boss.
Ability to maintain many database connections at once, and support for doing stuff before/after connecting which we widely abuse to setup SSH and VPN connections.
Very liberal database support. My original search for a tool like DBeaver was from the need to connect to MySQL, Postgres, and SQL Server and not wanting to use a bunch of different tools. DBeaver supports roughly anything Java supports, which is everything.
Wide OS support. Good luck finding another tool that can connect to MS SQL Server on MacOs that isn't garbage or money.
The icon is also adorable
The only downside is a bit of classic FOSS UI clunk. Not nearly as rediculous as Eclipse or Blender or the like, but it takes a few days to get comfortable.
- Again I wonder why it doesn't show the tables first, I have to go through Schemas -> Public.
- 480 MB of RES RAM, I'm connected to one smallish Postgres DB.
- I can't even find "just show me the contents of the table, like 'SELECT * FROM'.
I know, maybe it's tailored for Enterprise Database Architects, but this is my smoke test for a DB GUIs:
"How long and how many clicks does it take so that it provides more value than: 'psql; \dt+; SELECT * FROM X;'"
Mouse over the buttons for an excessive amount of time and the tooltips will tell ya what they do.
Double click a table and go to "data" tab to see contents.
Schemas ->public is just a side effect of supporting a lot of different databases. Many support schemas
Ram is because default java heap size, you could probably change launch params to get it much lower though.
On all counts other DB tools I've used are just as obtuse and burn tons of resources. Most are written in Java or another high-level language because it's nigh impossible to get DB drivers for a ton of different databases working together in C. DBeaver is basically leveraging JDBC for what it was designed for
https://www.useloom.com/share/0e0b79b0b8304035af4bb15552abc3...
These guys actually fix their bugs. It works on every database known to humans, and also does nearly everything DBeaver appears to do.
For many people, including me perhaps, something like DBeaver is good enough since it's free.
https://www.jetbrains.com/datagrip/buy/#edition=personal
But you're probably right.
Compared to a six-figure salary? Developers tools are a bargain for what we get out of them.
But the real power of DataGrip comes by using it in one of their IDE that auto completes table and column names inside code and allows you to shift-click it to get to see the definition and show warning when you specify an unknown field.
There is absolutely no reason DataGrip needs to be a subscription service. There aren't any ongoing costs for customers to use it.
It should be a one-off purchase with optional support subscription, maybe requiring re-purchase at major version increments, not this bullshit where you need to maintain a subscription for a license on a binary program you already paid for and installed.
Feels as dodgy as Adobe turning Photoshop into a subscription service
Fuck these business models and the sales idiots who try to apply them to every single product
First, you have to define the difference between "major" and "minor" version. Users expect major versions to have some significant improvements or new features. What this means is as a developer, you have incentive not to release minor features regularly, but instead batch them together so you can do a "major" release.
Second, the sales team now dictates the release cycle. More major releases means more money, but do it too frequently and the user base revolts. In many companies sales dictates the releases, but now if development is late it's messing with the company's cash flow and ability to continue to exist.
Third, the software can never be "done", because that means no more major releases. As a result, unless there is a sustainable stream of new users, you get feature and scope creep.
Subscriptions mean predictable revenue, and make the developer's incentive align with users: keeping users happy. This means keeping the product stable, making incremental improvements, and evolving with features that make sense.
Of course the beauty of the market is you should be able to find products sold both ways, and you can choose.
You can see it on the “buy” page.
It’s still less than ideal, but I pay yearly for their “all pack” product and I feel with the amount I use it I’ve gotten my money’s worth every year.
If you want major updates, it's not weird to be asked to pay for it, which means continued subscription.
It works on every database known to humans
Our team just bought a bunch of licenses of DBeaver and I think this is only correct if you mean 'relational' databases. We have a MongoDB and Eleastic and I don't believe that DataGrip supports either of these, which was a real drag.We're fully on Jetbrains tools otherwise (R#, dotTrace and dotMemory, TeamCity as build server) so it was a no brainer for me to want to continue that trend but it didn't check all the boxes for us, despite its clear polish.
I tend to hate any IDE built on Eclipse (which I think DBeaver is), but I've been very pleasantly surprised with how well it works.
1. It's got very nice ER modeling where other tools (Like Oracle SQL Developer) make you jump through a dozen screens and a wizard to make a simple diagram.
2. It's got nice export tools to get your data to business partners in a more convenient way. Sure you can copy tables in pretty much every tool but there's just an 'excel' button that can pop open your current query in a new sheet.
3. It does have a weird delay when opening up databases sometimes where it 'reads metadata' about the table and it can sometimes take a long time to return even the most basic query. But once it's cached that data I've not noticed problems after that.
4. It does seem like the document database tooling isn't as baked as the relation tooling. I routinely get hangs when querying my Mongo collections, which is sometimes a drag. But it hasn't been a huge issue.
Overall, I'd highly recommend the paid version of this tool as it's helped me consolidate: Robo3T, Sql Server Mgmt Studio, SQL Developer, and MySQL Workbench into a single tool.
My previous workplace used to be locked into the Microsoft ecosystem and the core legacy product was backed onto a Microsoft SQL Server DB.
Over the years we pushed the business to move away from the MS/Windows ecosystem. When this happened, like many others, I looked for a UNIX compatible DB client that supported SQL Server.
First, I tried SQuirreL[1] and it was horrible. I just had to uninstall it and keep looking. I settled on DBeaver for a while as it has some nice features and it did most of the things I needed it to, but it was not particularly polished.
Eventually the business decided to pay for Jetbrain's All Products package which includes DataGrip and from my experience you could say: Eclipse is to IntelliJ IDEA what DBeaver is to DataGrip.
The other product I was looking closely at was Navicat for SQL Server[2], which looks pretty damn good and those who use it seem to swear by it. However, I am not a DBA and for that reason I can't justify the USD$699 personal licence price tag of Navicat.
DataGrip is not perfect, but it's pretty damn close and I think its price tag is well justified.
The embedded DataGrip can be a good tool inside one of their IDE though.
Except any non-relational DBs.
MySQL, Postgres, SQLite, etc...all the tools I need in one app.
I generally try to avoid Eclipse-based projects because they can be very bloated, but in this case it's easily justifiable.
So DBeaver scratches my itch of needing same tool across platforms, across databases.
Try binding MySQL to 0.0.0.0 (all interfaces) instead of 127.0.0.1 (loopback). That said, 127.0.0.1 should be fine provided you connect through the service name or the docker container IP), connecting via 127.0.0.1 doesn't make sense. Then again, it's docker on Mac, so I don't really know.
Fwiw, also used sequel pro on Mac, moving to Linux dbeaver was the only thing that came close.
Now I don't really mind either but dbeaver is a bit quirky overall.
Being told about Dbeaver and reminded of pgModeler right now is great because I am currently defining the tables for a project I am working on for a client, and as the number of tables grow jumping back and forth between the files that define each of them adds a still small but noticeable overhead. With a ER diagram tool I might be able to speed up a little part of the definition work.
Edit: Hmm, pgModeler might still not be such a great tool https://news.ycombinator.com/item?id=17693582
Used HeidiSQl for a long time but got fed up with issues with it freezing or crashing, especially when switching DB connections.
Dbeaver has been fantastic! Has some feautures Heidi didn't have, very stable & better looking UI. Thumbs up from me, definitely worth giving a try!
HeidiSQL feels like a finished product to me. Really no complaints at all and if you actually take a look at the commits, you'll see that the SINGLE developer puts in a whole lot of effort.
https://github.com/HeidiSQL/HeidiSQL/commits/master
The guy is great and calling the project abandoned is really not fair.
I'm not sure if it is just an issue with my machine, because others in my office still use Heidi and don't report the bugs I am having. Small as they are, they got annoying enough for me to start seeking alternatives. I would still recommend people giving Heidi a spin if they've never tried it.
HeidiSQL (with WINE) is still by far the best SQL client for me, because the UI is simple yet efficient and very clean.
Simple charts
A whole lot of my work ends up with a three- or four-column table with one column of buckets, and the other being counts of how many things ended up in that bucket. I'd love a view where I could render that into a line or bar chart as a sanity check, and have it update in real-time as I change my query. Instead, I end up having to constantly copy/paste into Excel and do it there.
Yes, I should be using a proper BI or visualization tool for real reports. But sometimes I just need a quick line chart to show that yes, that one count is going in the right direction.
DbVisualizer also has built in charts that are simple but... not free/open source.
It's not perfect but it's not bad. My experience was annoying (at best) to get drivers to work; particular the tsql ones (since Microsoft didn't provide Linux drivers at the time -- I don't know if that's been rectified). Once they're working though, everything else is fairly intuitive.
It's been a couple years since I moved to a different team and no longer need to connect to databases (and can't anymore... yay security). But I've considered using DBeaver at home for personal use.
Aesthetically, it looks great though. I wanted to like it.
Postico is very similar to Sequel Pro, simple but effective.
Navicat is the more feature complete option, but using wine on Linux is not cool.
I’m very happy with dbeaver.
Long time ago I started searching for a DB-client similar to "TOAD", but on Linux and targeting only my following key requirements: 1) write & execute single SQLs on a "page" which has multiple SQLs without having to use any terminator (";") between them, 2) ability to show the execution plan of the SQL in which the cursor is positioned and 3) ability to connect to different kinds of databases.
I ended up with nothing, and I actually even initially excluded DBeaver as running on Java (personal thing - most Java apps I tried always had some kind of bug which made it a no-go for me).
After a while I gave it a try and I ended up being extremely happy with it, especially because I can use it with basically all databases that I am/was using (I'm currently using it mostly with MariaDB & Clickhouse, but used it in the past as well with DB2, Kudu, PostgreSQL).
https://www.benthicsoftware.com
Inexpensive and light weight.
I just discovered DBeaver today, and while it's not up to the standards of SSMS (which is an amazing tool) with SQL Prompt, it so far beating the pants off Navicat.
[0]https://www2.navicat.com/manual/online_manual/en/navicat/mac...
I’ve been using DBeaver and I’ve been very happy with it though. Paid for the enterprise license to help support it too.
The biggest tools from Navicat that I miss within DBeaver are the data sync and schema sync tools.
If you like a cli tool, http://henplus.sourceforge.net/ is ok and easy to modify if you feel inclined.
It's written in Jython and used jdbc.
There is a version with line-editing around using jline.
There are so many free tools for databases and I'm wondering : How do the devs survive with free versions and/or open source?
Don't think donations will amount to any relevant amount.
Plus, the built-in support of SSH tunnels is a big plus for my use cases!
I use Dbeaver regularly and am very happy with it.
It's shocking to me, actually, how absolutely awful most SQL clients are. It truly was an area that was ripe for "disruption".
And why the hate for Java? Most other languages have runtime libraries or VMs too, does it really make a difference if that runtime code is baked into the exe vs. stored in a separate folder?
(I tend to be the opposite - if I can find a Java based tool to do the job I'll choose that because they tend to be very self contained, don't often require messing around with other OS dependencies ...)
- Bob unzip a Python package.
- Dennis suggested we hire a "penetration tester".
- Mrs. Fraulein was caught browsing "Jew Tube".
- Helen used an essential software product from a "Pentaho"company for more than three years. Mr. Flanders was so disturbed he bought that company and renamed it "Itachi Vantara".
- Raul was using "Zope" to build our Intranet, until our Purity squad learned it was an insult in Spanish.
- David boasted about installing "OpenSIS" at his university.
- Susan was reported for surreptitous use of "ClamAV".
I also recommend terminating Derek for using "Google". It's not in the blacklist, but it just sounds obscene.
It's a particularly lowbrow bit of slang and not something that worried me when I recently mentioned the name dbeaver in a professional context, although I am aware of it. It pleases me that I spend my time among people that are either ignorant of this matter or are happy to pretend they are.