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

Started by Dmitriy Igrishinover 7 years ago37 messagesgeneral
Jump to latest
#1Dmitriy Igrishin
dmitigr@gmail.com

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.

#2Benjamin Scherrey
scherrey@proteus-tech.com
In reply to: Dmitriy Igrishin (#1)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

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 <dmitigr@gmail.com> wrote:

Show quoted text

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.

#3James Keener
jim@jimkeener.com
In reply to: Dmitriy Igrishin (#1)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Being libre software that doesn't necessitate a closed source operating system.

Jim

On July 15, 2018 12:59:08 PM EDT, Dmitry Igrishin <dmitigr@gmail.com> 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.

#4Chuck Davis
cjgunzel@gmail.com
In reply to: James Keener (#3)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

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.

Show quoted text

On July 15, 2018 12:59:08 PM EDT, Dmitry Igrishin <dmitigr@gmail.com> 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.

#5Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Dmitriy Igrishin (#1)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

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?

In reply to: Dmitriy Igrishin (#5)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

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
rod@iol.ie

#7Chuck Davis
cjgunzel@gmail.com
In reply to: Dmitriy Igrishin (#5)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

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.

Show quoted text

On Sun, Jul 15, 2018 at 12:08 PM, Dmitry Igrishin <dmitigr@gmail.com> 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?

#8marcelo
marcelo.nicolet@gmail.com
In reply to: Dmitriy Igrishin (#5)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

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

#9Ravi Krishna
sravikrishna3@gmail.com
In reply to: Chuck Davis (#4)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

What would this new IDE offer which a product like dbeaver does not have.

--Sent from phone.

#10Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Chuck Davis (#7)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

вс, 15 июл. 2018 г. в 22:42, Chuck Davis <cjgunzel@gmail.com>:

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.

#11Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Ravi Krishna (#9)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

вс, 15 июл. 2018 г. в 23:05, Ravi Krishna <sravikrishna3@gmail.com>:

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.

#12Ravi Krishna
sravikrishna3@gmail.com
In reply to: Dmitriy Igrishin (#11)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

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 <dmitigr@gmail.com> wrote:

Show quoted text

вс, 15 июл. 2018 г. в 23:05, Ravi Krishna <sravikrishna3@gmail.com>:

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.

#13Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Ravi Krishna (#12)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

вс, 15 июл. 2018 г. в 23:51, Ravi Krishna <sravikrishna3@gmail.com>:

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.

#14Tim Cross
theophilusx@gmail.com
In reply to: Dmitriy Igrishin (#10)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Dmitry Igrishin <dmitigr@gmail.com> writes:

вс, 15 июл. 2018 г. в 22:42, Chuck Davis <cjgunzel@gmail.com>:

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

#15Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Tim Cross (#14)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

пн, 16 июл. 2018 г. в 1:14, Tim Cross <theophilusx@gmail.com>:

Dmitry Igrishin <dmitigr@gmail.com> writes:

вс, 15 июл. 2018 г. в 22:42, Chuck Davis <cjgunzel@gmail.com>:

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.

#16Christophe Pettus
xof@thebuild.com
In reply to: Dmitriy Igrishin (#15)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

On Jul 15, 2018, at 16:06, Dmitry Igrishin <dmitigr@gmail.com> 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
xof@thebuild.com

#17Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Christophe Pettus (#16)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

пн, 16 июл. 2018 г. в 2:15, Christophe Pettus <xof@thebuild.com>:

On Jul 15, 2018, at 16:06, Dmitry Igrishin <dmitigr@gmail.com> 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.

#18Albrecht Dreß
albrecht.dress@arcor.de
In reply to: Tim Cross (#14)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

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&gt;. 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.

#19Tim Clarke
tim.clarke@minerva-analytics.info
In reply to: Chuck Davis (#7)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

+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

Show quoted text

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 <dmitigr@gmail.com> 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?

#20Vincenzo Campanella
vinz65@gmail.com
In reply to: Albrecht Dreß (#18)
Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

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&gt;.� 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...

#21Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Albrecht Dreß (#18)
#22Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Tim Clarke (#19)
#23Tim Clarke
tim.clarke@minerva-analytics.info
In reply to: Dmitriy Igrishin (#22)
#24Thomas Kellerer
spam_eater@gmx.net
In reply to: Tim Clarke (#19)
#25Klaus P. Pieper
kpi6288@gmail.com
In reply to: Dmitriy Igrishin (#1)
#26Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Klaus P. Pieper (#25)
#27Pavel Stehule
pavel.stehule@gmail.com
In reply to: Dmitriy Igrishin (#26)
#28Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Pavel Stehule (#27)
#29Pavel Stehule
pavel.stehule@gmail.com
In reply to: Dmitriy Igrishin (#28)
#30Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Pavel Stehule (#29)
#31Pavel Stehule
pavel.stehule@gmail.com
In reply to: Dmitriy Igrishin (#30)
#32Chris Coutinho
c.coutinho@redstack.nl
In reply to: Tim Clarke (#23)
#33Josef Šimánek
josef.simanek@gmail.com
In reply to: Tim Clarke (#23)
#34Tim Clarke
tim.clarke@minerva-analytics.info
In reply to: Josef Šimánek (#33)
#35Tim Cross
theophilusx@gmail.com
In reply to: Dmitriy Igrishin (#15)
#36chris
yuanzefuwater@126.com
In reply to: Tim Cross (#35)
#37Bruce Momjian
bruce@momjian.us
In reply to: Vincenzo Campanella (#20)