Postage – A fast replacement for pgAdmin
github.com
github.com
What's dinner conversation like? Do you have an office or does everybody live and work in the same house and never leave except for groceries and bowling?
I got fired because a new president wanted to hire his old it guy so my wife started a company. That was ten years ago.
Lunch and dinner involve a lot of shop talk because when people get stuck it helps to discuss. We all have different strengths so we get requests for a 'consult' when we take a break too.
We work in the livving room so phone calls can sometimes be funny. Kids being kids and getting shushed.
We have all local clients at the moment and we find visiting them helps to stir up work so we get out a bit.
That is awesome!
Have you written more about your experience somewhere online? I would love to strive for something similar when my kids are a little older (my oldest is currently 7) and I personally know several others who have similar hopes. Just seeing a real implementation of this oft-discussed prospect is very exciting! It's difficult to express the admiration I have for this.
Raising a large family is no small undertaking, to say nothing of mentoring a guild of devs. Major heartfelt congratulations to you, your wife, and your family of code wizards.
We do have an idea for a YouTube channel where we film our attempts to fix up our house. Any interest in that?
Thank you for your kind words.
If we could just get Postage named PGAdmin5 we'd really be in a good spot.
I've given up on PGAdmin 4 for the next year at least.
It's using Qt, but QtWebEngine rather than QtWidgets or QtQuick. Qt is a great pick, iff you're building a native desktop app rather than a web app.
It's so depressing. I packaged it up for Arch Linux recently without realizing how bad the whole thing was. I'll probably be taking it out of the repos soon seeing as it doesn't even start anymore...
So I simply continue to use pgAdmin3 until something better comes along because I also really didn't like pgAdmin4.
https://bitbucket.org/openscg/pgadmin3-lts/issues/2/ssl-mode...
Is that really the case? :(
Is pgAdmin4 only horrible as a desktop application or is it horrible in general?
I really wish they would get it right, Postgres is such a powerful tool, it doesn't do it any justice.
PgAdmin3 still works great, and I see no reason to move from it, but for me, Emacs + postgres is great for building up tables and procedures, pgsql is great for admin, and PgAdmin is great for data inspection. I really wish all of this was unified in one environment, but nearly nothing works globally.
I've never tried it; I could tell from the requirements and the "deployment" instructions that I wanted nothing to do with it. Guess I saved myself some grief.
edit: looking back a bit I find this[1] "Ask HN":
"The problem with pgAdmin 4 is that it is garbage"
And no one contradicts this claim.To my mind this situation indicates severe dysfunction in the PostgresQL community. All indications are that pgadmin 4 has been failing hard for at least a year now, and worse, whomever is responsible for this appears oblivious.
I wish I could have said this myself. I feel there is a strong desire to get these issues out in the open and deal with this situation. Sadly, no moves are being made by those capable of doing so. If I can help in any way I would gladly do so.
While it isn't exactly a pleasant tool to use, it's not like it's totally broken either. I've used other similar software that was much worse to use than pgAdmin 4 is.
It's slightly better than pgAdmin 3 in some ways, but it's also worse in other ways. Overall, it's mediocre. That might be the underlying problem: it doesn't live up to the high expectations that the rest of the PostgreSQL ecosystem tends to set.
If I had to give it a grade, I'd say it's a B- or a C+. It could be a lot worse, but it could also be a lot better.
My own post on the topic: http://alexpetralia.com/posts/2016/6/8/you-should-be-using-d...
By the way, this looks really nice. It's an electron app, but it references having "a small fast C core library in the style of Node.js and NGINX." Can you go into more detail about the architecture of this and how it's related to Node and NGINX?
Postage is based on 'envelope' and works the same but the envelope repo has more info about architecture: https://github.com/workflowproducts/envelope
Postico doesnt have autocomplete so i haven't tried it but i'm sure it's a fine product.
I didn't want to add Postage to that list because it didn't work with Postgres.app when I tried it [2]. If Postage now works properly with Postgres.app, feel free to open a new issue and I'll try it again.
I like how the Toccis were very proactive and communicating how they were working to resolve the issues but Jakob was right about how Github emails everyone with each comment.
I'm glad it was resolved here on HN.
This looks nice too, though!
Also I would really recommend putting some of the screenshots on the Github readme page.
See bottom - https://www.workflowproducts.com/postage.html
https://github.com/workflowproducts/postage/issues/337
It's time we spent a little time promoting Postage.
Remember, it is very hard to donate...But very, very, very easy to pay for invoices.
This is one of the coolest postgres apps, that actually works on Linux as well. I would love to see this supported.
> In fact, it really should have had these tools a decade ago.
What does "should" mean here? That it'd have been good? Sure. That people working (as a hobby, or as part of their employment) on PG should have stopped doing what they were, and instead focus on doing tooling? Maybe, but given the very very limited number of people and their skills I doubt it'd have been a good trade.
> So I propose a better question. Why doesn't PostgreSQL have free, enterprise-grade tools?
I think there's plenty of reasons, and everyone will weigh them differently: For one, the development community is actually surprisingly small, especially a couple years back; only in the last few years that's changed to some degree. Which means we're often struggling to get the crucially needed server features done, not to speak of delving into a bunch of features outside of our expertise.
Another big reason, and that might sound counterintuitive, is PostgreSQL's license. Because of it and the long community support cycles, companies around PG have a hard time making money w/ licensing etc. So they have to focus on support, training and value-adds. A number companies tried / try to make money selling software around postgres, more enterprise-y tooling among that. Often that doesn't turn out to work that well, because it's actually a lot of work, and without input from the larger community they don't get the necessary market penetration.
Thirdly, I think that PG's development is done by a number of different companies, with each company's share of development not being large enough to sustain the project, explains some of this. I think it's overall an advantage, but in some areas like coordinated planning, marketing and coordinated effort it has its downsides too. If you want to make value-add software around core you're not going to do so with a competitor.
Lastly, I think for a long time Pgadmin3 was seen as not being good, but kinda somewhat acceptable. But its implementation wasn't particularly clean, in a language relatively few GUI folks use (C++), using a dying and buggy GUI framework (wxwidgets). I think it was for a long time just good enough that MVP of something better wasn't all that minimal anymore.
That object dependency graph is a killer feature.
Well done Justin!
Not a big fan of it so I think I'll continue using PSequel and pgAdmin3.
With Slack already running, I can't have another battery hog running simultaneously.
If you're open minded, you may want to read this: https://github.com/workflowproducts/postage/blob/master/Fact...
Also, postage has a webserver mode that is simple to install (configure-make-install) and it does not use Electron. You just use a browser window.
I don't think anyone who has a problem with Electron is going to rejoice at the option of a browser window instead. Typical Electron usage is problematic because it is a browser.
But Postage sounds like it might be the rare Electron app that is actually sensible.
I'm not going to jump around in happiness but I sure as hell prefer it as it's more resource efficient.
Electron is a new copy of the browser for every application.
As someone who's fed himself as a PostgreSQL DBA for over a decade now, I'm excited to see what this can do for me. Thank you!
Available in windows, mac and linux. Can work with MySQL, PostgreSQL, SQLite.
*with more paid advance features, but hey, if you need those, it's worth it.
from their website [1]:
Navicat Premium is a database development tool that allows you to simultaneously connect to MySQL, MariaDB, SQL Server, Oracle, PostgreSQL, and SQLite databases from a single application. Compatible with cloud databases like Amazon RDS, Amazon Aurora, Amazon Redshift, SQL Azure, Oracle Cloud and Google Cloud. You can quickly and easily build, manage and maintain your databases.
Of course, I just use DataGrip now, but if you want Navicat see if Premium Essentials is still around as it may work for you.
For my own work use I really have no choice but DataGrip, it's the only database utility that supports DB2 for i, Microsoft SQL Server and PostgreSQL - all of which we use heavily at work. But also being a heavy user of other JetBrains products (IntelliJ, ReSharper, PyCharm) having a familiar interface is a huge positive over Navicat since all of my keyboard shortcuts work the same and I only have two different (VS vs IntelliJ-based IDE) ways I have to remember how to do code snippets instead of three.
You might find Vertabelo [1] useful and possible replacement of LucidChart & Visio for db modeling.
There is a typo in the Description field of your https://www.workflowproducts.com/about.html page.
Desktop is written as destop.
{
services.postage = {
enable = true;
connections = {
"local" = "hostaddr=127.0.0.1 port=5432 dbname=postgres";
};
};
}
BTW the postage devs were very helpful in fixing packaging issues.Sorry what? How does one go about "compiling" the desktop version, then? Or the installers that are supposedly great?
Something really reeks of red flags over here.
We stand by the README wording because we've gotten a lot of feedback from users who are not developers. There are additional README documents for developers.
Also based on Electron
Edit: I think I'll be sticking with sqlectron for now. Postage looks pretty featureful but very quirky. Good work on it though, good to have more free alternatives to Datagrip/pgadmin3 on Linux.
Windows 10 latest.
Microsoft Windows 10 Pro Version 10.0.14393 Build 14393(latest)
uninstalled Postage removed the following folders: C:\Users\jtocci\.postage C:\Users\jtocci\AppData\Roaming\Postage C:\Program Files (x86)\Workflow Products
Downloaded Postage.Windows.3.2.16.zip tried to install by double-click. nothing happened. (known Electron issue) right click to run as administrator install for all users, default location
Postage popped right up. Any ideas how I can get the error you're getting?
I uninstalled and reinstalled as Administrator C: and it works now.
https://github.com/workflowproducts/postage/issues/339
We'll see if we can reproduce. Should be easy now.
Help me out here.
For a less detailed backdrop you could look at Natural Earth. For example, it has inner divisions of countries (so states and the like) in about 15 megabytes:
http://www.naturalearthdata.com/downloads/10m-cultural-vecto...
Or major city/town names in 1.5 megabytes:
http://www.naturalearthdata.com/downloads/10m-cultural-vecto...
(there are also less detailed versions of those datasets intended for use at smaller scales.)
You'd only probably want to support one or two projections out of the box (EPSG 4326 and 3857, the respective geographic and projected coordinate systems that pretty much are the de-facto standard in GIS). The end-user would have to use PostGIS spatial query to project the data if they wanted to see it on map.
Then you would retrieve the extent (bounding box) of the data from the query, send that to your server, fetch the tiles, and have the Leaflet client render basemap under the data. You could look into https://github.com/lukasmartinelli/osm-liberty for some inspiration of self-hosted OSM.
The main openstreetmap.org tile servers are liable to block your application if you put too much load on it, but there are plenty of companies which will sell you tile server access, (GeoFabrik, ThunderForest, Mapbox, Mapzen).
But my favorite features are autocomplete, the ace editor functions like non-contiguous find/replace and the beautify button.
As I said, our goal was to be faster than anything else, i meant for your average development tasks. We spent most of our effort on optimizing query results but if you see something slow just file an issue and we'll look into it.
You have to realize, at the time we wrote it, i think seven years ago now, it was blindingly fast compared to pgadmin3, and Pga4 is still broken on large result sets. Many other tools use odbc or have architectural issues that slow them down.
Users you reply to can't downvote your comments. The software doesn't show the down arrow for replies to one's own comments.
Not the greatest first impression to be honest. Browsing through the app itself though does seem to be about feature complete with pgAdmin, however I don't really see it noticeably faster, at least for the things I mess with on a regular basis, so I guess I'll just have to take your word for it.
In any case, it seems like a decent alternative to pgAdmin.
Great work!
P.S One feature I'm missing is to extract the selected data (in the Edit Data view of a table) to a CSV or to the clipboard - is it possible? I wasn't able to find out how to do it :/