8 ms·
Show HN: DbGate – open-source, cross-platform SQL+noSQL database client
- janproch 5y agoHi 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.
- garyclarke27 5y agoWell 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!
- hardwaresofton 5y agoProjects 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.
- janproch 5y agoThanks. 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
- jaywalk 5y agoThis 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.
- janproch 5y agoThanks for feedback. It looks like electron problem. This issue was already created on github, https://github.com/dbgate/dbgate/issues/86 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
- jaywalk 5y agoMy console output is identical to what's already been posted there, so I'll just keep an eye on that issue.
- chocolatkey 5y agoI 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
- janproch 5y agoThanks, that's obviously the problem
- noisy_boy 5y agoIs it possible to provide portable zips for Windows?
- cies 5y agoAnother tool in this space is DBeaver (https://dbeaver.io/ https://dbeaver.io/). Does anyone know how they compare? Also there's MySQLWorkbench, but that's specific to MySQL/MariaDB.
- queuep 5y agoAt first glance, Dbgate is faster to start than Dbeaver.
- janproch 5y agoAuthor'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.
- tannhaeuser 5y ago> NPM packages ... which can be run with nodejs ... cannot be accomplished with Java. Have a look at GraalVM.
- janproch 5y agoWell, looks great...
- philote 5y agoIt 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.
- deleted 5y ago[deleted]
- topicseed 5y agoAmazing! Very feature-rich for a passion project.
- option_greek 5y agoReally nice. I liked the inbuilt join support. Creating reports must be easy with this thing.
- aquir 5y agoThis 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)
- janproch 5y agoI 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?
- avinassh 5y ago> 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
- universenz 5y agoJust 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.
- janproch 5y agoAs 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.
- user3939382 5y agoTangentially 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.
- thenaturalist 5y ago+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.
- tornquist 5y agoHave you seen Sequel Ace? It’s a fork of the project that’s maintained again. https://github.com/Sequel-Ace/Sequel-Ace https://github.com/Sequel-Ace/Sequel-Ace I also use Postico for Postgres https://eggerapps.at/postico/ https://eggerapps.at/postico/ the UI there is nice as well. It’s the closest I could find to Sequel Pro.
- Vuska 5y agoI was in the same boat, except I moved to Querious (https://www.araelium.com/querious https://www.araelium.com/querious)
- sam_goody 5y agoCopying 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 https://www.mysql.com/products/workbench (Free, Pretty) - DBForge - https://www.devart.com/dbforge/mysql/studio/editions.html https://www.devart.com/dbforge/mysql/studio/editions.html (Freemium) - Querious - https://www.araelium.com/querious https://www.araelium.com/querious ($50 one time, Mac only) - Sequel Ace - https://github.com/Sequel-Ace/Sequel-Ace https://github.com/Sequel-Ace/Sequel-Ace (Free) # Postgres Only: - Postico ($40, Pretty, Mac only) - PgAdmin - https://www.pgadmin.org https://www.pgadmin.org (Free, Clunky) # SQL Server: - Azure Data Studio - https://docs.microsoft.com/en-us/sql/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 http://sequeljoe.ohwg.net (Free, beta) - Valentina Studio - https://www.valentina-db.com/en/valentina-studio-overview https://www.valentina-db.com/en/valentina-studio-overview (Freemium, Pretty) - Aqua Studio - https://www.aquafold.com https://www.aquafold.com ($500, Clunky) - Navicat Premium ($599, Pretty, has good reputation) - POPSql - https://popsql.com 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.
- fvv 5y agoAWESOME, thank you for your work
- yetanother-1 5y agoThank 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?
- janproch 5y agoYes, 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.
- llimos 5y agoLooks 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."
- janproch 5y agoYou 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?
- llimos 5y agooh, that's useful. Thanks - I filed a bug. Hope I can use it soon!
- astatine 5y agoSaw 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.
- otsaloma 5y agoThanks for this. I've been using Beekeeper Studio (https://www.beekeeperstudio.io/ 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?
- wilsonfiifi 5y agoCheck out the 'About' page [0], it lists the tech used. [0] https://dbgate.org/about/ https://dbgate.org/about/
- janproch 5y agoI 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.
- 411111111111111 5y agoThat'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.
- universenz 5y agoLoving 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.
- janproch 5y agoThanks. 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
- jdiez17 5y agoI 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!
- mhotchen 5y agoVery 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.
- janproch 5y agoThanks! 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
- client4 5y agoI'm glad you mentioned this! I'll keep your github bookmarked as I've been looking for something like this with SQLite support.
- TeMPOraL 5y agoHave 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.
- queuep 5y agoAm 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.
- janproch 5y agoHonestly, 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.
- tropin 5y agoNo portable package for windows. "All configured authentication methods failed".
- wisecoder 5y agoWell done.. Could you please include filters within the database. (Databas filters)
- janproch 5y agoIf you mean search database by name in CONNECTIONS widget, yes, I want to do it. Could you please create an issue on github?
- techwizrd 5y agoThis 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?
- ethanpil 5y agoLooks like something interesting to try, thanks for the efforts. Would really love/need to see SQLite support here.
- victor106 5y agoLooks 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.
- 1cvmask 5y agoI 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.
- datasert 5y agoIt 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?
- janproch 5y agoYes, this will be added soon. Thanks for feedback
- bbkane 5y agoWow this looks nice! Can it generate ER diagrams? Also looking forward to SQLite support
- janproch 5y agoCreating diagrams is now not supported, I have plan to add it, but not with biggest priority I am also looking forward to SQLite
- leommoore 5y agoLooks 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.
- janproch 5y agovery good tip, thanks
- pachico 5y agoGreat work!