Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
37 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Dmitry Igrishin
Hello all,

Colleagues. There is an idea to develop a commercial IDE for PostgreSQL under Windows.
At the initial stage, not so much an IDE, as an assistant for the server side development.
What features would you like to see in such an instrument? Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Benjamin Scherrey
Linux compatibility. :-)

Seriously. Our organization does not use Windows anywhere and we're a serious Postgres shop.

  -- Ben Scherrey

On Sun, Jul 15, 2018 at 11:59 PM, Dmitry Igrishin <[hidden email]> wrote:
Hello all,

Colleagues. There is an idea to develop a commercial IDE for PostgreSQL under Windows.
At the initial stage, not so much an IDE, as an assistant for the server side development.
What features would you like to see in such an instrument? Thanks.

Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

James Keener
In reply to this post by Dmitry Igrishin
Being libre software that doesn't necessitate a closed source operating system.

Jim

On July 15, 2018 12:59:08 PM EDT, Dmitry Igrishin <[hidden email]> wrote:
Hello all,

Colleagues. There is an idea to develop a commercial IDE for PostgreSQL under Windows.
At the initial stage, not so much an IDE, as an assistant for the server side development.
What features would you like to see in such an instrument? Thanks.

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Chuck Davis-3
I use Linux exclusively in my business and for development.  There is no room in the world these days for a Windows-only product.  If people choose to use Microsoft platforms they should expect to purchase Microsoft licenses for their needs.

That said, a good, cross-platform tool for Postgresql would be a welcome addition.

Pgadmin4 doesn't seem to be doing the trick.  At least it is not yet in my distribution's repositories.


On July 15, 2018 12:59:08 PM EDT, Dmitry Igrishin <[hidden email]> wrote:
Hello all,

Colleagues. There is an idea to develop a commercial IDE for PostgreSQL under Windows.
At the initial stage, not so much an IDE, as an assistant for the server side development.
What features would you like to see in such an instrument? Thanks.

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Dmitry Igrishin
In reply to this post by Dmitry Igrishin
Thank you all for your responses!

Okay, if I decide to start this project, the Linux platform will be supported.

As I see it, pgspa (PostgreSQL Server Programming Assistant) should have both the command line interface,
and the GUI for visualizing some aspects of the work. The tool should be friendly for your favorite editors (Emacs,
VSCode etc) for easy integration to the daily workflow. (There is no plans to write feature rich text editor inside
the IDE. It's more rational to provide the integration with the existing text editors for professional programmers.)
What do you think?
Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Raymond O'Donnell
On 15/07/18 20:08, Dmitry Igrishin wrote:

> Thank you all for your responses!
>
> Okay, if I decide to start this project, the Linux platform will be
> supported.
>
> As I see it, pgspa (PostgreSQL Server Programming Assistant) should have
> both the command line interface,
> and the GUI for visualizing some aspects of the work. The tool should be
> friendly for your favorite editors (Emacs,
> VSCode etc) for easy integration to the daily workflow. (There is no
> plans to write feature rich text editor inside
> the IDE. It's more rational to provide the integration with the existing
> text editors for professional programmers.)
> What do you think?

Hi there,

You'll be interested to know that there is a mailing list specifically
for GUI development, though it's been quiet recently:

   https://www.postgresql.org/list/pgsql-gui-dev

Ray.


--
Raymond O'Donnell :: Galway :: Ireland
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Chuck Davis-3
In reply to this post by Dmitry Igrishin
If you decide to proceed on this project there's no need to reinvent the wheel.

I use Netbeans for my development.  it has quite a good facility for
working with databases and I use it regularly with Postgres.  Since
Netbeans is now licensed under Apache 2 you might find useful code
there.  Be assured it uses JDBC for access but JDBC is universally
available and the folks at Postgresql have done quite a nice job with
JDBC drivers.  Of course, this already works on all platforms.  The
implementation is basic but very useful:  i.e. a good starting point.

On Sun, Jul 15, 2018 at 12:08 PM, Dmitry Igrishin <[hidden email]> wrote:

> Thank you all for your responses!
>
> Okay, if I decide to start this project, the Linux platform will be
> supported.
>
> As I see it, pgspa (PostgreSQL Server Programming Assistant) should have
> both the command line interface,
> and the GUI for visualizing some aspects of the work. The tool should be
> friendly for your favorite editors (Emacs,
> VSCode etc) for easy integration to the daily workflow. (There is no plans
> to write feature rich text editor inside
> the IDE. It's more rational to provide the integration with the existing
> text editors for professional programmers.)
> What do you think?

Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

marcelo
In reply to this post by Dmitry Igrishin
For windows platforms only, there is
https://www.sqlmanager.net/products/postgresql/manager/ which in Lite
version is free.
I use it near daily and works like a charm.

On 15/07/2018 16:08 , Dmitry Igrishin wrote:

> Thank you all for your responses!
>
> Okay, if I decide to start this project, the Linux platform will be
> supported.
>
> As I see it, pgspa (PostgreSQL Server Programming Assistant) should
> have both the command line interface,
> and the GUI for visualizing some aspects of the work. The tool should
> be friendly for your favorite editors (Emacs,
> VSCode etc) for easy integration to the daily workflow. (There is no
> plans to write feature rich text editor inside
> the IDE. It's more rational to provide the integration with the
> existing text editors for professional programmers.)
> What do you think?


---
El software de antivirus Avast ha analizado este correo electrónico en busca de virus.
https://www.avast.com/antivirus


Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Ravi Krishna-4
In reply to this post by Chuck Davis-3
What would this new IDE offer which a product like dbeaver does not have.



--
Sent from phone.

Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Dmitry Igrishin
In reply to this post by Chuck Davis-3


вс, 15 июл. 2018 г. в 22:42, Chuck Davis <[hidden email]>:
If you decide to proceed on this project there's no need to reinvent the wheel.

I use Netbeans for my development.  it has quite a good facility for
working with databases and I use it regularly with Postgres.  Since
Netbeans is now licensed under Apache 2 you might find useful code
there.  Be assured it uses JDBC for access but JDBC is universally
available and the folks at Postgresql have done quite a nice job with
JDBC drivers.  Of course, this already works on all platforms.  The
implementation is basic but very useful:  i.e. a good starting point.
Thank you for the point. I'm the C++ programmer and I'm author of the
C++ client library for PostgreSQL - Pgfe and I'm going to use it in this
project. But I'm not sure about the cross-platform GUI toolkit.
Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Dmitry Igrishin
In reply to this post by Ravi Krishna-4


вс, 15 июл. 2018 г. в 23:05, Ravi Krishna <[hidden email]>:
What would this new IDE offer which a product like dbeaver does not have.
AFAIK, DBeaver:
  - covers many DBMS (I want to focus on PostgreSQL);
  - full fledged IDE with feature rich editor (I want a lightweight tool that can be used from
    command line or from GUI to help SQL code refactoring in your favorite editor);
  - written in Java (I develop in C++).

This is what I can currently say about my plans on this project.
Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Ravi Krishna-4
1. dbeaver covers many DBMS and even nosql.  Many shops are not one product specific.  That is definitely a plus.
2. Lightweight tool which can run even from command line will be a plus for the product you are thinking to develop.
3. Who cares in what language it is developed? 

We are a dbeaver shop and we love it.


On Sun, Jul 15, 2018 at 4:22 PM, Dmitry Igrishin <[hidden email]> wrote:


вс, 15 июл. 2018 г. в 23:05, Ravi Krishna <[hidden email]>:
What would this new IDE offer which a product like dbeaver does not have.
AFAIK, DBeaver:
  - covers many DBMS (I want to focus on PostgreSQL);
  - full fledged IDE with feature rich editor (I want a lightweight tool that can be used from
    command line or from GUI to help SQL code refactoring in your favorite editor);
  - written in Java (I develop in C++).

This is what I can currently say about my plans on this project.

Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Dmitry Igrishin


вс, 15 июл. 2018 г. в 23:51, Ravi Krishna <[hidden email]>:
1. dbeaver covers many DBMS and even nosql.  Many shops are not one product specific.  That is definitely a plus.
On the other hand it is hard to support unique features of PostgreSQL in a tool that attempts to cover all the world.
I can't say about DBeaver, but as a rule, cool-abstracted-cross-DBMS-drivers are often limited and don't support many
unique features of a concrete DBMS.
2. Lightweight tool which can run even from command line will be a plus for the product you are thinking to develop.
Yes. In fact, I have a prototype of such a tool, and use it from command line are useful. For example,
if I run it in *compilation* buffer of Emacs, I can easily navigate to the place of error occured at the time of
database/schema deployment.
3. Who cares in what language it is developed?
Many people, in fact. The reasons are different.
Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Tim Cross
In reply to this post by Dmitry Igrishin

Dmitry Igrishin <[hidden email]> writes:

> вс, 15 июл. 2018 г. в 22:42, Chuck Davis <[hidden email]>:
>
>> If you decide to proceed on this project there's no need to reinvent the
>> wheel.
>>
>> I use Netbeans for my development.  it has quite a good facility for
>> working with databases and I use it regularly with Postgres.  Since
>> Netbeans is now licensed under Apache 2 you might find useful code
>> there.  Be assured it uses JDBC for access but JDBC is universally
>> available and the folks at Postgresql have done quite a nice job with
>> JDBC drivers.  Of course, this already works on all platforms.  The
>> implementation is basic but very useful:  i.e. a good starting point.
>>
> Thank you for the point. I'm the C++ programmer and I'm author of the
> C++ client library for PostgreSQL - Pgfe and I'm going to use it in this
> project. But I'm not sure about the cross-platform GUI toolkit.

The cross-platform GUI toolkit will be the challenge.

Your idea to make it integrate with user's preferred editor is a good
idea as editors are like opinions and certain anatomical parts -
everyone has one! Finding an appropriate API to do this will be a
challenge.

I seem to remember reading somewhere that Oracle was going to remove
swing from the core java library. I've always been a little disappointed
with Java UIs and found they don't give the cross-platform support that
Java originally promised, plus OSX/macOS has not made Java as welcome as
it use to be. If you do choose Java, it will need to work under openJDK
as this is what most Linux users will have installed.

Tim





--
Tim Cross

Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Dmitry Igrishin


пн, 16 июл. 2018 г. в 1:14, Tim Cross <[hidden email]>:

Dmitry Igrishin <[hidden email]> writes:

> вс, 15 июл. 2018 г. в 22:42, Chuck Davis <[hidden email]>:
>
>> If you decide to proceed on this project there's no need to reinvent the
>> wheel.
>>
>> I use Netbeans for my development.  it has quite a good facility for
>> working with databases and I use it regularly with Postgres.  Since
>> Netbeans is now licensed under Apache 2 you might find useful code
>> there.  Be assured it uses JDBC for access but JDBC is universally
>> available and the folks at Postgresql have done quite a nice job with
>> JDBC drivers.  Of course, this already works on all platforms.  The
>> implementation is basic but very useful:  i.e. a good starting point.
>>
> Thank you for the point. I'm the C++ programmer and I'm author of the
> C++ client library for PostgreSQL - Pgfe and I'm going to use it in this
> project. But I'm not sure about the cross-platform GUI toolkit.

The cross-platform GUI toolkit will be the challenge.
This is why I've consider GUI for the Windows only. And if I'll not find an adequate GUI
toolkit (at reasonable price and/or license), there is an option to make the GUI available
on Windows only and provide the Linux version without a GUI (at least at the first time).

Your idea to make it integrate with user's preferred editor is a good
idea as editors are like opinions and certain anatomical parts -
everyone has one! Finding an appropriate API to do this will be a
challenge.
I see two options here: the core of the tool acts as a long-lived server or as a short-lived
console application which communicates with the editor's plugin via stdin/stdout.
Btw, what the text editor do you prefer? :-)

I seem to remember reading somewhere that Oracle was going to remove
swing from the core java library. I've always been a little disappointed
with Java UIs and found they don't give the cross-platform support that
Java originally promised, plus OSX/macOS has not made Java as welcome as
it use to be. If you do choose Java, it will need to work under openJDK
as this is what most Linux users will have installed.
For now, the possible options for the GUI part are Qt, wxWidgets or FLTK, or even Electron.
Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Christophe Pettus-2

> On Jul 15, 2018, at 16:06, Dmitry Igrishin <[hidden email]> wrote:
>
> The cross-platform GUI toolkit will be the challenge.
> This is why I've consider GUI for the Windows only. And if I'll not find an adequate GUI
> toolkit (at reasonable price and/or license), there is an option to make the GUI available
> on Windows only and provide the Linux version without a GUI (at least at the first time).

I'm not sure I quite understand an PostgreSQL IDE without a GUI.  Isn't that psql, to a first approximation?

I'm also curious how you see this IDE comparing to, say, pgAdmin4.  There's no reason we can't have multiple IDEs, of course, but when I think of an "integrated development environment," I think of something (along the lines of the JetBrains family) that handles the full stack, including debugging.

--
-- Christophe Pettus
   [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Dmitry Igrishin


пн, 16 июл. 2018 г. в 2:15, Christophe Pettus <[hidden email]>:

> On Jul 15, 2018, at 16:06, Dmitry Igrishin <[hidden email]> wrote:
>
> The cross-platform GUI toolkit will be the challenge.
> This is why I've consider GUI for the Windows only. And if I'll not find an adequate GUI
> toolkit (at reasonable price and/or license), there is an option to make the GUI available
> on Windows only and provide the Linux version without a GUI (at least at the first time).

I'm not sure I quite understand an PostgreSQL IDE without a GUI.  Isn't that psql, to a first approximation?
In general, with psql the one can execute arbitrary SQL query either interactively or by calling
it from another program. But there is no advanced refactoring features out of the box. For
example, suppose, the one have a file with the following DDL commands:

  create table foo(id integer, data text, extra_data text);
  create view v1 as select * from foo;

To make this DDL file usabe with psql(1) it must be reentrant - that is
the one need to provide the DROP commands in reverse order:

  drop view v1;
  drop table foo;

  create table foo(id integer, data text, extra_data text);
  create view v1 as select * from foo;

With a large code base it's can be tedious. It's possible to automate such a tasks and don't
worry about the reentrance at all.


I'm also curious how you see this IDE comparing to, say, pgAdmin4.  There's no reason we can't have multiple IDEs, of course, but when I think of an "integrated development environment," I think of something (along the lines of the JetBrains family) that handles the full stack, including debugging.
It is possible to create the full fledged IDE with a convenient debugging features. But to create
such an instrument, we need financial support.
Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Albrecht Dreß
In reply to this post by Tim Cross
Am 16.07.18 00:14 schrieb(en) Tim Cross:
>> Thank you for the point. I'm the C++ programmer and I'm author of the C++ client library for PostgreSQL - Pgfe and I'm going to use it in this project. But I'm not sure about the cross-platform GUI toolkit.
>
> The cross-platform GUI toolkit will be the challenge.

Try Qt <https://www.qt.io/download-qt-installer>.  It uses c++, comes with a dual license (LGPL/commercial) and supports all relevant platforms:
- Linux: will work ootb for all distos I know, without the need to ship it with libraries
- macOS: includes support to create the usual bundles which go into the Applications folder
- Winbloze: works fine there, too, if you insist on a broken os ;-)

I worked on a Qt-based oss project in the past, and it is actually trivial to create binaries for all aforementioned platforms from the same sources.

Hth,
Albrecht.

attachment0 (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Tim Clarke-2
In reply to this post by Chuck Davis-3
+1 for not re-inventing the wheel - building on Netbeans or the Eclipse
project would save you heaps of time and effort and provide
cross-platform out of the box. I use Eclipse all the time.

Tim Clarke


On 15/07/18 20:41, Chuck Davis wrote:

> If you decide to proceed on this project there's no need to reinvent the wheel.
>
> I use Netbeans for my development.  it has quite a good facility for
> working with databases and I use it regularly with Postgres.  Since
> Netbeans is now licensed under Apache 2 you might find useful code
> there.  Be assured it uses JDBC for access but JDBC is universally
> available and the folks at Postgresql have done quite a nice job with
> JDBC drivers.  Of course, this already works on all platforms.  The
> implementation is basic but very useful:  i.e. a good starting point.
>
> On Sun, Jul 15, 2018 at 12:08 PM, Dmitry Igrishin <[hidden email]> wrote:
>> Thank you all for your responses!
>>
>> Okay, if I decide to start this project, the Linux platform will be
>> supported.
>>
>> As I see it, pgspa (PostgreSQL Server Programming Assistant) should have
>> both the command line interface,
>> and the GUI for visualizing some aspects of the work. The tool should be
>> friendly for your favorite editors (Emacs,
>> VSCode etc) for easy integration to the daily workflow. (There is no plans
>> to write feature rich text editor inside
>> the IDE. It's more rational to provide the integration with the existing
>> text editors for professional programmers.)
>> What do you think?


Reply | Threaded
Open this post in threaded view
|

Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Vincenzo Campanella
In reply to this post by Albrecht Dreß
Il 16.07.2018 11:41, Albrecht Dreß ha scritto:

> Am 16.07.18 00:14 schrieb(en) Tim Cross:
>>> Thank you for the point. I'm the C++ programmer and I'm author of the
>>> C++ client library for PostgreSQL - Pgfe and I'm going to use it in
>>> this project. But I'm not sure about the cross-platform GUI toolkit.
>>
>> The cross-platform GUI toolkit will be the challenge.
>
> Try Qt <https://www.qt.io/download-qt-installer>.  It uses c++, comes
> with a dual license (LGPL/commercial) and supports all relevant platforms:
> - Linux: will work ootb for all distos I know, without the need to ship
> it with libraries
> - macOS: includes support to create the usual bundles which go into the
> Applications folder
> - Winbloze: works fine there, too, if you insist on a broken os ;-)
>
> I worked on a Qt-based oss project in the past, and it is actually
> trivial to create binaries for all aforementioned platforms from the
> same sources.

That's a very good solution, IMHO.

Otherwise, WxWidgets (https://www.wxwidgets.org/) could also be a good
solution...


12
Previous Thread Next Thread