I use Aqua Data Studio - http://www.aquafold.com It has gotten pricier over the years but I spend so much time in databases that it is worth sticking with a familiar tool that does a lot across all the different databases my clients use.
When you have lots of rows, you want to think more in terms of set operations; and when you have complex data, you'll want to structure it relationally, and then you'll have a bunch of little tables filled with ids. In this case, something tree-like would be better to follow the indirections.
It's pretty rare - mostly for ad-hoc interactive debugging, typically where there's some UI missing or not yet implemented - that you'd want to edit a single row's contents.
actually, you were bang on the usecase ("typically where there's some UI missing or not yet implemented "), but not for debugging.
In fact, if I'm not wrong there was a startup that got launched on HN or PH or somewhere that just builds database connected spreadsheet-like webapps.
The thing is - in operations driven startups, the early days are built on top of spreadsheets. Which can get unmanageable within days. So then you start building your webapp. Something like dbeaver turns into a godsend because you then use the database as a spreadsheet, while you take your time building the webapp.
A spreadsheet is so much more common than a webapp with an opinionated UI - it was so surprising that when I handed over dbeaver to an operations guy, he actually had zero trouble using it to do his work. In fact the UI we are building now is on top of Handsontable (a JS spreadsheet component) rather than a form-like web component. Everyone is just so used to copy pasting rows, manipulating data,etc.
not all kinds of editing are changing a billion rows at a time. Sometimes, you just want to change a few rows and few columns.
I have actually used dbeaver as an order management system, while my front end caught up.
I've been using Wagon (wagonhq.com) lately and have been really impressed by it. I enjoy having a universal interface regardless of whether I'm connecting to postgres or mySQL. It's awesome to be able to visualize the results of a query with a couple clicks. There are a lot of little details like auto-complete which make it more fun to use than other editors I've tried in the past. I'm eager to try SQLTabs too and see how it compares.
If anyone would like to try Wagon, just email us at hello at wagonhq dot com, we're currently previewing Wagon at 100 companies and happy to have some new folks give feedback.
This seems awesome. But I only use Postgresql at work, and it doesn't look like they have Windows builds. PgAdmin doesn't have tabs so using it requires a lot of window management. Why does MAC seem to be more supported than Windows in all the links I've followed here to other clients?
I would presume that most DB's are installed on UNIX based systems so most of the people who are developing tools for them are going to already be on such systems.
While I understand your general point, I find it highly doubtful that 75% of _Postgres_ users are on Windows. I strongly suspect that they are in the minority by a wide margin.
But if Postgres wants to expand its user base a good graphical client for Windows would be a big help. I think that it is a major reason MySQL is way more popular.
I'm pretty sure the major reason MySQL is "more popular" has more to do with its ubiquitous install base on low-end web hosting providers than the (non-)existence of Windows-based GUI clients — particularly given that PgAdmin III has been around for at least 10 years, and cross-platform the whole time.
I agree with the idea that postgres should have better clients for Windows. It's the major reason I never used it for anything serious. Even commercial tools lack behind.
What I mostly miss is a good tool focused on writing SQL like Management Studio from MS SQL Server. Something that allows me to easily open complex large scripts in a full editor, execute parts or all of it easily and get results back. Not much gui, not many wizards, but a good experience. Most tools I find for pg are either full console or full guis with too much focus on wizards. It's like the people using it are uncomfortable with SQL for some reason.
But having followed pg for 15 years or so, I don't think they want or need to be the most popular database. They just want to be a damn good database server, and they are.
I don't find it that hard to believe. All companies I ever saw using postgres are using windows for development.
Note that I'm not from the US, I'm from Brazil. Here windows pretty much dominates the landscape.
But this is also important: while the US is currently quite apple-centric, most countries are not. And although the US concentrates a lot of tech companies, it's still only 4% of the world.
I'm not stating that these stats are the ultimate sources of truth. But those are good references. If you were to measure the reality in most countries, I doubt those numbers would swap places.
In Brazil I see lots of devs using Macs too. It's just not the majority of them.
Depends. Last summer I strolled into one meeting, where a typical enterprise project was discussed (Windows servers, MS SQL, Sharepoint, whole enchilada) and almost fall from my legs, because all the prime contractor people were using Macs.
Maybe I am missing something, but I am not seeing a way to dig into a given database's structure without cumbersomely querying the pg_catalog. Noticeably absent are \dt and such vs running stuff like
SELECT n.nspname as "Schema",
c.relname as "Name",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' WHEN 'f' THEN 'foreign table' END as "Type",
pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
Database Info from the menu seems to be similar to \d and a few others, but it's for the whole database and not a specific schema.
Still, I will keep playing with this and see how it goes.
It is possible to get info about specific object just by typing its name and pressing "Object Info" shortcut.
To list the schema's objects you need to type "schema_name." (with dot in the end) and press "Object Info" shortcut.
Looks cool.
I've tried most clients and been dissapointed - PgAdmin was very unstable on mac, object browser is good when it works but query editor is poor - Postico is pretty but has very limited functionality not suitable for large complex scripts.
The best solution I found was to use Sublime Text with it's build system you can run scripts and get results easily, it has amazing text manipulation features, snippits are powerful, it's rock solid and blazingly fast.
http://blog.code4hire.com/2014/04/sublime-text-psql-build-sy...
When I last used it about a year ago (i purchased it) it lacked many basic features a deal breaker for me was not showing the line number of errors, this made it useless for large scripts.
Sublime Text's search and replace is light years ahead of Postico or PgAdmin.
Also syntax highlighting on a nice dark theme is much easier on the eyes and more productive than white theme.
Sublime Text 3 also has auto-complete - if you install plugin to search ALL open files not just current, then this works really well so long as you also open files defining your schema. Snippets can add even more powerful auto complete.
- Postico OSX - https://itunes.apple.com/us/app/postico/id1031280567?ls=1&mt...
- JackDB (web based) - https://www.jackdb.com/
- SQL Pro for Postgres - http://www.hankinsoft.com/SQLProPostgres/
- PGAdmin - Slightly outdated but still feature rich and fully cross platform - http://www.pgadmin.org/
And of course there's always psql which is all CLI, but incredibly flexible.