Hacker News new | past | comments | ask | show | jobs | submit login
Dbeaver – Multi-platform database tool (dbeaver.io)
483 points by vbv on Jan 17, 2019 | hide | past | favorite | 203 comments

I can't believe how hard it is to find a good database client tool that runs on Linux. I spent hours on Sunday looking for something that worked as well as pgadmin3. I don't prefer these Java tools that force you to manage JDBC drivers and usually share dated and cluttered UIs. Plus, I can't stand having to manage connections to each database instead of to each server. Let me connect to the server and then select my dB.

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 version

You can flip between postgres databases in dbeaver quite easily (dbeaver calls it changing the "active object"). I used to use pgadmin3 every day, and have found dbeaver to be much better, and about the same as DataGrip. Although some things still feel better in psql or pgcli.

The 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.

PopSQL (https://popsql.io) should give you the modern UI you're looking for. Although you will have to create a connection per database, unfortunately.

Just installed the DEB on 18.04.

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."

Despite being written in Java, DBeaver does let you connect to a server, then pick which database you wish to connect to.

HeidiSQL works fine with Wine.

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.

Datagrip looks ugly on my gnome3 with 4k and 2.0 scaling. Fonts are way small. Also, it's a bit on the heavy side.

Absolutely. I only work in MySQL and dbeaver was the only tool that worked without a huge headache in Linux.

I have subscribed to this issue [1] of azuredatastudio (ex sqlopsstudio) in the hope that one day it will support more than SQL Server. I am not sure Microsoft would have any interest in supporting others SQL engine though. Visually the software looks really similar to VSCode by the way.

[1] https://github.com/Microsoft/azuredatastudio/issues/56

> PgAdmin4 > - installed, couldn’t get past the splash screen which said it couldn’t find the application server

That was my experience as well. pgAdmin 4 is such a shit show.

> JDBC drivers can not use a socket connection

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.

they are probably referring to unix sockets. I used dbeaver already and got stuck on this very problem.

Ah ok, I seldom see them being used though.

TCP-only is not as big a deal as it used to be. If network stack overhead dominates your db connection you have probably done something wrong.

Sorry, I meant Unix socket. They are the best setup for postgres connections on a dev machine imo.

For what it's with:

- 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

Run pgadmin4 on docker, save yourself the setup.


Dbeaver is the best FOSS database UI tool hands down. I've done a lot of searching and haven't found anything close. Managed to convert my whole office to it in a matter of months.

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.

Just installed it for the first time in a few years.

- 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;'"

Maybe I've been jaded by SSMS and Mysql Management Studio heh. DBeaver actually has a better UI than most DB tools I've used, even though that's still not saying a lot.

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

I don't know those 2, but I like Sequel Pro and pgadmin.

And yeah, I found "data" and maybe reading the manual would even let me somehow get there quicker. Still, I don't remember ever working with Postgres (or Oracle) in whatever role or project and not needing the "data" view 10 times as often as the schemas or other stuff :)

I agree completely. The UI is kinda hokey but I still love it because I've seen so much worse. Try giving it a few weeks, as you need the more advanced stuff you'll learn where the bodies are buried and it becomes semi pleasant to use

My workflow is just too used to the easiness of using SequelPro, I can't live using any of "heavy" clients, not even DataGrip which is unfortunate as I cannot leave using MySQL.

Closest thing that works for me is TablePlus but the UI smoothness is still rough around the edges.

I have this same smoke test and it's one of the reasons we built "slash commands" into SeekWell (https://seekwell.io/). If you type "/show" (or even just "/s") you get a list of tables that will be filtered down as you type. Once you select a table it will autocomplete a SELECT statement and return the results. It also works for things like adding a WHERE condition. The goal is to make it so you never have to leave your keyboard, but also never need to type out menial SQL. Here's a 30 seconds video showing how it works.


DBeaver has some basic autocomplete that's frequently useful. Nothing super powerful but hitting shift enter(shortcut may be different off Mac) when on text pane at top of data tab will help you select cold easier

How is no one talking about https://www.jetbrains.com/datagrip/

These guys actually fix their bugs. It works on every database known to humans, and also does nearly everything DBeaver appears to do.

Perhaps, but DBeaver is free while Datagrid is not, in fact it is rather expensive at $199.

For many people, including me perhaps, something like DBeaver is good enough since it's free.

$90 individual


But you're probably right.

If you are a student it's free.

Also good tools are worth paying for, I have been a subscription user of their tools now for years.

I think it's like $199 for a subscription to the whole suite. If you are a dev (or work for someone who expects you to do dev work for pay) it's worthy spending a few of your coins on good tools.

I stare at these tools all darn day, and they rarely if ever crash. I don't regret moving away from Eclipse almost a decade ago, which used to devour all my system resources and crash and fail constantly.

That's 2/3 of a minimal monthly salary in Bulgaria. While developers sure make much more than that (unless they are in public sector), it's still nowhere near the $100k/year starting salary you get in the Valley. And that's still EU, you can go further East...

When saying something is not expensive (few of your coins), consider that it might be just your situation where it's not expensive.

You don't need $100k / year to spend $10 a month but I see the disparity of income around the globe can mean $10 is heavier than others.

There are tons of tools in the open source world that are incredible and free. The assumption that you have to spend money on tools does not apply to software at all unless you are working in a proprietary ecosystem.

What is the paid version of grep/ripgrep that works better?

Do you expect to be paid for your work or also offer it for free and live from donations?

>good tools are worth paying for

Not ALL tools need to be paid for.

Not all WORK needs to be paid for.

That is correct. Trivial example:

If I say I'll do some work for free the we can assume you don't need to pay for it.

Just like I should not complain if you decide not to keep doing it, when the need to pay for bills arises or I happened to abuse from your goodwill.

I agree wholeheartedly, and subscribe to the whole suite of JetBrains tools. Absolutely fantastic value.

Their all product pricing is pretty good value. If you need more than 2 of their tools (while using IntelliJ which covers half of their offerings), then you should switch to all products and quickly get to third year discount.

I use IntelliJ, AppCode and that already means I should be using all products pack which I'm subscribed to.

It's not the money, it's having to buy it.

> rather expensive at $199

Compared to a six-figure salary? Developers tools are a bargain for what we get out of them.

Developers are hands down one of the cheapest group of customers to deal with.

I've been shelling out for IntelliJ Ultimate for years because I want to support JetBrains. At this point I think I could actually get away with just the open source Community Edition, but it's worth paying them for the effort in my mind.

Is it common to buy your own tools in other skilled trades (when you aren't a freelancer)?

I don't mind buying good software, but it feels weird for me to pay in order to make my employer more money. It's not like the productivity boost I get from buying Datagrip is going to get me a raise or a better job.

That said, for software I use in my personal life I can and do pay, and I think we should all be more in the habit of either buying non-trial versions (Sublime, PyCharm) or making small monthly donations (Neovim, iTerm, regex101, QMK, et al).

Mechanics are often required to buy their own tools. Higher end chefs are expected buy their own knives. Machinists are expected to buy many of their own instruments.

It’s not universal but definitely not uncommon.

If the cost of the tool is within the budget of the tradesman or professional, it's more common to buy it out of personal preference for a type or brand of tool.

If no part of your toolset is within your budget, then you're in the working class, since you cannot ever own your own means of production.

That's not what working class means. If you earn money by working, then you are working class. If you earn money investing capital, then you're a capitalist. The working class can be further divided up, but those are all subcategories. A professional or a manager (petit bourgeois) are still working class. If you're a one-man company, then you're still working class.

You only transition once your investment returns surpass your income. Which is why truly rich people don't give a shit about income tax - they don't have income!

That's a fair statement to make, and one that I have heard before but the definition of what constitutes the working class is arguable thus most people predefine it per scope of conversation, and not in a global sense.

For example, in the UK, commonly doctors and lawyers have not been considered part of the working class, regardless of if their investments outside of their profession.

Because a doctor can work independently, and hire other workers like nurses, and attendants, and own all of their tools of trade outright, they are part of the petit bourgeois.

Now you say that petit bourgeois is part of the working class, but many would disagree as Karl Marx and Friedrich Engels popularized a more fine grained definition of social classes as follows:

1. the working class - factory workers, peasants, and people who earn only by their labour

2. lumpenproletariat (commonly considered to include vagabonds, criminals or the 'unthinking poor')

3. professional middle-classes (engineers or tradesmen who do not typically hire employees)

3. petit-bourgeoisie - Professionals and small scale managers who hire workers but work alongside them

4. haute bourgeoisie - landed aristocracy & other capitalists who live from investment alone

Now if you are not marxists, you may drop some of the classes or simply call them something else. The lumpenproletariat are sometimes called the "underclass", and in advanced capitalist economies the line between professional middle-classes and petit-bourgeois blurs due to capital infusions from the top. For example, startup owners should rightly be professional middle class, but are upgraded due to VC infusion.

There are other ways to define the classes as well that don't depend on monetary wealth----for example the ladder from: working class to bourgeoisies to gentry to elite/aristocrats, so the terms themselves are fairly overloaded.

Analysing class warfare is a bit of my hobby. I blame my sassy liberal arts professors. :)

> Is it common to buy your own tools in other skilled trades (when you aren't a freelancer)?

I can't speak broadly, but when I worked construction, most guys would bring a mix of personal tools and company tools.

If you don't want to make yourself more productive to make yourself worth more and try to stay at what you're being paid for, that's your option.

I don't understand why you don't to become a more productive person then you may get a better job offer or start your own company where you and your customers will be the one to evaluate your worth instead of a single boss of yours.

In many software jobs it's not possible to bring your own tools unless approved. Even if they are free and open source.

I love JetBrains, ever since I discovered ReSharper when I was still active in C# some 10 years go. Now I use PyCharm, DataGrip and GoLand on a daily basis and am happy to throw my money at them.

Isn't it becoming cheaper to go with all products pack at that point?

Not everyone makes a six figure salary and not everyone lives in a country where software developers are paid well. I do, but it’s a very ignorant view to justify expenses.

Is there any studies that show what kind of salary people get in various regions of the world for certain skill set levels?

I guess the StackOverflow salary data would be pretty extensive.

For developers in some countries, that's half their monthly income. Please don't think from only a US perspective.

Do you actually think people outside of the US make six-figure salary?

I'm not from US but I'm interested in knowing what people make around the world for software engineers.

Average annual salaries _before taxes_ in Western Europe starts between 30k EUR (Junior dev without a formal degree) and 40k EUR (Junior dev with a MS/engineering degree). I guess most people who started at 40k EUR finish their career between 60k EUR (as senior dev) and 80k EUR (as manager).

Then remove 25% as social charges + ~1 month of net salary as income tax + other various types of taxes.

Yes, for some $200 is still a very non-trivial amount of money to spend on something. If your situation makes this a no-brainer for you, you're in a better spot than many that make 6 figures.

Tell that to mechanics, carpenters, or any other number of professions that are expected to buy their own tools or do so for security outside of an employer. Still a bargain.

I don't think what you're saying changes what I said at all. $200 is still a large amount of money for people, even if other trades force their employees to buy their tools. I don't see how that changes anything.

Sure. Tools are still difficult to maintain and develop. I love VS code which is free (as in Microsoft). It has replaced JetBrains Pycharm for me.

That said, I have a JetBrains subscription because their suite has a lot of value if you deal with multiple types of databases (or Java/.Net). Their business model is refreshingly straightforward, the coding is solid and I don’t mind giving them money.

It's about $8 a month and even lower on subsequent years.

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.

The software is great but I would never buy it purely because of their business model.

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

I used to think like this too, but I've since changed my mind and understand why they do this -- and it can even be beneficial for users. There's a few big problems with the old model:

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.

I absolutely agree, subscriptions are the way to go for making your software business sustainable and better scalable R&D investments to maintain growth. Gitlab is an example of this in the dev tooling space.

I've bought Mailplane v3 for my Mac a few years back. The app did not get new features, only patches. New features came out with v4, which required another purchase. I didn't buy it because v3 is good enough, buying again is a psychological wall. If it was a subscription I'd be happily paying them and happily using the latest version.

Gitlab is a terrible example, they are charging for a SERVICE of providing hosting and support for their higher tiers.

They are not charging a subscription for you to be allowed to download Gitlab and self-host it.

Except if they decide they don't have any updates to release for a month you just paid them for a month of nothing.

The issue with a subscription for self-hosted or locally ran software is that you are obligated to pay an ongoing fee, without the provider being obligated to provide any service in return. Their terms do not require them to adhere to any release schedule or anything showing that by paying a subscription you're getting X. It's basically a recurring donation in hopes the software you already paid for gets an update.

Imagine if your OS required a subscription for your computer to be usable, even when the developer of your OS doesn't release any updates that benefit or affect you for months, if you don't keep paying your subscription you get locked out of all of your work for no reason other than some marketing douche thought it'd be a good way to squeeze a more regular revenue stream out of their existing customers?

I don't disagree with your points, but you can still sell software in the buy once model and just keep it live. No need for major versions unless they are needed. So the only point remaining is "we get more money this way", and that's something one could not want to participate in.

If you buy Jetbrains stuff you get a perpetual license included. It's just going to be for the initial version.

Great reasons, thanks!

Just so you know, although not very clearly documented, yearly subscriptions include perpetual license for that specific version.

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.

This. The JetBrains licensing model is great. Subscribe to get updates, with a perpetual fallback license for the last version when your subscription lapsed. Their old versions also continue to work across OS upgrades, etc. If you subscribe, the annual fee decreases substantially for the first few years. This is nothing like Adobe's Creative Cloud.

I thought their fallback perpetual license is actually for the version you had when you purchased it, not for the version that was available when your subscription lapsed?

Not sure if they changed this recently - I stopped following them when they switched to subscription with fairly onerous terms (which they rectified after backlash to ‘mediocre’, but never to ‘fair value’).

You're correct in that the current terms are a result of community backlash, or at least that's how I remember it. What would you consider "fair value" for such a tool? And does that include any period of updates and enhancements?

I would personally be okay with a perpetual license plus one year of updates, and keeping the last version at the end of the paid-for update period. Pretty much what they have, but you get to keep the updates you get, not just the initial version you purchased.

The reason this is more fair is that I am paying for the version and one year of updates. Jetbrains has no right to say at the end of the period that since I did not renew, they are taking back the updates they gave me, as if it was by their grace I had been given the updates. I paid for the updates, I get to keep them.

That said, they have every contractual right to enforce whatever they think is fair, and I have every right to recommend against their products and/or prevent the bulk purchase if I am in a decision-making position about it.

My subscription lapsed just before the New Year and I wasn't able to continue to use the software I had already installed.

In order to keep using it, I would be required to downgrade to the version available at the beginning of my subscription. 12 months ago.

If there are show stopping bugs in that version, then too bad. If it's not compatible with your current projects and plugins? Deal with it.

You always have a perpetual license to the last version that your subscription covered. It isn't anything like Adobe's model.

Not to mention all product pack isn't as costly as $50 like Adobe's.

Actually, it's the first version that your subscription covered.

All jetbrains products have a licence witch grants you the right to use the tools you buy forever(Without updates). If you buy a tool in 2019 you get a licence for 2019.1 and updates for a year. So if you never update you only have to pay once.

Except you only get the version that was released at the beginning of the cycle. In other words, when your subscription is over, you have to downgrade to a version that's a year old. Bugs and all.

With most software, this would not really be a huge deal. Photoshop? Who cares. Excel? Meh.

But with Jetbrains products you've got to consider whether the old version is going to be 100% compatible with your existing project files, plugins, keybindings, settings and configurations.

It's quite a gamble IMHO.

So why don't you pay once and keep that version for as long as you want? It's a perpetual license.

If you want major updates, it's not weird to be asked to pay for it, which means continued subscription.

Except if they decide they don't have any updates to release for a month you just paid them for a month of nothing.

The issue with a subscription for self-hosted or locally ran software is that you are obligated to pay an ongoing fee, without the provider being obligated to provide the service you're paying for. Their terms do not require them to adhere to any release schedule or anything showing that by paying a subscription you're getting X. It's basically a recurring donation in hopes the software you paid for gets an update.

At least you can know how it has been and JetBrains has been releasing several updates yearly for most of their tools.

If they quit updating to abandon (which is unlikely when they're making quite a ton from the subscriptions), you can quit paying.

    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.

DataGrip is great.

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.

1. http://squirrel-sql.sourceforge.net/

2. https://www.navicat.com/en/store/navicat-for-sqlserver/

I've never personally used it, but I'm fairly sure you can use Azure Data Studio[0] for plain MSSQL databases, despite Azure being in the name. I'd be in interested in what people think of it, since I've never seen anyone talk about this in the wild.


I paid for and use Navicat and it has always been stable, fast and good. A little pricey as you say, but good.

Have you tried TablePlus? (Not the author but just want to know the experience if you have.)

I haven't! But I was reading about it on this day as well and it looks well received, so I definitely want to give it a shot when I need to regularly use a DB tool again.

This, it's incredible. Amongs many other things, it supports a lot of the navigation/refactoring features of all the other IntelliJ products.

Does it do anything the IntelliJ database plugin doesn't do?

Nice if you’re only connecting to a single instance, nightmare if you have multiple. DbVisualizer is better imho.

I tried to like it and used it for a few months but eventually got back to SequelPro and it just feels breeze to use when every operation is so snappy not to mention an instant launch.

The embedded DataGrip can be a good tool inside one of their IDE though.

DBeaver support much more database products than Datagrip though.

> It works on every database known to humans

Except any non-relational DBs.

Prolly does not work on redis

Enterprise version, like with Influxdb as well.

I use DBeaver all the time and love it.

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.

Does it provide any linting or other code checks? I'm curious because I'm looking for something that can teach me proper SQL coding style and practices as I write it.

Yes. At least for Postgres autocomplete is very handy.

Been a user of DBeaver for years - across all my platforms. Its does most things well enough that it has not been a problem to use across SQLite, MSSQL, MySQL and various file based data. Easier to use than SQuirreL which used to be my fav. All of these are java tools I think primarily because of starting from JDBC for which there seems to be a driver for just about everything on the planet.

So DBeaver scratches my itch of needing same tool across platforms, across databases.

I like to try out new tools likes this, but whilst on my mac, and I generally use Sequel Pro for my databases (I use mysql and mariadb drop-ins). I have my database locally in a docker container, where I forward 3306 to 3300. Entering host as with correct credentials and port, it gives me this error: "Could not connect: Access denied for user 'root'@''". This does not happen with Sequel, but occurs with Dbeaver. It actually also happened trying TablePlus which is a piece of software that a fellow commenter was mentioning. I'm sure that it could be solved in my configs by allowing that particular IP, which is the local IP of the virtual machine which is serving docker. However, that is supposed to be completely transparent, thus I should be able to connect through As I haven't looked at the source code, it seems like the host lookup logic is flawed, as it translates my `` to ``. Why? Dunno. But this occurred in both Dbeaver and TablePlus. Works in my terminal and in Sequel however.

This sounds like a docker network problem more than an issue with dbeaver.

Try binding MySQL to (all interfaces) instead of (loopback). That said, should be fine provided you connect through the service name or the docker container IP), connecting via 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.

I know I can solve that by allowing "everytuldhing" to connect, but that is not my point. Hence my ""I'm sure that it could be solved in my configs by allowing that particular IP"" comment. That it's `Docker on mac` is kinda irrelevant, as it's still just a virtual machine with a somewhat static IP. My point is, that when it comes to transparency on that level, this piece of software does not acknowledge that, but Sequel Pro does. I'm not a particular fan of Sequel Pro, but it just works in these types of case. I'm still expecting, that software like this, would be able to handle this type of "proxy mechanism", so from outside the docker container, I could still connect through to it, thus making the default config adequate. Not sure if this is even makes sense, but I feel, that when connecting through a binding docker port, it should still use the origin IP ie.

Woah, that ER diagram functionality reminds me of a tool that I tried a long time ago but which I had since forgotten. Back then the tool in question had too many issues and shortcomings, but they may have developed it sufficiently now.


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

This is a great tool and it makes my life so much easier, so much better than pgadmin4

I've been using DBeaver for years now, and it just keeps getting better and better. I use SQL every day, and DBeaver is the best client I've found.

It's shocking to me, actually, how absolutely awful most SQL clients are. It truly was an area that was ripe for "disruption".

I stared using Dbeaver a couple months ago, after looking around for an alternative to HeidiSQL on my Windows 10 laptop at work.

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!

Nice to see someone that used HeidiSQL. I'm on the same boat. It feels like an abandoned project. I guess it's finally time to install DBeaver and say goodbye to Heidi.

>feels like an abandoned project

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.


The guy is great and calling the project abandoned is really not fair.

Yeah, creUsNa is right, definitely not abandoned, just maintained by one person. And credit to Mr. Becker, HeidiSQL is a fantastic project. I used it for most of my time at my current job, where I came in as a junior developer. My boss and his guys have been supporters of HeidiSQL for years, so they pointed me it to my in my early days.

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.

Thanks for mentioning this, I will also give DBeaver a shot instead of HeidiSql

If only it didn't have such a PTSD-inducing, eclipse-based UI.

HeidiSQL (with WINE) is still by far the best SQL client for me, because the UI is simple yet efficient and very clean.

I've had better experiences with DataGrip, but if I wasn't at a place that would pay for proper tools, DBeaver is an OK substitute. Neither, though, have the big thing I want in an analytical SQL workspace:

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.

Have a look at Metabase. It's open source, web based and runs from a single JAR. Not the same as a full fledged management tool of course, but I like it for simple queries and charts and the price!

DbVisualizer also has built in charts that are simple but... not free/open source.

Or if you don't mind the web based approach, Apache Zeppelin too.

I've used DBeaver at work on Linux to connect to Microsoft SQL servers and also to some PostgreSQL servers.

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.

I've used TablePlus before (Mac+Windows); its really good, and pretty affordable at a $60 one time charge.


My experience with it wasn't so great. Very buggy and unintuitive. I also got summarily dismissed on github when reporting a very pedestrian bug/oversight. https://github.com/TablePlus/TablePlus/issues/677

Aesthetically, it looks great though. I wanted to like it.

TablePlus is very nice and it supports NoSQL databases like Cassandra, CockroachDB, and Redis. It's Electron-based, so it is relatively heavyweight, but I like it a lot.

It is not Electron, it's native. The reason it's heavy because it contains the database drivers, some of them is hundreds of MBs (Oracle > 200MB).

Pardon me - I've checked and you are right. The look&feel really threw me off here, and I could've sworn it's browser-based.

I like DBeaver but I've been having some problems with how it handles timeout of connections. I often end up sitting with it unusable for up to 2 minutes because it can't seem to understand that a connection is dead, despite me setting all the available options to use a shorter timeout. I'm sure this is partly due to my specific network conditions but it nearly destroys its usability while other tools (eg: SquirrelSQL) just don't seem to have the same problem.

All of my colleagues use postico (I'm the only Linux user at my company), which seems quite nice. Can anyone who knows both tell me how this compares to that?

I’ve used postico, navicat(mac/Linux) and dbeaver.

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.

I prefer TablePlus personally, DBeaver just feels clunky in comparison.

No Linux support :(

Tableplus is fantastic. I've been using it for around a year now.

I love 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).

Biggest benefit for me is DBeaver is cross platform so I can use the same tool on Windows (work) and Linux (home).

Love DBeaver, been using it for years now. Engineer(s) is very responsive with github bug reports too.

Pgcli and PgModeler are usually by go-to these days. (Sometimes pgadmin4 if I need to see stats)

I am missing bigger screenshots though, I tried opening them separate but they are quite small.

Bigger screenshots, even one very large one, can be seen from the links on the Github page: https://github.com/dbeaver/dbeaver


I did this as well. I inherently expected screenshots small enough to be mostly unreadable would enlarge if I clicked on them.

I use DBeaver to connect to Oracle SQL (among other things) and it works well for this purpose. I tried other alternatives too but DBeaver felt the best among them (layout, options, and general speed).

Benthic software makes a really nice sql editor for oracle. “Golden”


Inexpensive and light weight.

Looks good, but Windows only :-/

Just sharing the database management tool I use and love: https://github.com/martingms/vipsql

Thanks for the love! Please let me know if there are any features that you feel are missing.

I'll open an issue.

This looks great. I currently use a few separate applications for working with various databases, looking forward to giving this a shot instead.

I use Navicat, and I'm very pleased with it.

As we're starting to move away from MS SQL Server, I'm just starting to use postgresql, and Navicat as a tool. But I'm really underwhelmed by Navicat's features and performance. It doesn't seem like a well-thought-out whole, and lacks a lot of obvious features (let's start with freakin' hotkeys for Run and Run Selected).

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.

Run is CMD-R, and Run Selected is SHIFT-CMD-R. [0]


I’m a huge Navicat fan and it’s the tool I most miss since switching to Linux. Their Linux version is just running the Windows version in Wine.

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.

Same here, it's hard to beat. And with the addition of MongoDB support, it's really a complete tool for my team.

My company's IT team won't allow install of non-approved tools. I'm stuck with oracle sql developer. fml.

Pretty sure if it's java based you can download it and run it entirely in user space if that is OK. Of course, making an end run around IT policy isn't always an advisable solution even if it does work.

Yup, I am in the same boat and DBeaver works great just running standalone even without admin rights.

It's a little buggy but it does everything the paid tools do. The only thing I really dislike is it requires Java.

SSDT and their DACPAC deployments is very good I wish an open source tool will one day try to offer something similar

Dbeaver is great.

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.

Doesn't work on the Mac right away. It exits with bunch of Java exceptions ranging from JRE versioning issues to Eclipse exceptions I don't want to care about. Piece of crap in my opinion. Thanks for the suggestion anyways. Next!

I've been using in on macOS and it just works.

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.

I used Dbeaver for years. Once with MS-SQL, which was quite unstable... But no problem with MariaDB, SQLite and PostgreSQL.

Plus, the built-in support of SSH tunnels is a big plus for my use cases!

Cool, can anyone tell how it compares to Datagrip by jetbrains?

I use jet brains Datagrip as well. It is great (for PostgreSQL) but the big issue is, it cannot connect MySQL database in utf8mb4 encoding. The issue is there for years. Dbeaver is great, there is no such issue to connect utf8mb4 MySQL!


Not sure what you are trying to say.

DataGrip is essentially a stripped down version of IntelliJ packaged with their database plugin. Dbeaver is similar but using the Eclipse framework instead.

DataGrip is to DBeaver what IntelliJ is to Eclipse.

I love jetbrains products, but DataGrip has always felt like the red headed step child of their lineup.

I use Dbeaver regularly and am very happy with it.

Does datagrip support nosql?

No that I am aware of. But compass for mongo works pretty well. It's fairly simple but to visualize the data and run some queries it's nice.

Not natively as far as I am aware.

After installing solusOS I was looking for a replacement for MySql workbench and was suggested this and I have to say it works really well.

Always used it while ddveloping database connected apps in Eclipse. Never let me down.

Anyone using it with exasol? What's your opinion on in memory databases?

Sometimes I use it, but data related for sql server, still prefer HeidiSQL.

What's the most convenient tool you've found for Postgres?

Great tool and it supports msaccess files

I use Dbeaver everyday. Thanks for it.

while i kinda like dbeaver on windows. the experience of dbeaver on macOS is terrible.

Great tool with a great name. Anyone who doesn't like it is an idiot :P

No need to insult whoever dislike your preferences.

Needs Java. I saw it mentioned in the HeidiSQL thread and thought I would try it. Never completed the installation. Not putting Java on my machine, nope. Yes, I do understand the advantages of Java. Runs everywhere, which is nice. I'm still not installing it.

The installer comes with it's own JRE just for DBeaver, so you don't have to install Java systemwide for it to work.

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?

Maybe I don't know JRE vs Java well, but I really dislike the constant "update Java now!" messages and the hassle that goes with it.

Ah yes, that's different. There's no need to install any of that stuff when you pick the DBeaver installer that ships with a JRE. It basically just adds another folder into the DBeaver directory.

The hate for Java has absolutely reached comical levels.

Reached? Disdain for desktop Java GUIs has been constant for many years.

kind of curious about the passionate avoidance of installing Java - is that an anti-Oracle stance or something else?

(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 ...)

It constantly hassles me with requests to upgrade. Doesn't it sometimes try to trick me into installing something else, too?

Yeah, the Oracle installer does / used to do all those things. Apart from anything else, you will now end up agreeing in the fine print not to use Java for certain purposes. Basically, don't use anything Oracle to do with Java.

Fortunately there are good ways to get it. OpenJDK and Azul have much more hassle free installations now. I personally use sdkman [1], but conda [2] is another very easy way to get java that won't hassle you.

Not that I'm trying to persuade you or anything - I was just curious!

[1] https://sdkman.io/ [2] https://anaconda.org/anaconda/openjdk

Thanks for the reply. You and the others have really lost me about the differences and compatibility of Java, JRE, OpenJDK, sdkman, conda??? Maybe I'm in the middle. I pay enough attention to not want to deal with Java, but I don't know well enough to find other non-Oracle ways. I might research all this someday and lose my distaste of Java.

Gave my honest thoughts on this and lost 3 karma points. Not too bad this time. I still have a few more to spend.

Yeah, it sucks that people will downvote people for legit opinions / experiences rather than actual bad faith comments.

I'm mainly interested because I write a lot of software that needs the JVM to run (I don't use Java itself much, but it comes to the same thing). So it is very useful for me to understand reasons people would reject my software.

I would feel uncomfortable saying the word 'beaver' at work.

Causes of termination at bart3r's company last month:

- 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.

Try working with adults who aren't afraid to use regular words

As a Canadian, I would have absolutely no problem saying the word 'beaver' at work.

Why? Is it a bad word in some language?

Among some the term beaver is suggestive, or even offensive. Think Thelma & Louise; "Damn! I hate that! I hate being called a beaver! Don't you?"

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.

I'm going to guess the cross over of Thelma and Louise fans and SQL database users is probably fairly low.

Every word in Urban Dictionary has at least one innuendo definition. Specially those that aren't innuendos.

courtesy of the late, great, Leslie Nielsen


Thanks for that. Time to add "Bad Golf My Way" to the rewatch queue, it was a favorite childhood movie of mine.

I guess a followup question for those who've been talking about this tool with colleagues, do you just casually call it "beaver" or the full "dee-beaver"? I want to call it "dee-bee beaver" but there's a missing b...

You are aware it's an animal?

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