Ask HN: What PostgreSQL client do you use?

61 points by iameoghan ↗ HN
There are seemingly a plethora of clients for Postgres [1].

What client(s) do HN use day-to-day? Why have you chosen it?

I'm looking for recommendations to use for light usage. Ideally, something that would help build the schema visually.

[1] https://wiki.postgresql.org/wiki/PostgreSQL_Clients

58 comments

[ 3.1 ms ] story [ 106 ms ] thread
For visual schema building the best I’ve found is pgmodeler. It is buggy and isn’t really a client but it is great at modeling, viewing schemas in a model, and overall making sense of how complex data connects.

Edit: For day-to-day I use Postico but am playing with beekeeper as soon as JSON and JSONB support are figured out.

I use and love Postico. But I do very basic stuff (SQL, DDL, editing rows, etc)
I have enjoyed using Postico. It’s very easy to use and not ugly, which is rare in the world of database tooling.
TablePlus - Love it! Cross-platform without Electron and yet still pretty. They got UX right, it's minimal yet powerful enough for me.
I’ve been using it for a awhile. It’s great.... much better than pgadmin.
Just discovered this recently, great app, it even replaced sequel pro which was my go to for MySQL DBs.
Another vote for TablePlus. Really solid and support for tons of other DBs. Came from Navicat which crashed a lot. Pricing is way better too. They also make DBngin, a great free tool for spinning up local DBs in a clean, self-contained way.
they need to allow more than 2 tabs in the free version
psql. It's installed everywhere I need to use it, it reads from stdin, and it writes to stdout. It's often the case that I want to take a SQL query that I've developed, generalize it a bit, and use something like

  psql OPTIONS <<EOF
  SELECT ...
  EOF
in a shell script (probably wrapped in a function for convenience).
to be fair. psql is not only available everywhere, but with a well customized .psqlrc file you can really get that tool to do what you want it to do.

On rare occasions I still need a GUI tool to explore a database because GUI definitely wins during the exploration phase by a lot.

Ironically enough for report writing I use metabase web ui. it serves most purposes I need from it.

What does your .psqlrc look like? I keep meaning to look into wrangling readline and getting history working well.
I do use psql for scripting, but for more interactive use, pgcli is quite nice too:

https://www.pgcli.com/

It doesn't help with visualizing schemas, however.

Ooh, that looks interesting (even though it doesn't do visual schemas as you say)
+1. Be sure to add \x auto and \timing to your ~/.psqlrc file to make the experience even better!
PgAdmin but I've not really looked around, it's the one I used when I learned postgres and stuck with it.
I'm using pgAdmin4 and I'm super happy with that. For the day-to-day tasks it's a great tool!
They switched pgAdmin from being a native app to a webapp and it degraded the usability quite a bit in my opinion.
I liked that pgAdmin had thorough support for the more obscure PostgreSQL features (e.g. domains). However, back in the pgAdmin III days I found it clunky, occasionally unresponsive, and just not fun to work with. With pgAdmin 4... my sense is they doubled down on that with a convoluted architecture where the "client" is a sort of front end to a web server like process they spin up.... really I just wanted a desktop client.

Truth is I never found a PostgreSQL graphical tool that I was happy with. The one with best PostgreSQL support was pgAdmin and the others were all lacking in that regard. In the end I just bit the bullet and took a week to get psql into my muscle memory. Best decision ever; in combination with a good .psqlrc I rarely find myself wanting for anything more. I work with fairly complex highly normalized schemas (100s of tables) and it tells me what I need to know. Of course, I'm doing a huge amount of database work so a more casual database user may not readily be able to get as much mileage out of psql (graphical data models help for some).

I think OmniDB (https://omnidb.org/) is a tool that seems to try to cover the same bases as pgAdmin, but doing a better job of it. I think I'd likely look there if I really needed graphical tool.

For the record, the last graphical tool I used that I was very pleased with was a tool for Oracle database development PL/SQL Developer (https://www.allroundautomations.com/products/pl-sql-develope...). For me, it hit a sweet spot that I've just not seen duplicated... but I stopped working with Oracle over a decade ago and that was when last I used this tool.

I've been using aquadata for years. It's been a fairly good time.

I have started to transition more of my work to datagrip because I use pycharm and it's right there.

dbeaver It's really good and surprisingly lightweight considering it's java app.
Postico seems to be heavily optimized for the 80% of what I need in a postgres tool. I love it.
Datagrip. I love the tight integration with PyCharm.
Psql when I want to do anything programmatic

TablePlus when I want to do data exploration.

I've heard good things from colleagues about JetBrain's DataGrip, but I haven't given it a fair go.

Most of these comments don't seem to cover what you're asking for, which was building the schema visually.

SQLEditor (https://www.malcolmhardie.com/sqleditor/) is quite good if you're on OS X. It'll generate entire schema or migration since last save.

Navicat , it has everything I can ask from a RDBMS client (it even supports NoSQL!), from days transfer, database diffing, scheme reversing, advanced DBA related tasks...
I really enjoy using navicat too, it is much more intuitive for me coming from mssql
Valentina Studio does the job for me.
(comment deleted)
DBeaver.

It suffers from 'oh God this was definitely written in Java, wasn't it', but it's mostly good.

Then I happened across pgAdmin recently which probably does everything I want from DBeaver, and has a docker image (it's browser based) but I haven't really tried it properly. Keep meaning to though, I have a hopeful feeling that it'd be 100% what I recommended if I had.

DBeaver is great, in part because it's purely functional. The UI is straight forward and well thought out.

It also supports everything.

I like some small features in DBeaver like clicking through on a foreign key takes you to that row in another table. I've seen lots of clients where you have to write another query.

Written in Java has the advantage of supporting any database which supports Java (which means every serious database on the planet)

Those other little features are like you can modify and edit the resultset of a query. It won't stop for a full minute if a db connection breaks. It saves sql querys you wrote Notepad++ style without asking "ARE YOU SURE?".

Its the little things that adds up and make a much better experience when coming from sqlDeveloper and PgAdmin4.

Valentine studio rocks. Free ver is sufficient.
I used Aqua Data Studio for years until they changed to $500/yr license. Tried using DataGrip but couldn't used to it, now I just use pgAdmin4.