I myself would either like to see the source or have the developer pay the $99 to get Apple to review the code and make it more trustworthy. As it is, I'm a little nervous running the app and letting it auto-update daily when I have no idea who the dev is or what's in the app.
You do realize that Apple doesn't review code, right? An application in the App Store can issue malicious or accidental "DROP TABLE" statements just as easily as an application you downloaded from GitHub. Apple only reviews apps (in binary format) to make sure they mostly do what they say they do, and that they don't violate Apple's distribution guidelines (porn, trademarks, etc.)
The code signing mechanisms that Apple employs in the App Store removes the risk that a third-party software update server will be compromised and distribute malicious code to an otherwise trustworthy application.
(Probably not a high risk in this case, but on principle...)
They do at least in theory establish a legal entity that is responsible. It also provides a mechanism for removing the app if malicious behaviour is detected and reported.
You are right about "DROP TABLE" risk in this case but some other threats are mitigated by the sand boxing of apps.
Currently the auto-updating feature only reminds you to download an update. It doesn't update itself silently. And you shouldn't edit your production data directly anyway (or at least you should try on a dev server first), right?
I wouldn't be installing apps from an unknown author, but if it was on github and I could review and compile it myself I'd be a bit more inclined to try it.
I'm still on the hunt for an OSX PostgreSQL client with a table editor as awesome as aqua data studio's [0] (their java client doesn't work great on mac). With ADS you can edit the results of any query as if it was a spreadsheet, hit "save", and ADS will generate the correct insert/update statements for you and run them. It handles copy/paste across multiple rows pretty well, even with thousands of update/inserts, and I haven't found any other editors (I've tried pgadmin, jetbrains thing, navicat, this PSequel, and some others) that do this.
DbVisualizer has a similar feature, and works as well on a Mac as the Win and Linux versions - subject to occasional issues common to the JRE on your machine.
Thanks for your suggestion! The feature of editing query results is actually the second highest priority item in my todo list. (The first one is Query Bookmarks.)
The latest PyCharm 4.0 IDE from JetBrains support just this feature, and it's great. I am guessing that the upcoming 0xDBE will support this in a standalone app if you don't need a full blown IDE for another language outside of SQL.
This looks nice - Sequel Pro is great for MySQL but for working with PostgreSQL the only GUI I could find for the Mac, last I checked, was Valentina Studio, which, whilst it does pretty much everything you would probably want of a DB GUI, also satisfies every stereotype of cross-platform applications (ie. it doesn't offer a very Mac-like experience).
Performance for everything under Yosemite is terrible for me. I won't upgrade my main work-mac until I'm convinced they've gotten Yosemite more stable and better performing.
This looks like a promising tool, but its limit platform support kills it for me, for now.
This looks really neat! Another Sequel Pro inspired client that was posted to HN recently was pgweb [0] which is open source that you all might want to check out as well.
What I wish some of these projects would focus on are DBA features that only PgAdmin performs today. The market (both OSS and commercial) is filled with data editors, but none that focus on schema, user, and object management.
PgAdmin does handle these functions, but the UI can be buggy, and is subject to problems with slow network connections - forced restarts can be common.
Thanks for your suggestions. My plan is to support most features in Sequel Pro (but for PostgreSQL of course) which do include schema and user management. This release is just a start.
Because it's not a good use of time for one-off modifications. Plus, the GUI is nice for visualizing, so there's a decent chance you're spending a lot of time in there anyway.
It's possible to run a query to modify the contents of a database without changing the schema. You may already be familiar with the UPDATE statement, for instance.
And not every database in existence is part of a larger stack. I don't care much about automating a task I'll only do once in a throwaway DB that exists only on my computer.
I've always been a big fan of Sequel Pro [1] which offers all of that, but only for MySQL. I read other databases are in the works. It's also open source [2].
I just wish PgAdmin would respond to typical OSX keyboard shortcuts when editing SQL. Pretty much only control-shift-arrow for word selecting and fn-shift-arrow for sentences is supported. If it would just support a few other basic commands (and make them the same keys as standard OSX shortcuts, or user defined) it would be a huge improvement in usability.
I'm a licensed user and I recommend DbSChema : http://www.dbschema.com/features.html. It's Java-based, but it's functional, stable and db-agnostic. Currently use it to manage both PG and MSSQL databases. I especially like its schema management, relational browsing, diagramming and schema documentation and synchronization features. Check it out.
The unfortunate reason for that is a data editor can be whacked out in a couple of weeks (well, at least an MVP).
Making object editors takes a lot more effort, especially considering all the different objects PostgreSQL has: schemas, tables view, materialized views, indices, functions, sequences, etc.
I'm struggling with this myself. I'm currently trying to add object editors to PG Commander, and it's months and months of work. I wanted to have a table structure editor in PG Commander 1.0, and now, more than a year later, I'll finally be able to deliver a basic table & view editor in version 2.0 -- you can try a prerelease here: https://eggerapps.at/pgcommander-prerelease/
Awesome to hear, Jakob-- I recently purchased PG Commander after a couple of months of using it, so a "free" update to 2.0 is awesome. Thanks for your hard work on the app-- it's my default PostgreSQL client.
In my case, I almost never edit an object in a UI, but I often view it. Sometimes in a grid (ex. table columns in a grid of type, nullability, default, etc.) or as a single view of all the DDL for the object. I don't trust UIs to edit objects, but they can make the work of creating ALTER scripts much easier.
The latter is where PgAdmin is most useful for DB objects. The DDL view not only shows me things like CREATE TABLE/VIEW/FUNCTION etc., but also shows dependent objects such as constraints, indexes, permissions in the same window. Most of the JDBC based tools do not.
Graphical explain plans can be very nice to have, along with status views that make things like pg_stat_activity easy to consume in an actively refreshing compact view.
Thanks for your reply! Never used Amazon Redshift. I'll try to find out what is so special about it.
Edit:
Amazon Redshift is based on PostgreSQL 8.0.2 but PSequel uses libpq 9.3. I'll work on supporting Redshift if it gets enough demands. Anyone who wants a specific feature could fire a request at http://www.psequel.com/report_bugs
Supporting Redshift is actually pretty simple. The only problem is that you need to pay for a cluster for testing. However, since it's pay-by-the-hour you can keep charges minimal (don't forget to delete the cluster when you are done testing!)
Here are a few gotchas with redshift:
1) OID and CTID columns show up in the catalog, but you can't access them.
2) Primary Keys and unique indices aren't actually enforced!! You can insert two rows with the same primary key.
3) Make sure you only access catalogs that exist in 8.0, eg. there is no pg_matviews before 9.3, there's no typcategory before 8.4 etc. (fortunately the PostgreSQL docs are very helpful)
4) When setting the "application_name" connection parameter, PostgreSQL will have to connect twice to a Redshift server. Recent versions of libpq do so automatically, but you should keep this in mind (eg. when using SSH tunnels, or when validating SSL certs)
However, all in all, it's pretty easy to add support for Redshift. (I know because I'm the developer of PG Commander)
Most Postgres clients have issues connecting to Amazon Redshift. The wire protocol is the same so basic interactions (ex: connect via psql and run a SELECT) usually works but things get hairy when you start doing more complicated things or even just querying the data dictionary (the basic information_schema is there but Redshift has it's own tables for it's specific features).
My company[1] makes a database client that runs in your web browser that has explicit support for Redshift (as well as Postgres, MySQL, and more). I encourage you to check it out.
Looks neat!
Won't display metadata correctly on PosgreSQL 8.3 or earlier versions though. This is the error I'm getting: "column "typcategory" does not exist".
The slowness I find I think its related to the continual view. What happens is I ran I ton of large queries, and then the window lags when I scroll. I should be better about limiting my queries when I only want to see a few records, however I am so use to sequel pro where it shows you the first 1000 by default.
If you get too many queries you can hit Cmd-L to clear the display in Terminal. I recently also added a cancel command to stop queries when you forgot a limit clause.
I know the Terminal in PG Commander isn't for everybody; maybe I'll change it in a future version.
Thanks for building this, looks very clean. I'm sorely missing a PostgreSQL client similar to Sequel Pro. Valentina Studio is okay but the UI is too clumsy.
Is there a technical reason why it's only for Yosemite or greater? Programs compiled from Swift are supported on OS 10.9 (I'm on Mountain Lion) and it would be great to try this.
I'm new to PostgreSQL and get nervous twitches from using pgAdmin. At the moment I run my queries in Toad.
Tried PSequel, connected but it say (no schema) in the dropdown top left. Hope It will move forward, would be great if it came close to Sequel Pro. Think the uptake of Postgre among novices and webdesigners would increase if there at least was an easy way to connect and backup restore a db.
Thank god someone has done this. I have spent so much time looking for a halfway decent psql tool, I currently use 0xDBE, and still not happy. My favorite was Sequel Pro (currently only mysql) and I think its not supported any more.
Navicat provides a really nice tool for Postgres. It's paid, but the OS X 'starter' (or something like that) version can be bought for $15 or so. It's by far the best client I've used on OS X.
Seconded. It took me a while to bite the bullet and buy it, but if you're needing any kind of reliability from a PG GUI, Navicat is by far the best option.
I don't find the lag too noticeable; certainly not when you're in query mode. I do find the lack of Materialized View support lacking, though! They don't materialise anywhere..
I always end up searching for something like this every few months. Congratulations on the launch!
Some feedback for you, though:
"I don't want to pay Apple for delivering a free app."
I can understand this out of context, but I don't think it's a reasonable answer to the question of why the app isn't code-signed (i.e. that has nothing to do with distribution). It's quite the favor to ask of your users for a closed-source app.
SequelPro is the gold standard. I've used it for years, and I love it. Unfortunately, like many developers, I'm slowly moving away from MySQL to PostgreSQL, and none GUI tools measure up. Instead of making YAPC (Yet Another Postgres Client), I wish a developer would just write a PostgreSQL adapter for SequelPro[1]. I'd happily contribute $50 or $100 towards a Bountysource.
Writing a PostgreSQL adapter for Sequel Pro is a good idea. I don't know how an adapter can fit into Sequel Pro's architecture though. I'll take a look at Sequel Pro's codebase and consider this approach. Any help would be appreciated!
Can't emphasise this enough. SequelPro is absolutely the best part of using MySQL. I'd to would love to pitch in for a SequelPro-esque GUI tool for PostgreSQL
Sadly it looks that SequelPro was never built as a platform for cross-database support. After glancing through the source the integration with MySQL seems really tight. Also SequelPro is OSX only which is a shame because I think that Sequel is better than most of the alternatives.
Hopefully Datazenit[0] will solve this and provide great cross-database, cross-platform support. Currently it is beta stage and supports MySQL/PostgreSQL, but other database systems are on the way.
Another person here willing to contribute.
SequelPro is really the best database client I've used, even though it might be considered 'spartan'/simple.
I had a look at doing this a while ago and ran away screaming, it's quite eye watering in terms of being agnostic. I started one myself but haven't had enough time to make the UI perfect at the moment. But I did make progress on a way to use many different types of DB's..for example
Try Navicat (http://navicat.com – looks like they even have a Cyber Monday sale right now). Been using it for a couple of years now, and it's great (also "feels native", which is a must for me). There are many editions (I have "Premium Essentials", which was affordable and does all that I need).
I see "Query bookmark" in the TODO list. I've been looking a simple, clean PostgreSQL "bookmark manager" that will just hold and execute my saved queries. Would really like to see this feature implemented.
111 comments
[ 3.7 ms ] story [ 372 ms ] threadStill nice to see another good looking app in this field.
(Probably not a high risk in this case, but on principle...)
You are right about "DROP TABLE" risk in this case but some other threats are mitigated by the sand boxing of apps.
How are you liking Swift by the way? I'm really enjoying it.
http://www.aquafold.com/aquadatastudio/table_data_editor.htm...
http://www.dbvis.com/
https://www.jetbrains.com/dbe/
Looking forward to giving this a try.
This looks like a promising tool, but its limit platform support kills it for me, for now.
[0] https://github.com/sosedoff/pgweb
PgAdmin does handle these functions, but the UI can be buggy, and is subject to problems with slow network connections - forced restarts can be common.
Plus the two things are not contradictory. You can do them in the GUi and get the resulting SQL / DDL code to automate them later.
And not every database in existence is part of a larger stack. I don't care much about automating a task I'll only do once in a throwaway DB that exists only on my computer.
Although this tool, 0xDBE, doesn't look to have any DBA features like the OP was requesting.
[1]: http://sequelpro.com
[2]: https://github.com/sequelpro/sequelpro
Making object editors takes a lot more effort, especially considering all the different objects PostgreSQL has: schemas, tables view, materialized views, indices, functions, sequences, etc.
I'm struggling with this myself. I'm currently trying to add object editors to PG Commander, and it's months and months of work. I wanted to have a table structure editor in PG Commander 1.0, and now, more than a year later, I'll finally be able to deliver a basic table & view editor in version 2.0 -- you can try a prerelease here: https://eggerapps.at/pgcommander-prerelease/
The latter is where PgAdmin is most useful for DB objects. The DDL view not only shows me things like CREATE TABLE/VIEW/FUNCTION etc., but also shows dependent objects such as constraints, indexes, permissions in the same window. Most of the JDBC based tools do not.
Graphical explain plans can be very nice to have, along with status views that make things like pg_stat_activity easy to consume in an actively refreshing compact view.
Edit: Amazon Redshift is based on PostgreSQL 8.0.2 but PSequel uses libpq 9.3. I'll work on supporting Redshift if it gets enough demands. Anyone who wants a specific feature could fire a request at http://www.psequel.com/report_bugs
Here are a few gotchas with redshift: 1) OID and CTID columns show up in the catalog, but you can't access them.
2) Primary Keys and unique indices aren't actually enforced!! You can insert two rows with the same primary key.
3) Make sure you only access catalogs that exist in 8.0, eg. there is no pg_matviews before 9.3, there's no typcategory before 8.4 etc. (fortunately the PostgreSQL docs are very helpful)
4) When setting the "application_name" connection parameter, PostgreSQL will have to connect twice to a Redshift server. Recent versions of libpq do so automatically, but you should keep this in mind (eg. when using SSH tunnels, or when validating SSL certs)
However, all in all, it's pretty easy to add support for Redshift. (I know because I'm the developer of PG Commander)
My company[1] makes a database client that runs in your web browser that has explicit support for Redshift (as well as Postgres, MySQL, and more). I encourage you to check it out.
[1]: https://www.jackdb.com/
UPDATE: added 8.3 version number.
I know the Terminal in PG Commander isn't for everybody; maybe I'll change it in a future version.
I don't find the lag too noticeable; certainly not when you're in query mode. I do find the lack of Materialized View support lacking, though! They don't materialise anywhere..
(i.e. is it going to be FOSS?)
Some feedback for you, though:
"I don't want to pay Apple for delivering a free app."
I can understand this out of context, but I don't think it's a reasonable answer to the question of why the app isn't code-signed (i.e. that has nothing to do with distribution). It's quite the favor to ask of your users for a closed-source app.
https://github.com/sequelpro/sequelpro/issues/362
Hopefully Datazenit[0] will solve this and provide great cross-database, cross-platform support. Currently it is beta stage and supports MySQL/PostgreSQL, but other database systems are on the way.
[0] https://datazenit.com/
I don't think so. Actually, IMO it is better than the alternatives exactly because it does not try to be everything for everyone but keeps focus.
That said, I really would like it to support other DB-engines like Postgres and SQLite too.
Panic (http://panic.com) gave the app a new icon, as they are using the source-code in their Coda application (http://panic.com/coda) MySQL client.
https://github.com/arbarlow/crate/blob/master/Crate/Classes/... https://github.com/arbarlow/crate/blob/master/Crate/Classes/...
As a bonus, it connects to all the major RDBMSes.
http://www.valentina-db.com/valentina-studio-overview