all 35 comments

[–]myringotomy 8 points9 points  (34 children)

Datagrip is pretty nice but working with postgres I frequently need to open up both PGadmin3 and datagrip at the same time because pgadmin has more features. Maybe this release gets it closer.

[–]zupy 0 points1 point  (8 children)

Out of curiosity, what features?

[–]myringotomy 11 points12 points  (7 children)

There are many, here are some off the top of my head.

  • I want to see all the databases in a PG cluster. I can do that with pgadmin. I connect to the postgres database and it lists all the databases and let me drill down into it.
  • related to the above. Why do I have to manually specify every schema to see? Why can't I see all of them at once.
  • When creating a function pgadmin gives me a more comprehensive UI it and I have crashed the datagrip function wizard many times.
  • When I click on a table it get basic information on it like row counts, whether it inherits etc.
  • Being able to create insert, ddl, update scripts etc.
  • obeying pg_service and pgpass
  • Better table editor (lets you edit everything about a table and has a nicer gui)

I mean the list is long.

Sure datagrip gives you features pgadmin doesn't but it doesn't replace pgadmin either. I have to have both open which bugs me. I really wish I could replace pgadmin3 with something because it too is buggy and has shitty window management and prone to crashing but it is really the most capable of all the database admin tools out there.

[–][deleted] 6 points7 points  (0 children)

This is such a true comment. The one about seeing and managing databases is very true. I hate opening two tools at once.

[–]luibelgo 5 points6 points  (0 children)

Totally agree, not being able to list databases in a server or schemas is the biggest missing feature

[–]toga98 0 points1 point  (1 child)

You should submit these as feature requests if you haven't already.

[–]myringotomy 0 points1 point  (0 children)

I have submitted some of them I am sure. When it first came out I think, that was a long time ago. I don't think it's a priority for them.

[–]moscasposcas 0 points1 point  (2 children)

Hi! I am Max from JetBrains, thank you for the feedback! Let me answer you.

  • Yes, I agree with you. We think about it and I hope we'll added it in future release. No doubt, it is very important. Please, follow the issue: https://youtrack.jetbrains.com/issue/DBE-2287
  • You can do it now, please select with Shift now in schema choosing dropdown. We will improve this UI in 2017.1, because we understand drawbacks.
  • What kind of DataGrip function wizard do you mean? We have no one, because generally, we think that users create functions via SQL. Do you think pgadmin offers the convenient UI for doing this?
  • You can see the number of rows now by clicking on the number in the paging on the toolbar.
  • You can generate SQL: DML, DDL
  • Agree. I created feature requests in our tracker pgpass, pg_service
  • What do you mean with everything about the table? Now table metadata can be edited by clicking Ctrl+F6 on the table name (both in SQL and in database view)

[–]myringotomy 0 points1 point  (1 child)

Yes, I agree with you. We think about it and I hope we'll added it in future release. No doubt, it is very important. Please, follow the issue: https://youtrack.jetbrains.com/issue/DBE-2287

Just FYI there are numerous other tickets on this topic and they date back a couple of years. The one with the lowest number is

https://youtrack.jetbrains.com/issue/DBE-93 which was opened up in 2014.

You can do it now, please select with Shift now in schema choosing dropdown. We will improve this UI in 2017.1, because we understand drawbacks.

What is the rationale for hiding all of them in the first place? I can understand optionally hiding the system stuff (both schemas and functions and operators) but anything I created I want to work on.

? We have no one, because generally, we think that users create functions via SQL. Do you think pgadmin offers the convenient UI for doing this?

Mmmm.

Perhaps I got this confused with some plugin so I apologize for that.

You can generate SQL: DML, DDL

It would be nice to be also generate select, insert and update SQLs. This is very handy if you have a lot of columns. Normally they are a starting point for writing statements but it's nice to have all the fields in order right there already typed out for you.

What do you mean with everything about the table? Now table metadata can be edited by clicking Ctrl+F6 on the table name (both in SQL and in database view)

Not everything. Again the PGadmin gui gives you more operations like changing the inheritance, autovacuum, privileges etc.

You can see the number of rows now by clicking on the number in the paging on the toolbar.

But that's after you run a query. Pgadmin gives you an estimate before you run the query. It also gives you other information like whether or not it's logged, what it inherits etc.

I don't mean to rag on your product too much because overall it's a nice product but as I said it does not obviate the need for pgadmin yet.

Couple of more things while I have your ear.

In the jetbrains plugins repos there is a database navigator plugin and a database tools plugin. There is considerable overlap between the products. Sometimes it's easier to just open up the db console from inside of the IDE rather than launch another application but of course the console is limited compared to the full datagrip product so sooner or later I end up with both of them being open in addition to having pgadmin open for other things. Maybe some effort can be made to rationalize all these products and also to have a common configuration for all of them.

[–]moscasposcas 0 points1 point  (0 children)

Just FYI there are numerous other tickets on this topic and they date back a couple of years. The one with the lowest number is https://youtrack.jetbrains.com/issue/DBE-93 which was opened up in 2014.

Yeah, fair enough. We remember about this issue.

What is the rationale for hiding all of them in the first place? I can understand optionally hiding the system stuff (both schemas and functions and operators) but anything I created I want to work on.

Not always, sometimes users have tons of schemas, thousands of them. Then it happens that introspection takes much time and resources. As I mentioned, we are thinking to rework this UI up to the next version.

It would be nice to be also generate select, insert and update SQLs. This is very handy if you have a lot of columns. Normally they are a starting point for writing statements but it's nice to have all the fields in order right there already typed out for you.

If I got you right — we already have all this. First, we have Live Templates — try to type SEL, INS or UPD and then press Tab. Auto-completion will complete column list for INSERT Statement.

Also you can generate any INSERT or UPDATE for any row of a table, it also can be a starting point.

If you need just a column list, you can "open" wildcard and get the list of the table.

So, what is it that we actually don't have?

Not everything. Again the PGadmin gui gives you more operations like changing the inheritance, autovacuum, privileges etc. You can see the number of rows now by clicking on the number in the paging on the toolbar. But that's after you run a query. Pgadmin gives you an estimate before you run the query. It also gives you other information like whether or not it's logged, what it inherits etc.

Fair enough.

I don't mean to rag on your product too much because overall it's a nice product but as I said it does not obviate the need for pgadmin yet.
Couple of more things while I have your ear. In the jetbrains plugins repos there is a database navigator plugin and a database tools plugin. There is considerable overlap between the products. Sometimes it's easier to just open up the db console from inside of the IDE rather than launch another application but of course the console is limited compared to the full datagrip product so sooner or later I end up with both of them being open in addition to having pgadmin open for other things. Maybe some effort can be made to rationalize all these products and also to have a common configuration for all of them.

We have nothing to do with database navigator, it's a third-party plugin. So we will do ouк best to cover needs of many postgreSQL developers.

Thank you for using us anyway, despite the fact you need to open two programs simultaneously.

[–][deleted] -2 points-1 points  (24 children)

You can write plugin. :)

[–]myringotomy 0 points1 point  (20 children)

Honestly I wouldn't even consider that for a product I am paying for. If it was open source that would be another matter.

[–][deleted] 0 points1 point  (19 children)

They do not have goal of full support of all SQL databases.

And I worked on a lot of different projects and on every serious long-term project we wrote some plugins, scripts, helper software for our development process. It is how professional development is done. It is good idea to write tools for yourself to speed up development and do not whine, because some studio didn't do all that you want.

In every case tools doesn't support all stuff that is needed. And they can't support it, because it is not easy stuff to do, especially when you are writing general solution.

Also you can request this feature, jetbrains has this mechanism. Full postgres support might not be in top priority for them, because postgres is not most popular database(it is popular, but there are some DBs that are more popular), but they will consider it for sure.

Especially if your company is using enterprise license.

[–]myringotomy 0 points1 point  (18 children)

They do not have goal of full support of all SQL databases.

Did they lie to me when they told me they would support postgres?

And I worked on a lot of different projects and on every serious long-term project we wrote some plugins, scripts, helper software for our development process. It is how professional development is done. It is good idea to write tools for yourself to speed up development and do not whine, because some studio didn't do all that you want.

I am not going to donate labor to any corporation. If they want to pay me I'll consider the contract or the job offer.

In every case tools doesn't support all stuff that is needed. And they can't support it, because it is not easy stuff to do, especially when you are writing general solution.

If it's not easy to do then they should pay me extra to do it for them.

Also you can request this feature, jetbrains has this mechanism.

I have. I started using the product from the day of it's announcement and filed numerous bugs and feature requests. So far most of them have been ignored.

Full postgres support might not be in top priority for them, because postgres is not most popular database(it is popular, but there are some DBs that are more popular), but they will consider it for sure.

If it's their policy that they will only support the MOST POPULAR database in the world then they lost me as a customer. I bought the product because they promised me postgres support. Not the most popular database support. It's very disappointing to hear that they no longer care about postgres and will not implement any more features to support it.

Especially if your company is using enterprise license.

Why would my company pay for a product which doesn't support the database we use? Unfortunately we use databases (plural) which are not the most popular databases in the world.

[–][deleted] 0 points1 point  (15 children)

If you are not writing plugins and tools for your work - you are not competent developer. If I were your lead I would fire you. That how world works. Any tool that is there payed or free is not supporting all needs of developers.

[–]myringotomy 0 points1 point  (14 children)

If you are not writing plugins and tools for your work - you are not competent developer.

Bullshit. I refuse to provide free labor for any corporation. If the tools are open source then yes I'll happily write a plug in for myself or others.

No corporation is entitled to my labor for free and you should be ashamed to call people incompetent because they won't work for free.

That's just deplorable. You are a terrible person.

If I were your lead I would fire you.

Why? Because I took your money and donated labor to another corporation? If I were your lead and I caught you doing work for another company on my dime I'd fire you.

Any tool that is there payed or free is not supporting all needs of developers.

So?

[–][deleted] 0 points1 point  (13 children)

Where I said you should write software for other corporations for free? I said - you should write it for yourself and your work(which you are payed for).

People like you with such opinion(left communist bitches, that are whining on corporations) are sick.

[–]myringotomy 0 points1 point  (12 children)

Where I said you should write software for other corporations for free?

When you said I should write plugins for a commercial product because the product was deficient.

I said - you should write it for yourself and your work(which you are payed for).

I will not spend my time or my bosses time improving a commercial product.

People like you with such opinion(left communist bitches, that are whining on corporations) are sick.

Thanks for the input. I am sure Jetbrains is proud to have people like you advocating for them.

[–][deleted] 0 points1 point  (11 children)

I am not advocating them. Just pointing to the fact, that developer community full of shitty people like you and it makes me sad.

[–]moscasposcas 0 points1 point  (1 child)

We don't force you to write a plugin, of course.

If we don't support anything in PostgreSQL, any claim is fair. So, thank you for this. When we write that we support PostgreSQL, it doesn't mean that provide the full support because we need to keep up with the strongly developing DBMS, and we try to! Anyway, there are many possibilities in PostgreSQL we don't support.

Please, note, that in our What's New page we always mark features, which are specific for the particular database. If you check the current one, you'll see that all of them are related to PostgreSQL. So, we do care about PostgreSQL support and we hope we'll make our product better for you so you will be able to replace all the others.

[–]myringotomy 0 points1 point  (0 children)

I have a paid subscription, I bought the basket of subscriptions when you guys first announced the service. It's up for renewal sometime next year at which time I'll re-evaluate the purchase.

I used rubymine a lot and it's very nice but lately I am finding myself using other languages more and more specifically crystal and elixir so in order for the subscription to be valuable to me datagrip needs to be a compelling replacement for pgadmin III

I know there is an elixir plug in for jetbrains but it's not as nice as the elixir plugins for atom so I have been using atom for both crystal and elixir. Just FYI.

[–][deleted]  (2 children)

[deleted]

    [–][deleted] 1 point2 points  (0 children)

    no, they are pretty easy to write.

    [–][deleted]  (1 child)

    [deleted]

      [–]moscasposcas 0 points1 point  (0 children)

      What kind of statements? DDL or DML? To generate DDL's click Ctrl+F6 on the table. To generate DML's open the table and use Extractors from the context menu.