Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: DbGate – open-source, cross-platform SQL+noSQL database client (dbgate.org)
198 points by janproch 18 days ago | hide | past | favorite | 76 comments

Hi all,

this is my passion project. I was unable to find nice SQL client for Linux, so I created it on myself. I have created proprietary SQL client for Windows in past, so this app is influenced by experiences from this work. Recently I have added support also for noSQL, MongoDB.

It's built on Electron using Svelte. Although Electron apps tends to be clumsy, partly thanks to Svelte framework is the app fast enough.

It's open source (MIT), cross-platform (Linux, Mac, Windows), or can be run as web-based application in browser. Hope it could be useful also for others.

Projects like yours are why browsing HN is still a joy -- this is diamond-in-the-rough software, and I never know when I'll come across it (also thanks to HNs stellar moderation and the mods that make that happen).

The stack this is built on is pragmatic yet being reasonably cutting edge (at least I think of Electron and Svelte as cutting edge, not "boring" software), the feature set is deep, good support, easy to download and install, and I like the vision (as in the UI has been built by someone who has seen other entries in the space before and is familiar yet not cluttered). Love the project.

Please make sure to think of a sustainable way to capture some of the value you're investing into this project, I don't see why it can't take a place as a widely used (No)SQL DB client. Even if it's just a buy-me-a-coffee button (or a paypal 1-time donation button, whatever has least fees), It helps to think ahead to what sustainability looks like before you have 200+ issues filed so you can keep the passion as people like me drive by, use your project and maybe complain but don't contribute.

Thanks. My plan is at first to have reasonable big set of active users, who will report problems, ideally also some contributors from community. Buy-me-cofee or donate buttons is next step

Well done, impressive features, I like the data edit capability, appears to be way better than other clients. I’ll give it a try - gotta be better than PgAdmin!

This looks very impressive! However, I can't get it to work.

Just installed it on Windows 10. When I launch it I get a taskbar icon but no actual window. There are also four dbgate.exe processes running, and when I right click on the taskbar icon and close it, three of them remain until I figure out the correct one to End Task on.

If there's any further info you'd like from me, I'd be happy to help out. It seems like your app could make my life easier, so I'd really like to get it running.

Note: I'm seeing the same thing on two entirely separate Windows 10 machines, so you might have a larger issue on your hands here.

I reported this in the GitHub issue as well, but the issue became immediately apparent because I've had this same issue running local servers - HyperV reserves (what I consider) large amounts of ports to do its business. You can run

  netsh int ip show excludedportrange protocol=tcp
to see which ones, and in my case the port DbGate was having issues reserving was in one of the ranges

Thanks, that's obviously the problem

Thanks for feedback. It looks like electron problem.

This issue was already created on github, https://github.com/dbgate/dbgate/issues/86 . Output from console could be helpful.

Next step would be testing dbgate upgrade, probably upgrade of electron would be neccessary

My console output is identical to what's already been posted there, so I'll just keep an eye on that issue.

Tangentially related, if any macOS users are shopping for a DB client here’s my experience:

After many years Sequel Pro (MySQL only) started having problems so I tried every tool in this class for macOS and ended up standardizing on TablePlus.

It supports most common DBMSs, works on Mac and Windows, and apparently has a Linux alpha.

I still prefer Sequel Pro’s UI but TablePlus is ok. No critical bugs although import of massive or complex MySQL dumps still works more reliably on the official CLI client.

Have you seen Sequel Ace? It’s a fork of the project that’s maintained again. https://github.com/Sequel-Ace/Sequel-Ace

I also use Postico for Postgres https://eggerapps.at/postico/ the UI there is nice as well. It’s the closest I could find to Sequel Pro.

Copying from an earlier comment of mine, as it might be useful to someone.

# Mysql Only:

- Sequel Pro (Free, Pretty, Mac only. Has issues with MySQL v8)

- Workbench - https://www.mysql.com/products/workbench (Free, Pretty)

- DBForge - https://www.devart.com/dbforge/mysql/studio/editions.html (Freemium)

- Querious - https://www.araelium.com/querious ($50 one time, Mac only)

- Sequel Ace - https://github.com/Sequel-Ace/Sequel-Ace (Free)

# Postgres Only:

- Postico ($40, Pretty, Mac only)

- PgAdmin - https://www.pgadmin.org (Free, Clunky)

# SQL Server:

- Azure Data Studio - https://docs.microsoft.com/en-us/sql/azure-data-studio (Free, Pretty)

# Multi DB:

- DataGrip ($89 first year, $71 second year, $53/year after that, Clunky, Powerful)

- TablePlus ($50, Pretty, Useful)

- DBeaver (Free version, Clunky, Powerful)

- Heidi (Free, Clunky, Usable)

- SQuirrel (Free, Clunky, Usable)

- http://sequeljoe.ohwg.net (Free, beta)

- Valentina Studio - https://www.valentina-db.com/en/valentina-studio-overview (Freemium, Pretty)

- Aqua Studio - https://www.aquafold.com ($500, Clunky)

- Navicat Premium ($599, Pretty, has good reputation)

- POPSql - https://popsql.com (free for 2 saved DB connections,12/Mo., Pretty)

- Beekeeper Studio (Free, Electron)

- DBGate (Free, Electron)

- VSCode Extensions (Free, Electron)

EDITED based on other comments

If I was getting new, I would definitely check out popsql, tableplus, and datagrip first.

I will second DBeaver. It can connect to anything and has made massive improvements since I started using it years ago

I will admit that DBeaver is great but MongoDB is not supported on the community version so we ended up on Robo 3T for just that one use case.

I never use MongoDB but I did not know that. That's pretty lame.

I used DBeaver for a few years until I got tired of giving 50% of my machine's resources to it, then switched to TablePlus and have been quite happy. I've never needed more than two tabs so I've never paid, but I absolutely would pay them (it's great).

If I was looking for something new right now, I'd try DataGrip first. I'm a huge fan of Jetbrains' products so I'd be happy to pay them for another useful tool.

Just my 2c. I'm sure others have different experiences/likes/dislikes

i am using dbeaver right now, it uses not much resources, just 250mb of ram

Interesting. I wonder what configuration or issue I was using that caused this problem for me.

If Azure means Azure Data Studio, it can be extended with other DB via official extensions.

If Mysql Workbench makes the list, why not Pgadmin?

+1 very happy Tableplus user. Keyboard shortcuts, clear UI, split pane... Much to love.

I am in no way affiliated with the product or it's creators, but have seen many SQL clients and can recommend it.

Same. SequelPro's interface was very intuitive but too bad the development stalled and SequelAce just didn't work as expected. (Somehow connecting through SSH just kept failing for no good reason when other SSH related tools just worked.)

TablePlus got good enough with its interface, though there are still some parts still feeling unintuitive like ordering of columns through numbering instead of drag/drop style but it's the best of workable solutions. (DataGrip is too heavy)

I was in the same boat, except I moved to Querious (https://www.araelium.com/querious)

Thanks for this. I've been using Beekeeper Studio (https://www.beekeeperstudio.io/) and I've been mostly happy with it, but glad to see alternatives. The only problem I have with Beekeeper is that scrolling the table view is really slow (laggy and jumpy), I assume it's because of Electron. Is DbGate any different there, you're using Electron too?

I am also using Electron. But I didn't come across problems with scrolling. Surely the reason is not Electron, Beekeeper Studio is created with Vue.js, maybe that is origin of this problem. DbGate uses Svelte, which should be much much effective, because of omiting virtual DOM. Formerly DbGate was written in React (which has also virtual DOM as vue), rewriting to Svelte boosted the performance markedly.

That's interesting, I've been writing a personal app as well, initially SSR, eventually switched to angular and an currently in the process of implementing it with sveltekit.

I've not perceived any Performance improvements beyond the first page opening, which is probably because that's SSR and then shipped to the client pre-processed. pages usually render within 100ms in both svelte and angular (including the rest call for the data) and there is no stuttering or anything in either unless I implement a leaky feature... Svelte is sometimes even slower, because it needs to fetch the component itself, which is usually prefetched in angular. (Bigger initial payload because of that but that is manageable as well using modules in angular)

And svelte is so much less mature in tooling/hooks etc that I'd expect it to be significantly more tiresome to use in bigger projects.

Its definitely a very interesting framework however. Having the option to choose which component to SSR and which to process fully on the client is incredible.

Check out the 'About' page [0], it lists the tech used.

[0] https://dbgate.org/about/

Loving the look of this. Amazing work! Are there any plans to provide diagramming and documentation support? Since I’m on MacOS One feature I really liked about DBSchema (Java for cross platform) was the ability to digram tables and relationships easily and then generate HTML5 documentation or quickly and easily for the Business Analysts. As others have said the core functionality you’re delivering here is already slick, and worthy of at least donations for the 4-5 days a month you are dedicating to this project.

Thanks. Yes, support of diagramming is also planned. About documentation, I am not sure, whether support it directly. Maybe this could be better achieved with some plugin, as there could be lot of options... Probably I will create some simple plugin making basic HTML doc, someone could than improve or fork and customize it

Very impressive! I use DataGrip currently which is great but it has performance issues. This is very fast! And I like that it's AppImage.

I really like the UI. And it's impressive what you've achieved.

The main thing that stops me switching right now is DataGrip has a great table/indexes editor that outputs normalised SQL which I use for creating migrations. Otherwise I seriously would have considered it.

Thanks! Table editor will be surely implemented. I am now deciding, what big feature will be the next, table structure editor is hot candidate. Next candidate is SQLite support

I'm glad you mentioned this! I'll keep your github bookmarked as I've been looking for something like this with SQLite support.

Have my vote for SQLite support! I frequently find myself in need of a proper tool to inspect, explore, query and modify SQLite databases. When I saw your Show HN, SQLite support was literally the first thing I checked for!

I'd really prefer to switch away from sqlitebrowser (AKA "DB Browser for SQLite.exe"). It's a fine tool, but a bit limited.

I am also glad SQLite support is going to be added. I will definitely try it. Have you checked out SQLiteStudio (https://sqlitestudio.pl)? It's ooen source and cross-platform.

I haven't, I didn't know it exist! Thanks for mentioning it!

I also use DataGrip and I've been searching from something lighter that can also handle NoSQL for my Linux box. I love that this is distributed in multiple Linux formats rather than just DEB and RPM.

Looks like something interesting to try, thanks for the efforts. Would really love/need to see SQLite support here.

This is a bit like Azure Data Studio...even built on the same platform, Electron... Good work btw but what is the advantage over using Azure Data Studio? (other than the lack of MS telemetry)

I have tried Azure Data Studio, before I have decided to create DbGate as linux tool. From my point of view, ADS uses technology from VS Code heavily, which is great in VS Code, but not in database access tool. About features, what I miss in ADS most are data browsing (filtering, sorting, master-details) features, it is neccessary to write queries manually. I think I am quite good in writing SQL queries, but it is annoying and slow to write very similar queries again and again.

What you mean exactly with lack of MS telemetry?

> What you mean exactly with lack of MS telemetry?

I believe the poster is just joking that ADS comes with MS telemetry and yours is free of that :P

Just to clarify in case OP wasn’t aware, HackerNews readers are often privacy conscious folk, and it’s quite well known that Microsoft (like Google and Facebook) embed a lot of user activity monitoring into their applications. The audience is happy you are not doing this.

As you said, DbGate has no activity tracking or monitoring. Tracking is only on site dbgate.org. I will never add any tracking to dbgate app. I believe that it doesn't have great sense in open-source project.

Looks great Jan. One small issue is that for PostgreSQL I cannot specify the database when I am creating a connection. Not a problem for local databases but you may not have access to the root postgres database on a specific server eg cloud hosted database.

Apart from that, well done, I have been looking for a good db client for linux for ages. I use DBeaver at the moment, and it's pretty good, but I do find the interface a bit clunky and yours looks much better.

very good tip, thanks

It looks great and surprisingly performant for electron app. Noticed that while adding postgres connection, you cannot specify database name. Many services uses custom database (vs default postgres) like heroku. Will you be able to add support for it?

Yes, this will be added soon. Thanks for feedback

Thank you for this amazing project.I really like it.

I am using HeidiSQL and was ok with it, but will try this for my next project.

Question: are you planning to support it for long time, and if so, how are you planning to keep developing it without any income from it?

Yes, I am planning to support it for long time. In fact, I deal with programming SQL clients over 10 years (in past, I have created DatAdmin and DbMouse clients), I would like to use this know-how to create widely used open-source SQL client. Of course, it depends also on feedback from users and community.

Now I have reserved 1 man-day per week for my non-profit or very-low-profit projects, dbgate takes 90% of this time. (+of course some evenings and weekends). I am planning to use github sponsors or something like this in future, maybe it would allow me to extend this reserved time.

Am I able to use DbGate 100% without mouse? I manage to do like 80% or so in stock SSMS, and haven't really bothered with dbeaver keyboard shortcuts.

I will start using this as my daily driver for my personal projects.

Honestly, not at 100% today. But I am very focused to make it keyboard-friendly, many operations could be done only with keyboard. Keyboard support is improved continually, eg. recently I have added configuration of keyboard shortcuts and command palette like in VS code (after F1), if you don't like context menu.

Looks great. Would be nice if Oracle is supported.

Oracle driver licensing is a pain. The way Metabase does it is to have the users download the Oracle jar and add the Oracle driver to a location it can read from.

I think the problem is HN community concentrates on anything but Oracle. Just an observation from all the discussions. I don’t have a bone in the game. My go to database is postgres by the way. But I love all the new databases popping up like cockroach and following them although have not used them on a project yet.

I am still amazed by how pervasive Oracle usage is for NEW projects in the enterprise. The only large enterprise I know that left Oracle is Amazon when they switched to Postgres and now they offer Redshift as a service to get off Oracle.

I have been looking for a native SQL client that is fast and works well on a HiDPI display. I've spent a few minutes playing around with it and this is exactly it. Thank you for making it!

Looks very nice! Is there a way to see logs? I'm not managing to connect to a MariaDB instance on Azure, and all it says is "Connect failed: An internal error has occurred."

You can execute dbgate from console, all available info is printed to console. Message "An internal error has occurred" seems to be from the underlying db driver. You could also create issue github, if more investigation is needed

Azure cloud should be not problem, what version of MariaDB are you using?

oh, that's useful. Thanks - I filed a bug. Hope I can use it soon!

This looks really great. One thing I love about DataGrip is that I have quality Vim keybindings through IdeaVim. Would it be possible to add Vim keybindings in the query editor?

Saw this and downloaded. Looks very good. Thanks for creating this. Fast, and plenty of features. I am using DBeaver and this looks like it can be a great replacement.

Another tool in this space is DBeaver (https://dbeaver.io/). Does anyone know how they compare?

Also there's MySQLWorkbench, but that's specific to MySQL/MariaDB.

Author's point of view... dbgate have much simpler user interface. dbeaver is powerful, but it has traditional design like other applications made by Java. dbeaver looks like Eclipse, whereas dbgate looks like VS Code. Another point - powering by javascript allows lot of "hacking" - plugins as NPM packages, data export/copy jobs exported as js files, which can be run with nodejs. This cannot be accomplished with Java.

> NPM packages ... which can be run with nodejs ... cannot be accomplished with Java.

Have a look at GraalVM.

Well, looks great...

It appears you need to buy the Enterprise Edition of DBeaver to get MongoDB support. And that is a recurring cost, not a one-time cost.

At first glance, Dbgate is faster to start than Dbeaver.

Amazing! Very feature-rich for a passion project.

Really nice. I liked the inbuilt join support. Creating reports must be easy with this thing.

Wow this looks nice! Can it generate ER diagrams? Also looking forward to SQLite support

Creating diagrams is now not supported, I have plan to add it, but not with biggest priority

I am also looking forward to SQLite

No portable package for windows. "All configured authentication methods failed".

Well done..

Could you please include filters within the database. (Databas filters)

If you mean search database by name in CONNECTIONS widget, yes, I want to do it. Could you please create an issue on github?

Is it possible to provide portable zips for Windows?

That should be no problem, I will add it in next version

Thank you! I will just second this as a requirement. Many of us don't install anything if we can help it, and prefer to keep our software library as separate from the OS's current install/instance as possible.

AWESOME, thank you for your work

Great work!

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