DBeaver works surprisingly nicely with less popular DBs. I work with Babelfish for PostgreSQL [1], it supports connections with SQL Server client libs. Most GUI client tools (like SSMS) expect "real" SQL Server on the other end of the wire - depend on various system views for DB introspection, so only partially work with Babelfish. Even if client tool is based on JDBC (like SQuirell SQL), it doesn't guarantee that this tool won't use additional SQL Server-specific queries for introspection. DBeaver is much better at this, I guess it is using JDBC API or DB-neutral INFORMATION_SCHEMA views for introspection.
I personally like the ER diagram viewer in DBeaver. On a project with very little documentation, it was extremely pleasing to point it to the staging database and be able to visualize the relationships between various entities.
They do use JDBC and even allow you to customize your choice of driver version for a db. It is a bit clunky when one has to resolve missing dependencies but that's just how it works I guess.
I know probably 95% of HN will see it as a downside but one of my favorite things about DBeaver is that because it is implemented on Eclipse you can install nearly any Eclipse plugin and they work. So I installed Vrapper to edit in Vi-mode, some git tools I like, PlantUML, etc. Really makes it a step above other tools in terms of the power and flexibility you can have with it.
Apart from that, you can install it inside regular Eclipse as a plugin, so then you can have your database window and your ER diagram next to your code. Again, something that really sets it apart from dedicated tools.
I love the Eclipse IDE. It's a shame the Eclipse Foundation doesn't treat it better.
Last time I tried to contribute to it, I ended up giving up. They wanted me to sign paperwork simply to report a bug. There was no documentation about how to build the IDE, which is scattered across dozens of repositories. Maybe that has improved, but I doubt it.
They seem to be putting all their eggs into the Theia basket, which is an IDE framework similar to VSCode. Would have been nice to see that energy go towards improving Eclipse instead of reinventing the wheel.
Improving the UI's handling of HiDPI would be nice. One can but dream.
Hi, I am an Eclipse Foundation committer, but I am not committing to the IDE itself.
You don't have to sign the CLA (contributor license agreement) if you want to report a bug, but you have if you want to contribute code, even a small patch for a bug you found. That's a legal requirement to protect the Foundation from contributions that may copy/paste proprietary code and to ensure that you will not in the future change your mind and make claims for your contributions. It's not peculiar to Eclipse Foundation, many open source vendors require contributors to sign a CLA [1]
My understanding is that Theia is currently more of a platform than a complete IDE. It is meant to be usable for building cloud-based IDEs, and you can test a distribution on your workstation, but being it a client/server architecture, you currently have to run a docker container locally to test Theia (or at least this was the case in Q3 2023). They are now focusing on the user interface and plug-in architecture of Theia (which is already capable of running VSCode extension). IMHO, for Theia to become really meaningful the server-side part needs to be improved: currently Theia reuses Eclipse JDT and other plug-ins on the back-end, which is fine for a desktop app, but less convenient for a client/server IDE as you will need a separate server-side container running the Eclipse plug-ins for every active user running the Web-based Theia GUI.
With respect to Eclipse itself, it has dramatically improved over the last few years, since the Foundation started making a release every 3 months. You may like the UI or not, but on my workstation it's now much faster and lighter than it used to be, and it's also faster and lighter than IntelliJ. To me the main issue with Eclipse is that it relies on P2 for plug-in distribution, which makes installing Eclipse add-ons a painful process.
Eclipse started as a "reinvention" of IBM VisualAge for Java and went through at least one major rewrite (transitioning to OSGi). I guess it's the standard pattern for mature code bases.
Would love to learn how you installed these plugins and tested them. Have you written about this somewhere or can you point to some resources that can help people like me, who use dbeaver but can't customize them well.
It's straighforward - it doesn't have the Eclipse Marketplace installed so you have to use direct installation, which just means you have to find the plugin site yourself, which is usually on the web site or github page for the plugin.
So you go to Help => Install New Software and then put eg: the Vrapper update site in:
I've used Vrapper with Eclipse for years, and I've used Dbeaver for years - yet it has never entered my mind before that I could use Vrapper with Dbeaver! Thanks!
Unfortunately I pretty much have only ever seen negative comments about Eclipse on HN. It seems immensely unpopular and often the minute you mention it you'll get a bunch of often derisive replies. At this point I've had to come to terms with the fact that I'm the odd one out and own it, and that is how I do it. No disrepect meant, more acknowledgement of my own exceptionalism.
I don’t know why it matters to me, but I’ve always been put off by it being ugly and using non-native widgets. That may be the only reason I’ve paid for TablePlus.
I’d probably be fine with a great TUI interface, too. So it’s really this intermediate UI that irritates me.
I find it absolutely baffling how often the prettiness of UI comes up as a HN comment.
If you asked me objectively "do you think it's pretty?" I'd probably say no, but never once has this even occurred me when using it since I'm usually just trying to get work done, which I find it very useful for. It's a productivity tool, not an art piece I'm hanging on my wall.
I think it's less about aesthetics and more about cognitive load.
Nonstandard UIs aren't end of the world, but if possible I don't want the extra cognitive load of interacting with 5, 6, 7, whatever slightly different GUI paradigms.
Like most developers I'm using multiple applications at once. Typically I'm using a terminal, text editor, browser, Slack, email, and maybe a database GUI.
A developer's cognition and cognitive load are limiting factors. Increase my cognitive load by X% and there is going to be a Y% increase in how long it takes me to do something and/or a Z% decrease in the quality of the work. Even if X% is small, it adds up pretty quickly. After all if we are employed full time that is 2,000+ hours per year of work.
Again, not just aesthetics. It's little things like, "does this software support the standard keyboard shortcuts for my system?" If CMD+W closes a window in every app except one that's kind of a pain. Etc.
While your point is understandable there are various types of people. An important aspect about user experience is aesthetic and ease of use. Some people care purely about functionality and others have mixed opinions on this. It's not fair to call it petty when you guys are just two different customers and users with different needs.
People sometimes forget the importance of user experience and it's why some amazing software barely gets used.
Personally I care about aesthetic and consistency but willing to sacrifice depending on what I'm doing.
Some applications are designed so well, it makes me look for excuses to use them. Other times the good UI makes it faster and easier to get the job done. An ugly UI makes me less likely to want to use an application, and a bad/confusing one makes it harder for me to get the job done, especially if it’s used infrequently.
UI and UX does matter, even when talking about productivity software.
There can also be an element of inspiration and influence. If all my tools are well designed, I’m more likely to set a high bar for whatever I’m building. If I’m using ugly and poorly designed tool. The bar for whatever I’m making will likely drop to the environment I’m around.
Imo it's not just about being functional so I can get work done. It's also about enjoying what I'm doing and having aesthetic tools is important to me. It's still functionality the most important? Yes. Do I prefer non-ugly tools to ugly tools even if I had to trade a bit of functionality for a lot of prettiness? Yes, every single time (as long as I can still get done what I need to get done, ofc)
Just to add insight: to me, inspiration is important, and beauty inspires me. When I coded a lot back in the day, I changed the coding font from time to time, for example.
A fun representation of the need for such beauty is in the game of Rimworld. In this world, the characters you manage react to the beauty of their surroundings, they need it to be beautiful to a degree, similar to how they need comfort, and recreation. Mood is central to the game, and an easy way to improve it generally is to create a beautiful environment, even if the characters are going to do mundane work like butchering.
I'd argue it's not really about prettiness but about fitting in, so that the UI isn't jarring or distracting. I think the situation would actually be similar if the rest of the system was ugly and one particular app's UI was pretty, rather than the other way around.
It's not about pretty so much as simple things like whitespace or other details. I would never release a UI that acted weird in any way. For instance, DB Browser doesn't scale when undocking. I have to close the app and open it up and then load the database again.
Another example is Total Commander. I would buy it if it worked they way I think and had proper whitespace instead of being infinitely configurable and using non-conventional UX defaults (hit R I should jump to the first file staring with R, FFS).
If I have to suffer through this shit then so be it. If I don't have to suffer through it...delete.
Underscoring the "HN comment" part. This is a userbase who are presently interfacing with a wall of text, some tasteful greytext and a coloured bar. This appears to be a crowd with low visual needs.
None of major Java/OpenJDK contributors (Oracle, Red Hat, SAP etc) care about desktop GUI Java libs. Jet Brains do care, but they are not major. All Java progress is concentrated on backend cloud services for 10-15 years already. This can explain why Swing is so underdeveloped and JavaFX was thrown away. Basically much more effort is required to make Java GUI look and behave nicely, comparing to Delphi/Lazarus or .NET GUI libs or Qt.
Dbeaver has quite a few Java annoyances. Windows don't resize properly, the tree list often requires multiple clicks and most annoying of all is running out of heap space on Java, especially if one tries to run more than one task at a time.
DBeaver uses SWT toolkit, its widgets are as platform-native as Java can do. Some of them can be much faster with long text editing than default Java Swing widgets.
Yup, SWT is a wrapper for actual native widgets, similar to wxWidgets. Some widgets are custom though, like the horrendously ugly tab widgets, which might be what the other commenter is reacting to. And the spacing and alignment usually doesn't look great in most SWT-based apps I've seen, for some reason.
It is free tool with gobbles of functionality. I use it occasionally and it works great. Whatever set of widgets it uses does not concern me at all. It does what I need and is convenient enough. Maybe it would matter more if I was spending all my work time with it but in reality I use it very occasionally.
So thank to the developers.
I also use another DB admin tool: HeidiSQL. This one is lightning fast. Most likely because it is native application. Written in Delphi btw
The default DB tool where I work is Heidi and I switched to DBeaver because I found Heidi to be horrendously unstable. Dozens of random exceptions on a daily basis, and because it’s single-threaded a long-running query will just lock up the entire UI to the point where it triggers the “this program is not responding” dialog on Windows.
A free and open source DB management tool is still an impressive feat, but I absolutely would not trust it with anything where blowing up would have consequences.
This complaint has been levelled against Java (and small talk earlier than that) since forever and it made no sense back in the 1990s either. Nobody complains about the Wild West of interfaces on web apps.
On a mobile I kind of get it because having apps work in similar ways eases the learning curve (I.e burger menus etc), but all the UI paradigms being used in dbeaver are the same as any other desktop app.
I appreciate the fact that it works identically on Linux as it does Windows (and presumably MacOS). Not even Microsoft maintain consistent use of widgets within their operating system, you still stumble across windows 3.0 looking screens in windows 11.
I say…it’s good that dbeaver eschews native widgets
I am in the same position. I used Postico in the past, but unfortunately it doesn't offer support for non-Postgres databases. TablePlus has really good native UI and I wish more apps went that route as you can definitely feel a difference between a native app and something like DBeaver.
I have been using it for 3 years with Postgresql and it still buggy. When the db is throwing out an error dbeaver just say that there was an error on line xx followed by java exception stactrace forcing me to login into the db via command line and figure out what is wrong myself.
If you want to write and debug a stored procedure then good luck!
The ui had many issues and only recently seems to be just usable.
At least with Postgresql, I can't really recommend for anything too complex.
For me it's buggy when it has to reconnect to something... eg. i work on something, close the laptop (suspend to mem), and the next day open it up, wait for an hour or two doing other stuff (so there's enough time to notice that the tcp session is down), and dbeaver shows a progress bar and gets stuck there, until i restart it, and click a zillion times to get to the proper psql table.
Also, the annoying 'new version,...' popups are annoying.
DBeaver is amazing. As someone who needs to do adhoc querying / extracting / loading of data from any hosts of system on a daily basis - this tool has saved me over and over again.
My beef is there doesn't seem to be a way to contribute $$$ to the OS version -- except for buying/subscribing to the commercial version. Maybe I've missed some web page that explains how to do contribute -- so if anyone knows if there's a way to do that --- post it here.
I swear I donated to them via paypal once long ago, but I think they've since removed all those donation links in favor of the EE.
Presumably any profits they make from merch goes into their pockets, so you could buy something from there that's in the price range you want to donate I suppose https://www.redbubble.com/people/DBeaverCorp/shop
Out of curiosity, why not buy/subscribe to the commercial version then, if this is the clear path for how to support the primary developers of the software?
I don't like the subscription options they offer. I just want to throw them $50 a year for the CE version -- which I would think is better than $0 a year I'm giving them now.
Also they made a browser database client (cloudbeaver) which is much better than pgdamin IMO. I set it for my company, so people can easily access database without creating tunnels, sharing passwords, etc. I tried pgadmin before, but it was incredibly buggy, almost unusable as a shared installation (often server would just hang until restart).
For desktop I, personally, prefer Idea Database plugin, because it's just SQL editor, but incredibly powerful one.
> For desktop I, personally, prefer Idea Database plugin, because it's just SQL editor, but incredibly powerful one.
I also quite like DataGrip (essentially a standalone of the IDEA database plugin, or maybe the plugin is a plugin version of the standalone, not sure which came first).
Aside from that, it's usually just been a mix of using specialized tools like MySQL Workbench, SQL Developer, pgAdmin and others, or something that tries to do it all like DataGrip.
Didn't actually find anything particularly amazing about DataGrip, but if I'm paying for the JetBrains Ultimate subscription, might as well use it because it's pretty okay.
I use dbeaver extensively at work. I like that you can graphically edit rows and it will start those changes as a transaction, so you can hit ctrl+s to commit the changes
> I like that you can graphically edit rows and it will start those changes as a transaction, so you can hit ctrl+s to commit the changes
One of my favorite features too. I don't doubt this has saved me from some
bad mistakes since you can use a methodology of "select rows to change" and manually set their value, then review, then Save, rather than issuing an update that tries to change them with SQL. For small scale ad hoc maintenance it's great.
[1] https://babelfishpg.org/
They have a sample on their website (go to the relationships section):
https://schemaspy.org/samples/epivirusurf/
The convenience factor is that you don't need a continuous connection to the db to refer to the diagrams or other docs.
https://dbeaver.com/edition/
It's a great tool, though, a bit buggy but most useful.
Apart from that, you can install it inside regular Eclipse as a plugin, so then you can have your database window and your ER diagram next to your code. Again, something that really sets it apart from dedicated tools.
Last time I tried to contribute to it, I ended up giving up. They wanted me to sign paperwork simply to report a bug. There was no documentation about how to build the IDE, which is scattered across dozens of repositories. Maybe that has improved, but I doubt it.
They seem to be putting all their eggs into the Theia basket, which is an IDE framework similar to VSCode. Would have been nice to see that energy go towards improving Eclipse instead of reinventing the wheel.
Improving the UI's handling of HiDPI would be nice. One can but dream.
You don't have to sign the CLA (contributor license agreement) if you want to report a bug, but you have if you want to contribute code, even a small patch for a bug you found. That's a legal requirement to protect the Foundation from contributions that may copy/paste proprietary code and to ensure that you will not in the future change your mind and make claims for your contributions. It's not peculiar to Eclipse Foundation, many open source vendors require contributors to sign a CLA [1]
My understanding is that Theia is currently more of a platform than a complete IDE. It is meant to be usable for building cloud-based IDEs, and you can test a distribution on your workstation, but being it a client/server architecture, you currently have to run a docker container locally to test Theia (or at least this was the case in Q3 2023). They are now focusing on the user interface and plug-in architecture of Theia (which is already capable of running VSCode extension). IMHO, for Theia to become really meaningful the server-side part needs to be improved: currently Theia reuses Eclipse JDT and other plug-ins on the back-end, which is fine for a desktop app, but less convenient for a client/server IDE as you will need a separate server-side container running the Eclipse plug-ins for every active user running the Web-based Theia GUI.
With respect to Eclipse itself, it has dramatically improved over the last few years, since the Foundation started making a release every 3 months. You may like the UI or not, but on my workstation it's now much faster and lighter than it used to be, and it's also faster and lighter than IntelliJ. To me the main issue with Eclipse is that it relies on P2 for plug-in distribution, which makes installing Eclipse add-ons a painful process.
[1] https://en.wikipedia.org/wiki/Contributor_License_Agreement
So you go to Help => Install New Software and then put eg: the Vrapper update site in:
And just go from there.I like DataGrip for a very similar reason, relative to IDEA plugins.
And this is irrespective of whether that 95% is right or not.
Google "father son and donkey story".
And re: that 95%:
See normal distribution aka bell curve.
And echo chamber and hive mind.
All of the above imply the same main point, just in different ways.
If OP went along the "father, son, and donkey story," then the OP won't have posted it at all.
I’d probably be fine with a great TUI interface, too. So it’s really this intermediate UI that irritates me.
If you asked me objectively "do you think it's pretty?" I'd probably say no, but never once has this even occurred me when using it since I'm usually just trying to get work done, which I find it very useful for. It's a productivity tool, not an art piece I'm hanging on my wall.
Nonstandard UIs aren't end of the world, but if possible I don't want the extra cognitive load of interacting with 5, 6, 7, whatever slightly different GUI paradigms.
Like most developers I'm using multiple applications at once. Typically I'm using a terminal, text editor, browser, Slack, email, and maybe a database GUI.
A developer's cognition and cognitive load are limiting factors. Increase my cognitive load by X% and there is going to be a Y% increase in how long it takes me to do something and/or a Z% decrease in the quality of the work. Even if X% is small, it adds up pretty quickly. After all if we are employed full time that is 2,000+ hours per year of work.
Again, not just aesthetics. It's little things like, "does this software support the standard keyboard shortcuts for my system?" If CMD+W closes a window in every app except one that's kind of a pain. Etc.
People sometimes forget the importance of user experience and it's why some amazing software barely gets used.
Personally I care about aesthetic and consistency but willing to sacrifice depending on what I'm doing.
UI and UX does matter, even when talking about productivity software.
There can also be an element of inspiration and influence. If all my tools are well designed, I’m more likely to set a high bar for whatever I’m building. If I’m using ugly and poorly designed tool. The bar for whatever I’m making will likely drop to the environment I’m around.
A fun representation of the need for such beauty is in the game of Rimworld. In this world, the characters you manage react to the beauty of their surroundings, they need it to be beautiful to a degree, similar to how they need comfort, and recreation. Mood is central to the game, and an easy way to improve it generally is to create a beautiful environment, even if the characters are going to do mundane work like butchering.
Another example is Total Commander. I would buy it if it worked they way I think and had proper whitespace instead of being infinitely configurable and using non-conventional UX defaults (hit R I should jump to the first file staring with R, FFS).
If I have to suffer through this shit then so be it. If I don't have to suffer through it...delete.
So thank to the developers.
I also use another DB admin tool: HeidiSQL. This one is lightning fast. Most likely because it is native application. Written in Delphi btw
Same thanks to the developer
A free and open source DB management tool is still an impressive feat, but I absolutely would not trust it with anything where blowing up would have consequences.
On a mobile I kind of get it because having apps work in similar ways eases the learning curve (I.e burger menus etc), but all the UI paradigms being used in dbeaver are the same as any other desktop app.
I appreciate the fact that it works identically on Linux as it does Windows (and presumably MacOS). Not even Microsoft maintain consistent use of widgets within their operating system, you still stumble across windows 3.0 looking screens in windows 11.
I say…it’s good that dbeaver eschews native widgets
I use it on gnome all the time and never run into an issue.
Dead Comment
Also, the annoying 'new version,...' popups are annoying.
Otherwise, a great gui.
> Connectivity: closing timeout for an idle connection was increased and disabled for embedded
And the weird wording when you finish restoring a database with the button "next" highlighted, asking for one more ride.
Deleted Comment
My beef is there doesn't seem to be a way to contribute $$$ to the OS version -- except for buying/subscribing to the commercial version. Maybe I've missed some web page that explains how to do contribute -- so if anyone knows if there's a way to do that --- post it here.
Presumably any profits they make from merch goes into their pockets, so you could buy something from there that's in the price range you want to donate I suppose https://www.redbubble.com/people/DBeaverCorp/shop
For desktop I, personally, prefer Idea Database plugin, because it's just SQL editor, but incredibly powerful one.
I also quite like DataGrip (essentially a standalone of the IDEA database plugin, or maybe the plugin is a plugin version of the standalone, not sure which came first).
https://dbeaver.io/
https://plugins.jetbrains.com/plugin/1800-database-navigator
https://www.oracle.com/technetwork/developer-tools/sql-devel...
http://squirrel-sql.sourceforge.net/
https://dbgate.org/screenshots/
TUIs:
https://harlequin.sh/
https://terminaltrove.com/gobang/
Not free:
https://www.jetbrains.com/datagrip/
DBVisualizer: https://www.dbvis.com/ (for exploring the schema)
Jailer: https://wisser.github.io/Jailer/ (for data browsing)
Aside from that, it's usually just been a mix of using specialized tools like MySQL Workbench, SQL Developer, pgAdmin and others, or something that tries to do it all like DataGrip.
Didn't actually find anything particularly amazing about DataGrip, but if I'm paying for the JetBrains Ultimate subscription, might as well use it because it's pretty okay.
This looks good. Anyone have experience with it?
CLIs: https://www.mycli.net/https://www.pgcli.com/
One of my favorite features too. I don't doubt this has saved me from some bad mistakes since you can use a methodology of "select rows to change" and manually set their value, then review, then Save, rather than issuing an update that tries to change them with SQL. For small scale ad hoc maintenance it's great.