Do we need yet another IDE (SQL development assistant) for PostgreSQL?
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.
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.
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.
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.
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?
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
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?
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
What would this new IDE offer which a product like dbeaver does not have.
--Sent from phone.
вс, 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.
вс, 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.
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.
вс, 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.
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
пн, 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.
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
пн, 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 findan 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.
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.
+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?
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...