pgAdmin 4 - Why oh Why?

It looks like the PostgreSQL development team has decided to rewrite pgAdmin into a new version and I guess they're quite happy about it. A tweet I saw mentioned 10k hours spent on the first version. This makes no sense to me, since after using it for 15 minutes I saw so many problems with it that it cannot really be the application they wanted to produce.

This is just a quick rant about it because I'm trying so hard to get things done with it but it's just not letting me. And it's not because I don't want change. It's because it really doesn't work the way it should. I'll add some pictures later probably to showcase some of these issues.

Now, pgAdmin 3 wasn't perfect or wonderful in any way, but it got the job done. Sure, it hung itself if you had two long queries running at the same time. But at least it did things reasonably.

First of all, it's slow. It takes ages to load data from the server. I don't know why this is, I guess it's loading too much data. pgAdmin 3 showed properties of a table in sub-second times. pgAdmin 4 takes several seconds. This is very annoying.

Also noticed a major issue: put a long-running query in pgAdmin 4. It darkens the window and has a rolling thing. And sucks all the power from one core on my Intel i7 machine! And then it even crashes. Nice. This makes me feel all warm and fuzzy.

pgAdmin 3 had a small font and everything was nice as lists. pgAdmin 4 has big fonts. It has headings and whatnots that waste screenspace. This wouldn't be the worst thing usually, but I have a lot of tables and a lot of information I want to just see easily.

There is no concept of keyboard commants. Sure, I an run the query with F5, but how about refreshing the tree when I create a new table from SQL query? Right click, refresh, wait. Great.

View data from a table and want to use PgUp/PgDn to move in it? You're out of luck. We don't support that. Want to jump to beginning or end? Don't support that either.

Want to put two query windows into different monitor than the main program? Nope, we have one window and that's all you get.

Want to resize query result windows? You can kinda do it, but only inside the main window. And sometimes the windows are even lost.

Want to switch between tabs? Ctrl-Tab? No, we don't support that. Use the mouse.

Want to copy some value from a result table? No. We don't want you to. That's not allowed.

Truncate table? I'll show some random alert with the title AlertifyJS saying "Are you sure you want to truncate table {}?" which doesn't really make me want to click Yes since I have no idea if the table I want will be truncated.

Oh, and all queries show a nice fading messagebox when they finish. In pgAdmin 3 they just had a status bar which showed this info. I don't need distracting fading boxes, this isn't a consumer web page. This is a professional tool.

Another issue about this flashy fading thing: the information disappears. How many rows did the query return? Who knows. It was there for a second and now it's gone. Oh, wait, I can switch to Messages tab to check it out. Why bother showing the run time and row count on a status bar when I can mouse around and switch tabs?

The tree view doesn't have a horizontal scrollbar. Let's waste screen space for making the treeview larger than needed, otherwise you can't see the information there. But you will see a lot of white space because the information you want is on the 8th level and above. Table names are the 8th level on the tree. Column names are the 10th. You can imagine the white space on the left of them, all wasting screen space.

Column widths in the result grid are by default too small. No, you can't just double click to make them fit, or become bigger, like in pgAdmin 3. You have to manually resize them. And if you rerun the query you have to resize them all over again.

This is just unbelieveable. And this is done by people in the core team, who I would think use this daily and want it to work as smoothly as possible.

So why don't I use pgAdmin 3? Because it doesn't support PostgreSQL 9.5 or 9.6. Oh, and pgAdmin 4 doesn't support older versions of PostgreSQL either. And it doesn't even say anything about it. It just starts to throw errors and database disconnect messages everywhere if you try to connect to, for example, 9.1. At least 3 says "sorry, I might not work since I only support 8.4 - 9.4" and that's fine then.

Could someone please just update pgAdmin 3 to support 9.5 and 9.6? It can't be that big of a deal? Then I could continue using my well working workflow of multiple windows, anywhere I want on the screen. I could check it out myself, but would take some time to get to know the codebase and changes between the versions.

Or could someone in the pgAdmin team just fix these issues? I know it's v1.1 but it should have these basic things done. And please add a multi-window thing like in pgAdmin 3. It is very much needed, I'm sure I'm not the only one feeling this way.

But at least pgAdmin 4 has been done using Javascript and web views. Guess it's a nice way to make a flashy half-baked UI that doesn't support any of the regular keyboard shortcuts or separate windows or anything important like that. But at least it's easily multiplatform.

Note: Thanks to Adam Brusselback I did realize that I had a bit older version of pgAdmin 3, so I can actually use it with 9.6. Sanity restored until they get 4 into working order.

Comments (46) -

  • pgAdmin III already supports 9.5/9.6.

    They did a maint release after 9.6 just to add support on the official branch: https://www.pgadmin.org/download/windows.php

    And it was also forked by BigSQL with support added: https://www.bigsql.org/pgadmin3/index.jsp
    • Unfortunately, I agree with all that has been said in the article. I tried pgAdmin 4 and it was so slow and unfriendly that I had to go back to pgAdmin 3 for normal work. I hope 3 will get at least maintained to support new postgres versions (thanks Adam for info about the fork) - until 4 gets out of alpha and beta state, which may not happen soon if ever - because the devs built the program on web architecture its base is just wrong from the start and I'm afraid they will never be able to convert it into a snappy and user friendly desktop application. At the very least - 3 should not get officially abandoned until the alternative becomes usable.

      To me this is the major shortcoming of postgres - as much as I love the db and its features the provided administration tools are just so primitive compared to other databases. PgAdmin 3 was decent - not wonderful but got the job done and I was hoping that the situation would become better with 4 but it looks like the program is only going downhill, which is sad. Postgres needs a team of devs that can make a proper desktop application for administering the database. Until then we are left with some pricey commercial alternatives.
    • Thanks for the link, I dont really liked the new version of pgadmin
  • Just one note: "PostgreSQL development team" (the PGDG team) is *NOT* responsible for pgAdmin development.
  • I do completely agree with the article. The "why oh why?" question summarize it perfectly. And I am afraid that after postgresql goes to the v10, we'll be left in the water...
  • My idea when I first installed and used pgadmin4.  But it is all the result of the 'all must be in web technology' movement that together with win10 UI uses a lot of screen space for nothing.  Imho clearly a new development team that has not yet read any user interface guidelines.  
  • Must agree, pgAdmin4 feels slow and unresponsive (compared to pgAdmin3 which I have only used for a few months).

    It makes no sense to make software attractive whilst doing away with its efficiency.

    Will continue with version 3 and hope version 4 becomes more responsive.
  • I tried for 10 minutes to use version 4 but gave up as I usually have up to 5 or 6 separate query windows spread over 3 screens with multiple activities across multiple databases happening.  This version would reduce my productivity substantially.  Shame about all the time spent on building it.
  • I logged the performance issue on the pgadmin bug tracker. It was dismissed/rejected saying "performance is always being worked on" and that is not being considered as a bug.
  • I just tried pgadmin 4.1.2 and it utilize up to 85% of my CPU even when nothing is running. Is is soooo extremely slow and is practically unusable. I will try to install pgadmin 3 now
  • As the Angry Video Game Nerd would say, "what a shitload of fuck".
  • I really appreciate this post,  I am new to PostgreSQL, and had wasted a ton of time fighting with pgAdmin 4 and many other client tools.  Downgrading to pgAdmin 3 solved all my problems.
  • I'm a long time user of pgAdmin 3. pgAdmin 4 is hideous, slow, and unusable.

    There was nothing wrong with pgAdmin 3 - worked well enough for years on various platforms.

    When I first downloaded pgAdmin 4 I was confused, did not understand what it was supposed to be and why it was called pgAdmin. Unfortunately the fears were true - this was the supposed successor to pgAdmin 3. What an unredeemable crock.
  • Agree 100%.  This is awful.

    I'm on pgAdmin 1.3 and it tells me that 1.4 is the latest version.  Is that any better?
  • IMO, they (pgAdmin team) should not have choosen Electron as technology if are not JavaScript developers. I'm pretty sure that pgAdmin 4 is built using Bootstrap, jQuery and a thousend of libraries. Simply don't do that, they are penalizing performance doing this.

    There are light alternatives (and reactives), like React or Vue. They could do a good job, but they decided to do something fast, which contrasts with the work done by the PostgreSQL team.
  • thanks- extremely helpful to know that pgadmin 3 v.1.22 is still working, at least for the moment.
    in the meantime i have also given up on pgadmin4 -- way too unwieldy and slow.
    i had switched over to using SQLWorkbench, i like it for queries.
  • Stu
    I'm just very glad that pgAdmin 3 is still available. I tried pgAdmin 4 and found it to be pretty much unusable in every material way. pgAdmin 3 is a bit crashy and far from perfect, but it is so much better than PgAdmin 4 will ever be, based in the flawed technology choices made by the dev team. I appreciate the effort they put in, but am sad that it was so misdirected.
  • I am wondering who are the programmers of pgadmin4.  I've never seen such crappy application for serious DBMS. What were they thinking while releasing slow, buggy app. Everytime i try to use it, i am about to throw my PC out of the window.
  • Why don't we fork pgadmin3 and start from there to keep it alive for starters and to enhance when possible.
  • It's terribly slow even on powerful machines. I use a  machine with Intel Xeon CPU and goes reaaaaally slow. I'm not sure what the hell has inside the code, but it's so slow for a normal use.

    Let's wait for Pgadmin5 to get things back to normality.
  • I have desktop i7 overclocked to 4.8GHz, SSD drive, 32GB memory and this software is soooo slow. I don't know who get the idea to rewrite good program to horrible one. I think they should support other developers and just fix issues of other better programs. Accessibility, look and feel - gone. MySQL has great HeidiSQL - maybe PgAdmin developers should help improve it.
  • This really is horrible. No keyboard shortcuts! No block execution, no sql formatting, anytime you try to arrange the windows, the whole windowing system goes crazy. I switched to using

    https://atom.io/packages/data-atom

    For most of my sql editing/running, finally, an sql editor that I can customize to my hearts content!
  • Jan
    I have tried to use pgadmin4 for the last few months for some real work. But it really is a pain out of the reasons already listed in the blog article.

    At the end of last year when I did my first test runs with pgadmin4 I hoped they would get some of the rough edges ironed out, but obviously not at least in version 1.6 and now I am seriously doubting they will ever be fixed.

    I really can't see any good reason for ditching pgadmin3 in favor of 4. Feature- and usability wise it's far ahead if you are developing or operating. Maybe some admin tasks (and the dashboard) are better on 4, but why not use those thousands of development hours on improving pgadmin3 instead?

    Thank God BigSQL has come up with an updated LTS version (1.23.0b) now even supporting postgresql 10 server. The installation is a little bit awkward with the separate PGC installation program, but it is anyway available for both Windows and Linux. So maybe I can live with that pgadmin3 LTS fork of BigSQL for the next 2-3 years. Let's hope so, since pgadmin4 is not the db tool I am to go for. Maybe some upcoming version of Toad Edge might introduce postgresql support in the near future.

    Until then, pgadmin3 LTS by BigSQL rules!
  • In two word pgAdmin4 sucks. pgAdmin3 is miles ahead in performance. Please do not deprecate pgAdmin3
  • Same feeling here..  :-(
    Please don't deprecate pgAdmin III  !!
  • I wholeheartedly agree.

    And would like to add another big annoyance: NO SYSTEM DIALOGS

    I'm working on Windows 7and when saving a query, an ugly file dialog pops up that has NOTHING to do at all  with the regular Windows save / save as dialog window.

    - no favourites
    - no default system folders like "documents" , "downloads" etc.
    - when you click on the "home" button, a warning pops up that drive A: is not ready
    - "Back" button does nothing...


    ...one last thing... If I do a right-click -> view data on a table... why on earth is the query read-only? Why can't I just add some WHERE or SORT clauses and refine the query until I get what I want???

    This whole thing is slow and a usability nightmare.

  • I have been programming plpgsql with PgAdmin3 for the past 5 years. It has some drawbacks - the debugger does not work under Windows (but there is a working Linux version), yet oveall it is quite workable.  PgAdmin4 is a sick joke. Its development should be terminated - it will never get anywhere. The very idea of writing a programming tool on a web platform is a fundamental mistake. PostgreSQL is a great tool; not having a decent admin tool is a shame.

    Please keep PgAdmin3 updated. Without it the good work of the Postgres developers risks being wasted.
  • I've just abandonned PgAdmin 4 to go back to 3. The final straw (of many) was not being able to copy column names from a query result to the clipboard. Why make a new version of a program and take away features? (OK, Microsoft does this frequently, but that's no excuse).

    I've been using Postgres for a few years on Windows, and just can't understand why the developers would want to abandon the windows of Windows, which actually work, in favour of a self contained sort of desktop-like system internal to PgAdmin 4, which does not work. It's buggy, difficult to organise, doesn't allow overlaps and wastes screen space (I use 2x 30" monitors and still get frustrated). The whole system is also slow.

    Rant over. Back to work.
  • Good rant. Agree 100%.
    I just reverted to PgAdmin III.
  • You forgot the part where it uses 1.2Gb of RAM for no reason.

    The CPU bug is so bad you would have thought it were written by Microsoft. Maybe it's mining bitcoin in the background.

    PG Admin 3 was great(ish). I really wish somebody would release a patch so that it works properly with Postgres 10.

    V4 is never going to work well because of the underlying framework it is built on.
  • I'm using postgtesql for a long time, I've try to use pgadmin 4 but after 10 minutes I drop it and back to pgadmin 3 ( lts version by bigsql works with ANY postgresql version ).
    I have tree monitor usually fullfit with query , it's incredible how pgadmin 4 is unusable....
    A fork maintained by pgadmin3 entusiast would be imho the answer.
  • Do yourself a favour and give DBeaver a shot!
    Yes, it is free and no, it does not suck! Laughing
    https://dbeaver.jkiss.org/
    • I looked at dbeaver but I'm not so keen on Java, because of the JVM.  
      • Thanks for the tip Jaroslav, will check it out.

        So, do only people working with databases work between Christmas and New Year? ;)
        • The thing is I only get to play with Pg in my personal projects. And these days I have more time/energy to spare for such stuff.
    • I upgraded to pgAdmin 4, was deeply unhappy with it and gave DBeaver a try after reading Jaroslav's comment. I'm not usually a fan of anything Java, BUT DBeaver is FAST, EASY TO USE, AND INTUITIVE. I love it, and I'll be using it for the foreseeable future. So long pgAdmin.
  • I have been using PGAdmin 3 to admin my PGSQL 9 servers, but i created a PGSql 10 Server and it will work (mostly) but as soon as you select the PG10 server it will give you tons of error messsages, but beyond that nothing.

    PGAdmin 4 is terrible. Ever tried running it on a 4k monitor? Its UGLY i have to run a powershell script for it to start right so i can actually see jack shit.

    I am running the latest version of PGAdmin 4, and it is no where near as reliable or useful as PGAdmin 3. I looked at the forums and the DEVS are completely useless saying nothing is wrong and that we pretty much need to get over it.
  • I just can't say thank you. I tried PgAdmin 4 several times - last time about a month ago but it still has too many severe usability problems.

    I also don't like the space wasting design, but as this is the current , I could live with.

    What really prevents using PgAdmin 4 for me, are these these severe shortcumings:

    * There is still no way to select a table or view or any other object trough keybard (neither trough navigating the tree with cursor keys nor trough typing the object name like it does in the system trees or windows combo boxes - which works in every windows application since at least 16 Bit windows 3.0.
    Obviously all developers at the PgAdmin 4 team are, what we call "Mausschubser" here in germany, which obviously don't even know most simple keyboard commands for efficient usage of applications which work in every other simple standard application.

    * These annoying "Toast"-Notifications after every even most simple operation like "hey, look how I'm great I am! I managed to execute and retreive one result line and display it, and hey, look another great thing I managed to do, whoa, and again, can't stop telling how great I'm ..." - in next it will probably display a message for every mouse click, in case you did not notice clicking ...

    * And at lease pretty annoying: Query windows can no longer be floated or put side by side with another query window without opening another PgAdmin 4 instance.

    After unsuccessfully compiling PgAdmin 3 myself, I reached this and I guess I will give BigSQL's Fork at https://www.openscg.com/bigsql/pgadmin3/ a try. Seems exactly what I want Smile
  • Following this thread since Feb 2017.
    Doesn't seem like the opinions have changed much - now trying DBeaver (as suggested by Jaroslav Záruba)
    Seems pretty decent (responsive and intuitive)

    • DBeaver indeed is now the best free tool for PostgreSQL management. If anyone complains that DBeaver is based on Java then I say just give it a try and compare it to pgAdmin 4 and you'll see that JVM is a hundred times better than whatever environment is used by pgAdmin 4! It's an order of magnitude faster, the installer is smaller, the UI is professionally looking and customizable with many useful functions and keyboard navigation just works. Just compare the two programs and you will love Java again!
      • Well all I've ever seen of web applications is that they usually have an interface called 'an awfull waste of space'.  And an inability to have a multiple document interface, which urges you to open multiple instances of the url to do the basic copy and paste.  The web interface is meant to share documents, not for building applications.  
        • Unfortunately, that's what we observe in web applications often. But I don't think this has to do with limitations of web technology, because html+css are perfectly capable of creating UI that does not waste space. The bigger problem is the mobile-first trend where you can't have good UI for desktop users because someone somewhere thinks it's a great idea to do db management with a mobile phone or tablet. If the developers wanted to they could design an application in such a way that we would not notice it was based on the web platform. Instead what we see is that whenever web technology is used, the UI design is inspired by modern mobile web sites rather than efficient desktop programs.

          Having said that, I still maintain my opinion that web technology should be ditched from db tools because in practice there seem to be no developers who would be able to do a convenient desktop application with web technology.
      • Totally agree.
        Irrespective of the underlying runtime / environment, the tool itself serves the purpose and does so well.
  • I've been using DBeaver for the last month just to see how it performs for Postgres and I'm really happy. It lacks a few Postgres-specific features like managing extensions and not all database features are supported yet. But for most of the stuff it works brilliantly and most importantly, its developers are active, listening to users and fixing bugs. PgAdmin4's development pace feels like slumber in comparison - almost half a year after Postgres 10 release and its major admin tool does not yet support identity columns! With this speed of development it will always lag behind. Especially now that pgAdmin needs so much work on polishing, when I see that almost nothing happens there my hope for this program is lost.

    I encourage everyone to try out and support DBeaver since its current state and growth offer so much more in terms of bright future. I'm thinking of contributing to the source code, I did some java in the past and might be able to take on some simple bug fixes.

Add comment

Loading