Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
PgManage: Modern, cross platform graphical database client (github.com/commandprompt)
160 points by thunderbong on July 21, 2024 | hide | past | favorite | 58 comments


Just tried this out, and although it visually looks ok it doesn't seem to even support basic connectivity options like unix sockets.

eg the hostname field for new connections must be a hostname or IP address, and can't take things like `/var/run/postgresql`.

That's super unfortunate. :(

---

As a data point, the program seems to create config files (on Linux) under `~/.config/PgManage` and `~/.pgmanage`. If you delete the application after testing, you might as well nuke those two dirs as well.


looks like you can just use a connection URL, https://www.postgresql.org/docs/current/libpq-connect.html#L..., it's possible to use it to connect to a unix socket that way.


Ahhh cool, good thinking. I've already moved on, but might take another look at a future point. :)



libpq normally connects to a unix socket by being given 'localhost' as the hostname or no hostname at all.

IIRC it'll also accept a path -as- a hostname but I'm guessing from your phrasing the field validation won't.


Are you sure about localhost? I'm not familiar with other libpq clients, but psql definitely always resolves localhost to an IP address for me.

You're right about it accepting a path (and defaulting to a compile-time selected UNIX socket path).


> libpq normally connects to a unix socket by being given 'localhost' as the hostname or no hostname at all.

'localhost' for a unix socket doesn't sound right. 'localhost' is a specific network address and has a default configuration in pg_hba.conf (127.0.0.1) for itself. It's different to the 'local' entry in pg_hba.conf that's specifically for unix sockets.

And yeah, the field validation in the IDE required some kind of value in the hostname field, and wouldn't take a path (ie /var/...etc), so no kind of fallback behaviour seemed workable. :(


localhost as unix socket shortcut is actually MySQL behavior: https://dev.mysql.com/doc/c-api/8.4/en/mysql-real-connect.ht...


This is great! OmniDB, which PgManage is based off of, was one of the very few free SQL IDEs that supported a debugger. Granted, the debugger UI was pretty clunky, but it did work.

https://github.com/OmniDB/plpgsql_debugger


Is there an existing comparison between pgManage and pgAdmin somewhere?

At first glance, it seems they serve the same purpose. Am i missing something? (besides the support for some other DBs - but pgManage states to target postgres primarily)


The main difference is that PgManage supports other databases too (although being mostly focused on Postgres support). Some new features introduced originally in Postgres get ported to other databases too (table structure editor and ER diagam tools for example)


How does this compare with something like DBeaver, my goto graphical DB client?


DBeaver is the best free (with a paid option) DB client in my experience and I have tried many. I have used it with many databases: DB2 (MVS), DB2(linux), Postgres, ISeries, MySQL and SQLite. Datagrip is better IMO, but I have the JetBrains Ultimate Edition for other reasons so it is "free" to me in a sense.


DBeaver is my go-to as well, came here to ask the same question.


nit: it's not a graphical database client, it's a browser-hosted database client.

A "graphical" database client would be running as a standalone application outside any browser.

[… according to the definitions I'm familiar with …]


Well, since it is wrapped withing nw.js it looks and feels like any other desktop app and does not need a separate browser to use it. However technically you're right - it is a web-based app, built with web-oriented technology stack (javascript, vue.js, django, http etc)


> it looks and feels like any other desktop app

It doesn't, though: from the very start, you don't need to enter credentials on a desktop app, let alone create a 8-character password. And it doesn't look anything like my other desktop apps either, in regards to GUI elements.

Lastly, if things go wrong, like when you follow the README and don't run the needed "manage.py migrate", … error reporting is by exceptions thrown in one of the 2 processes running in the background. The browser interface is just stuck.


> A "graphical" database client would be running as a standalone application outside any browser

Could you link that definition of graphical excluding visual systems like browser? My understanding was graphical differentiated between CLI and TUI/GUI.


I can't, this is internalized knowledge that is 15+ years old for me and I have no idea as to its origin.

The browser is a GUI, stuff in it is a web app...

Do you have a good reference for a definition?


My goto these days is TablePlus https://tableplus.com. Native desktop client (no electron). UI is pretty standard, polished, and IMHO great. Supports PG really well (amongst other RDBMSes and some NoSQL dbs).

Yes it's not open source but its free version is still great.


Also a big fan. Amazing to have a cross platform native app nowadays.


This looks nice.

I have been looking for a DB client for postgres that seems to match the correct amount of features and interface that phpmyadmin has.

Not really a fan of pgadmin, I just find the interface to be too clunky.


We do our best to improve the user experience in PgManage, so feel free to check it out and submit your feedback on github project page:https://github.com/commandprompt/pgmanage/issues

Thanks!


Thoughts on TablePlus? It’s my goto and have never been left disappointed by it


Just tried it and, apart from the UI being highly confusing (you just get a blank workspace basically, and it's unclear how to see other DBs and objects in them) it seems to have no support for PG schemas. When I did manage to connect to my DB it showed me the tables in the "public" schema only.


TablePlus is VERY NICE and reasonably priced.


I've been using Jailer, which has a unique graphical join view which is quite handy: https://wisser.github.io/Jailer/data-browsing.html


I've been using Azure Data Studio with the Postgres plugin. https://azure.microsoft.com/en-us/products/data-studio


That's an interesting stack choice. A desktop client that uses Django as a backend. I kept wondering how this is rendered client side. TIL about NW.js.


Nice! The only thing it's missing is support for RDS databases with IAM authentication. Patches incoming...


If you are interested in this there's of course also the mature https://www.pgadmin.org. It's available for many platforms as an app or Docker image.


Why use this over dbeaver?


IntelliJ's database client is excellent too (available in many of their IDEs, cross platform - but only available in the paid versions I believe). Auto complete, many export options, editing, record views, results diffing, vast amounts of supported engines, and so much more

I don't think I've ever encountered a bug in 5 plus years of using it

https://www.jetbrains.com/help/idea/relational-databases.htm...


DataGrip, Jetbrains' standalone database IDE, is also excellent. I have been using it for several years to work with Postgres, Oracle and Redis.


I’ve even used it to connect to sql server


They also have it as a standalone database IDE, called datagrip. It’s really good if you’re not already using the plugin.


Their standalone client, DataGrip, is excellent, and free for educational institutions.


You can also download the EAP ("beta") builds for free :)


> I don't think I've ever encountered a bug in 5 plus years of using it

I have. There was a time a few years ago when the PG connection library it used to download would crash the whole IDE. The problem went away after a while (few weeks?), but I don't remember the details.


Haven't had that issue and I've used it since 2015.


Well, good for you. ;)


This is a fork and the new developers have no companies or social media profiles linked from their GitHub profiles. After the attempted XZ Utils backdoor attempt, that is a major red flag for me.


While I don't personally think this'll be useful for me as it doesn't seem to support unix socket connections, the company that's providing it is Command Prompt, Inc.

They've been involved with the PostgreSQL Community for at least 2 decades (as have I), so it's super unlikely this is something malicious.


Thank you for the feedback, we will try to make this use-case more intuitive in the UI: https://github.com/commandprompt/pgmanage/issues/437


That's good to know. I've been looking for an alternative to DBeaver.


I really like https://www.beekeeperstudio.io/ for my simple needs (view tables, run/format SQL, edit tables like spreadsheets)


Me too. I ended up going with DbGate (https://dbgate.org/). It's a little rough around the edges, but it has a lot of features.


Dbgate looks really interesting, do you know if it supports debugging (especially in postgres)? I didn't see anything on their site, but maybe it is offered via a plugin or something?


Just curious, what's wrong with dbeaver?


My biggest issue with it is how everytime I open it, it asks me to install a new version. Like, I am glad they're working on the software, but I'm getting fatigued from the inevitable popup


Mostly great, but I had an intermittent key remapping bug on the Mac not fixed for years. The default home/end document on Mac is not useful. Annoying enough to consider options.


I'd like to know too, because I think it's really great


For me, the biggest problem is its startup time (it takes at least 30-60s on my work laptop). It also randomly crashes for me when viewing any postgis related result sets.


You should ask your boss for a better laptop... No reason for it to take more than 5-10 seconds to open. Need more RAM?


If you like using psql, you might want to try out https://pxlapp.com/home


It can be pretty awkward to work with, although I've not found anything comparable, free, and cross-platform.

Sometimes the FK links in cells break. Other times views don't get invalidated when pressing refresh until a reboot. There are different refresh buttons all over the place for different contexts. Lots of minor quibbles despite almost weekly updates. It does have a gamut of features though - and it's free and cross-platform though, so it's one of those love-hate relationships for me.


Hi, pgmanage dev here. PgManage is being developed by CommandPrompt Inc. https://www.commandprompt.com/about/

Speaking of supply-chain attacks like the one happened with .XZ compressor - we are taking this matter seriously. I recommend to download PgManage builds from the Github releases page https://github.com/commandprompt/pgmanage/releases Cheers!


command prompt is pretty well known in the postgres world.




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

Search: