Обсуждение: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

Поиск
Список
Период
Сортировка

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.

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 <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.

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

От
James Keener
Дата:
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.

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

От
Chuck Davis
Дата:
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 <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.

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

От
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?

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

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


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

От
Chuck Davis
Дата:
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?


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

От
marcelo
Дата:
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



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

От
Ravi Krishna
Дата:
What would this new IDE offer which a product like dbeaver does not have.



--
Sent from phone.

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

От
Dmitry Igrishin
Дата:


вс, 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.

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

От
Dmitry Igrishin
Дата:


вс, 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.

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

От
Ravi Krishna
Дата:
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:


вс, 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.

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

От
Dmitry Igrishin
Дата:


вс, 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.

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

От
Tim Cross
Дата:
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


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

От
Dmitry Igrishin
Дата:


пн, 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.

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

От
Christophe Pettus
Дата:
> 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
JetBrainsfamily) that handles the full stack, including debugging. 

--
-- Christophe Pettus
   xof@thebuild.com



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

От
Dmitry Igrishin
Дата:


пн, 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.

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

От
Albrecht Dreß
Дата:
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'mgoing 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
supportsall 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
platformsfrom the same sources. 

Hth,
Albrecht.
Вложения

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

От
Tim Clarke
Дата:
+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 <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?



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

От
Vincenzo Campanella
Дата:
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...



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

От
Dmitry Igrishin
Дата:


пн, 16 июл. 2018 г. в 12:41, Albrecht Dreß <albrecht.dress@arcor.de>:
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 ;-)
Qt looks the best and I would like to go with it. But althought it may be a good candidate for an
open source project, but may be too expensive for developing proprietary software. (Recenlty,
it has become even more expensive.)

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

От
Dmitry Igrishin
Дата:


пн, 16 июл. 2018 г. в 13:41, Tim Clarke <tim.clarke@minerva-analytics.info>:
+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.
I agree and don't want to waste my time for reinventing the wheel. And I'm also
considering Visual Studio Code as the base.

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

От
Tim Clarke
Дата:
-1 for VSC not being open source

Tim Clarke


On 16/07/18 11:47, Dmitry Igrishin wrote:
>
>
> пн, 16 июл. 2018 г. в 13:41, Tim Clarke
> <tim.clarke@minerva-analytics.info
> <mailto:tim.clarke@minerva-analytics.info>>:
>
>     +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.
>
> I agree and don't want to waste my time for reinventing the wheel. And
> I'm also
> considering Visual Studio Code as the base.



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

От
Thomas Kellerer
Дата:
Tim Clarke schrieb am 16.07.2018 um 11:52:
> +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.

The NetBeans platform (and Eclipse as well) is based on Java however. 

But Dmitry stated that he is using C++ so that won't really help.




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

От
Дата:

We – and the majority of our customers - are mainly focused on Windows. We use pgadmin iii and our own assistants. pgadmin iv ist still too slow on Windows compared to pgadmin iii. That is one reason why we still use PostgreSQL 9.6.  

 

That said, one requirement on a commercial tool for us would be royalty free distribution to our customers. It should however provide the functions of pgadmin iii.

 

Regards Klaus

 

 

Von: Dmitry Igrishin <dmitigr@gmail.com>
Gesendet: Sonntag, 15. Juli 2018 18:59
An: pgsql-general@postgresql.org
Betreff: 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.

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

От
Dmitry Igrishin
Дата:


пн, 16 июл. 2018 г. в 14:26, <kpi6288@gmail.com>:

We – and the majority of our customers - are mainly focused on Windows. We use pgadmin iii and our own assistants. pgadmin iv ist still too slow on Windows compared to pgadmin iii. That is one reason why we still use PostgreSQL 9.6.  

For performance reasons I mostly use the C++ language. Thus, I think the performance
should not be a problem here.
 

 

That said, one requirement on a commercial tool for us would be royalty free distribution to our customers. It should however provide the functions of pgadmin iii.

Do you need an administration tool or an assistant for database development? I conceived Pgspa as a
development tool, which works with source files organized in the usual way. For example, the sources
of the schema "foo" could be organized as:
  foo/functions/*.sql
       /views/*.sql
       /triggers/*.sql
       ...
The developer works with files rather than objects retrieved from the database and loaded
into the tree view of the GUI (like in pgAdmin and most of other similar tools). Though, the
database browser GUI is a useful feature of course, and should be implemented.

 

Regards Klaus

 

 

Von: Dmitry Igrishin <dmitigr@gmail.com>
Gesendet: Sonntag, 15. Juli 2018 18:59
An: pgsql-general@postgresql.org
Betreff: 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.

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

От
Pavel Stehule
Дата:


2018-07-16 13:52 GMT+02:00 Dmitry Igrishin <dmitigr@gmail.com>:


пн, 16 июл. 2018 г. в 14:26, <kpi6288@gmail.com>:

We – and the majority of our customers - are mainly focused on Windows. We use pgadmin iii and our own assistants. pgadmin iv ist still too slow on Windows compared to pgadmin iii. That is one reason why we still use PostgreSQL 9.6.  

For performance reasons I mostly use the C++ language. Thus, I think the performance
should not be a problem here.
 

 

That said, one requirement on a commercial tool for us would be royalty free distribution to our customers. It should however provide the functions of pgadmin iii.

Do you need an administration tool or an assistant for database development? I conceived Pgspa as a
development tool, which works with source files organized in the usual way. For example, the sources
of the schema "foo" could be organized as:
  foo/functions/*.sql
       /views/*.sql
       /triggers/*.sql
       ...
The developer works with files rather than objects retrieved from the database and loaded
into the tree view of the GUI (like in pgAdmin and most of other similar tools). Though, the
database browser GUI is a useful feature of course, and should be implemented.

Few years I am thinking about new IDE for stored procedures. Probably It should not be written from scratch, but It should to be multiplatform.

what can be nice

1. source should be in files with GIT support
2. integration with developer databese + well autocomplete support
3. formatting - SQL, PL, ..
4. online code validation
5. The should not be strong relation between files and schemas. Now is not too hard to have information what content is in some file. There can be physical organization (by files), and logical (by schemas, functions, views, ...)
6. good performance is important - but Java is good enough today - DBeaver is has good speed

Regards

Good luck - can be pretty hard to write it.

p.s. IDE for developers is some different than admin tool for administrators. Should be decided what is target.

Pavel



 

Regards Klaus

 

 

Von: Dmitry Igrishin <dmitigr@gmail.com>
Gesendet: Sonntag, 15. Juli 2018 18:59
An: pgsql-general@postgresql.org
Betreff: 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.


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

От
Dmitry Igrishin
Дата:


пн, 16 июл. 2018 г. в 15:01, Pavel Stehule <pavel.stehule@gmail.com>:


2018-07-16 13:52 GMT+02:00 Dmitry Igrishin <dmitigr@gmail.com>:


пн, 16 июл. 2018 г. в 14:26, <kpi6288@gmail.com>:

We – and the majority of our customers - are mainly focused on Windows. We use pgadmin iii and our own assistants. pgadmin iv ist still too slow on Windows compared to pgadmin iii. That is one reason why we still use PostgreSQL 9.6.  

For performance reasons I mostly use the C++ language. Thus, I think the performance
should not be a problem here.
 

 

That said, one requirement on a commercial tool for us would be royalty free distribution to our customers. It should however provide the functions of pgadmin iii.

Do you need an administration tool or an assistant for database development? I conceived Pgspa as a
development tool, which works with source files organized in the usual way. For example, the sources
of the schema "foo" could be organized as:
  foo/functions/*.sql
       /views/*.sql
       /triggers/*.sql
       ...
The developer works with files rather than objects retrieved from the database and loaded
into the tree view of the GUI (like in pgAdmin and most of other similar tools). Though, the
database browser GUI is a useful feature of course, and should be implemented.

Few years I am thinking about new IDE for stored procedures. Probably It should not be written from scratch, but It should to be multiplatform.
Me too :-) I have a command line prototype of the tool with the basic functional. It's written
in C++ by using the Pgfe client library and in PL/pgSQL as the PostgreSQL extension.


what can be nice

1. source should be in files with GIT support
+1. It's the main feature. Already done.
2. integration with developer databese + well autocomplete support
It's the most hard part and could be implemented later.
3. formatting - SQL, PL, ..
 Good feature for future releases.
4. online code validation
Not sure I understand. Can you please elaborate what do you mean?
5. The should not be strong relation between files and schemas. Now is not too hard to have information what content is in some file. There can be physical organization (by files), and logical (by schemas, functions, views, ...)
I agree and there is no problems with it. But logical organization would be a bit simpler
to implement, and would be suitable for the most users. Also it can be even helpful when someone
working with foreign project since the database objects are arranged in shelves.
6. good performance is important - but Java is good enough today - DBeaver is has good speed
My primary (and favorite) language still C++ :-)

Regards

Good luck - can be pretty hard to write it.
Thank you, Pavel! But I haven't decided about starting this project, since I'm not sure about
the interest from the community.

p.s. IDE for developers is some different than admin tool for administrators. Should be decided what is target.
Yeah, I'm talking about the tool for developers here.

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

От
Pavel Stehule
Дата:


2018-07-16 14:28 GMT+02:00 Dmitry Igrishin <dmitigr@gmail.com>:


пн, 16 июл. 2018 г. в 15:01, Pavel Stehule <pavel.stehule@gmail.com>:


2018-07-16 13:52 GMT+02:00 Dmitry Igrishin <dmitigr@gmail.com>:


пн, 16 июл. 2018 г. в 14:26, <kpi6288@gmail.com>:

We – and the majority of our customers - are mainly focused on Windows. We use pgadmin iii and our own assistants. pgadmin iv ist still too slow on Windows compared to pgadmin iii. That is one reason why we still use PostgreSQL 9.6.  

For performance reasons I mostly use the C++ language. Thus, I think the performance
should not be a problem here.
 

 

That said, one requirement on a commercial tool for us would be royalty free distribution to our customers. It should however provide the functions of pgadmin iii.

Do you need an administration tool or an assistant for database development? I conceived Pgspa as a
development tool, which works with source files organized in the usual way. For example, the sources
of the schema "foo" could be organized as:
  foo/functions/*.sql
       /views/*.sql
       /triggers/*.sql
       ...
The developer works with files rather than objects retrieved from the database and loaded
into the tree view of the GUI (like in pgAdmin and most of other similar tools). Though, the
database browser GUI is a useful feature of course, and should be implemented.

Few years I am thinking about new IDE for stored procedures. Probably It should not be written from scratch, but It should to be multiplatform.
Me too :-) I have a command line prototype of the tool with the basic functional. It's written
in C++ by using the Pgfe client library and in PL/pgSQL as the PostgreSQL extension.


what can be nice

1. source should be in files with GIT support
+1. It's the main feature. Already done.
2. integration with developer databese + well autocomplete support
It's the most hard part and could be implemented later.

The basic autocomplete is necessary - table names, column names, .. It should not be too intelligent - but this is main benefit again generic already available IDE.
 
3. formatting - SQL, PL, ..
 Good feature for future releases.
4. online code validation
Not sure I understand. Can you please elaborate what do you mean?

For PLpgSQL simple (press one key) send source code to server and highlight errors (it can be integrated with plpgsql_check). For SQL using not existing identifier, ..

 
5. The should not be strong relation between files and schemas. Now is not too hard to have information what content is in some file. There can be physical organization (by files), and logical (by schemas, functions, views, ...)
I agree and there is no problems with it. But logical organization would be a bit simpler
to implement, and would be suitable for the most users. Also it can be even helpful when someone
working with foreign project since the database objects are arranged in shelves.

I cannot to estimate the cost of these variants - I use mapping - one schema - one or more files, but the objects to files are divided by dependency - some objects can be simply updated, other not.

Very specific kind of DB objects are views. The IDE can helps with changes of views. It is pretty hard now due dependency.
 
6. good performance is important - but Java is good enough today - DBeaver is has good speed
My primary (and favorite) language still C++ :-)

I have no problem with it. But C++ is harder for junior developers and multiplatform Qt can be expensive for commercial product. But I understand personal preferences (I don't like Java too). On second hand - the performance argument is not valid against Java.


Regards

Good luck - can be pretty hard to write it.
Thank you, Pavel! But I haven't decided about starting this project, since I'm not sure about
the interest from the community.

Understand. Developer is alone every time. But lot of work is done. If I started similar project (but I have not this plan), then I don't try to write own IDE, but I'll use some existing and I'll write plugin for eclipse, or some else.


Although the work is maybe harder, you can get more quickly more wide community.

Regards

Pavel



p.s. IDE for developers is some different than admin tool for administrators. Should be decided what is target.
Yeah, I'm talking about the tool for developers here.

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

От
Dmitry Igrishin
Дата:


пн, 16 июл. 2018 г. в 16:00, Pavel Stehule <pavel.stehule@gmail.com>:


2018-07-16 14:28 GMT+02:00 Dmitry Igrishin <dmitigr@gmail.com>:


пн, 16 июл. 2018 г. в 15:01, Pavel Stehule <pavel.stehule@gmail.com>:


2018-07-16 13:52 GMT+02:00 Dmitry Igrishin <dmitigr@gmail.com>:


пн, 16 июл. 2018 г. в 14:26, <kpi6288@gmail.com>:

We – and the majority of our customers - are mainly focused on Windows. We use pgadmin iii and our own assistants. pgadmin iv ist still too slow on Windows compared to pgadmin iii. That is one reason why we still use PostgreSQL 9.6.  

For performance reasons I mostly use the C++ language. Thus, I think the performance
should not be a problem here.
 

 

That said, one requirement on a commercial tool for us would be royalty free distribution to our customers. It should however provide the functions of pgadmin iii.

Do you need an administration tool or an assistant for database development? I conceived Pgspa as a
development tool, which works with source files organized in the usual way. For example, the sources
of the schema "foo" could be organized as:
  foo/functions/*.sql
       /views/*.sql
       /triggers/*.sql
       ...
The developer works with files rather than objects retrieved from the database and loaded
into the tree view of the GUI (like in pgAdmin and most of other similar tools). Though, the
database browser GUI is a useful feature of course, and should be implemented.

Few years I am thinking about new IDE for stored procedures. Probably It should not be written from scratch, but It should to be multiplatform.
Me too :-) I have a command line prototype of the tool with the basic functional. It's written
in C++ by using the Pgfe client library and in PL/pgSQL as the PostgreSQL extension.


what can be nice

1. source should be in files with GIT support
+1. It's the main feature. Already done.
2. integration with developer databese + well autocomplete support
It's the most hard part and could be implemented later.

The basic autocomplete is necessary - table names, column names, .. It should not be too intelligent - but this is main benefit again generic already available IDE.
Suppose the one write
  create table foo (id integer default n
and the autocomplete shows all it knows that starts with "n". Would you be satisfied with such an autocomplete? :-)
Me - not. (Although it is relatively easy to implement.)
 
3. formatting - SQL, PL, ..
 Good feature for future releases.
4. online code validation
Not sure I understand. Can you please elaborate what do you mean?

For PLpgSQL simple (press one key) send source code to server and highlight errors (it can be integrated with plpgsql_check). For SQL using not existing identifier, ..
Wow, cool! With plpgsql_check it's possible to achieve the user experience similar to the SLIME - the IDE for Common Lisp.

 
5. The should not be strong relation between files and schemas. Now is not too hard to have information what content is in some file. There can be physical organization (by files), and logical (by schemas, functions, views, ...)
I agree and there is no problems with it. But logical organization would be a bit simpler
to implement, and would be suitable for the most users. Also it can be even helpful when someone
working with foreign project since the database objects are arranged in shelves.

I cannot to estimate the cost of these variants - I use mapping - one schema - one or more files, but the objects to files are divided by dependency - some objects can be simply updated, other not.
The prototype I already have can deal with DDL commands organized as the user wish. No
need to create the objects in the order of dependency. This is a very convenient.

Very specific kind of DB objects are views. The IDE can helps with changes of views. It is pretty hard now due dependency.
Yes! My tool can safely drop the dependend objects (with no cascading) and recreate all of them from files.
 
6. good performance is important - but Java is good enough today - DBeaver is has good speed
My primary (and favorite) language still C++ :-)

I have no problem with it. But C++ is harder for junior developers and multiplatform Qt can be expensive for commercial product. But I understand personal preferences (I don't like Java too). On second hand - the performance argument is not valid against Java. 


Regards

Good luck - can be pretty hard to write it.
Thank you, Pavel! But I haven't decided about starting this project, since I'm not sure about
the interest from the community.

Understand. Developer is alone every time. But lot of work is done. If I started similar project (but I have not this plan), then I don't try to write own IDE, but I'll use some existing and I'll write plugin for eclipse, or some else.
What do you think about Visual Studio Code? It's would be fun to write a plugin that
call the command line tool implemented in C++. (Actually, I use Emacs and run my tool in
the *compilation* buffer. More than enough for me.)

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

От
Pavel Stehule
Дата:


2018-07-16 15:22 GMT+02:00 Dmitry Igrishin <dmitigr@gmail.com>:


пн, 16 июл. 2018 г. в 16:00, Pavel Stehule <pavel.stehule@gmail.com>:


2018-07-16 14:28 GMT+02:00 Dmitry Igrishin <dmitigr@gmail.com>:


пн, 16 июл. 2018 г. в 15:01, Pavel Stehule <pavel.stehule@gmail.com>:


2018-07-16 13:52 GMT+02:00 Dmitry Igrishin <dmitigr@gmail.com>:


пн, 16 июл. 2018 г. в 14:26, <kpi6288@gmail.com>:

We – and the majority of our customers - are mainly focused on Windows. We use pgadmin iii and our own assistants. pgadmin iv ist still too slow on Windows compared to pgadmin iii. That is one reason why we still use PostgreSQL 9.6.  

For performance reasons I mostly use the C++ language. Thus, I think the performance
should not be a problem here.
 

 

That said, one requirement on a commercial tool for us would be royalty free distribution to our customers. It should however provide the functions of pgadmin iii.

Do you need an administration tool or an assistant for database development? I conceived Pgspa as a
development tool, which works with source files organized in the usual way. For example, the sources
of the schema "foo" could be organized as:
  foo/functions/*.sql
       /views/*.sql
       /triggers/*.sql
       ...
The developer works with files rather than objects retrieved from the database and loaded
into the tree view of the GUI (like in pgAdmin and most of other similar tools). Though, the
database browser GUI is a useful feature of course, and should be implemented.

Few years I am thinking about new IDE for stored procedures. Probably It should not be written from scratch, but It should to be multiplatform.
Me too :-) I have a command line prototype of the tool with the basic functional. It's written
in C++ by using the Pgfe client library and in PL/pgSQL as the PostgreSQL extension.


what can be nice

1. source should be in files with GIT support
+1. It's the main feature. Already done.
2. integration with developer databese + well autocomplete support
It's the most hard part and could be implemented later.

The basic autocomplete is necessary - table names, column names, .. It should not be too intelligent - but this is main benefit again generic already available IDE.
Suppose the one write
  create table foo (id integer default n
and the autocomplete shows all it knows that starts with "n". Would you be satisfied with such an autocomplete? :-)
Me - not. (Although it is relatively easy to implement.)
 
3. formatting - SQL, PL, ..
 Good feature for future releases.
4. online code validation
Not sure I understand. Can you please elaborate what do you mean?

For PLpgSQL simple (press one key) send source code to server and highlight errors (it can be integrated with plpgsql_check). For SQL using not existing identifier, ..
Wow, cool! With plpgsql_check it's possible to achieve the user experience similar to the SLIME - the IDE for Common Lisp.

 
5. The should not be strong relation between files and schemas. Now is not too hard to have information what content is in some file. There can be physical organization (by files), and logical (by schemas, functions, views, ...)
I agree and there is no problems with it. But logical organization would be a bit simpler
to implement, and would be suitable for the most users. Also it can be even helpful when someone
working with foreign project since the database objects are arranged in shelves.

I cannot to estimate the cost of these variants - I use mapping - one schema - one or more files, but the objects to files are divided by dependency - some objects can be simply updated, other not.
The prototype I already have can deal with DDL commands organized as the user wish. No
need to create the objects in the order of dependency. This is a very convenient.

Very specific kind of DB objects are views. The IDE can helps with changes of views. It is pretty hard now due dependency.
Yes! My tool can safely drop the dependend objects (with no cascading) and recreate all of them from files.
 
6. good performance is important - but Java is good enough today - DBeaver is has good speed
My primary (and favorite) language still C++ :-)

I have no problem with it. But C++ is harder for junior developers and multiplatform Qt can be expensive for commercial product. But I understand personal preferences (I don't like Java too). On second hand - the performance argument is not valid against Java. 


Regards

Good luck - can be pretty hard to write it.
Thank you, Pavel! But I haven't decided about starting this project, since I'm not sure about
the interest from the community.

Understand. Developer is alone every time. But lot of work is done. If I started similar project (but I have not this plan), then I don't try to write own IDE, but I'll use some existing and I'll write plugin for eclipse, or some else.
What do you think about Visual Studio Code? It's would be fun to write a plugin that
call the command line tool implemented in C++. (Actually, I use Emacs and run my tool in
the *compilation* buffer. More than enough for me.)

The opinions about VSC are good, but I don't use it and my opinions and experience are zero.

Pavel

RE: Do we need yet another IDE (SQL development assistant) forPostgreSQL?

От
Chris Coutinho
Дата:
VS Code is open source (MIT License). You may be thinking of Visual Studo, the closed source IDE - the two are not the
same

Met vriendlijke groet,
REDstack BV

Chris Coutinho
Onderzoeker/Data analist

-----Original Message-----
From: Tim Clarke [mailto:tim.clarke@minerva-analytics.info] 
Sent: maandag 16 juli 2018 13:09
To: pgsql-general@lists.postgresql.org
Cc: Dmitry Igrishin <dmitigr@gmail.com>
Subject: Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?

-1 for VSC not being open source

Tim Clarke


On 16/07/18 11:47, Dmitry Igrishin wrote:
>
>
> пн, 16 июл. 2018 г. в 13:41, Tim Clarke 
> <tim.clarke@minerva-analytics.info
> <mailto:tim.clarke@minerva-analytics.info>>:
>
>     +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.
>
> I agree and don't want to waste my time for reinventing the wheel. And 
> I'm also considering Visual Studio Code as the base.



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

От
Josef Šimánek
Дата:
It is licensed under MIT - https://github.com/Microsoft/vscode.

2018-07-16 13:09 GMT+02:00 Tim Clarke <tim.clarke@minerva-analytics.info>:
> -1 for VSC not being open source
>
> Tim Clarke
>
>
> On 16/07/18 11:47, Dmitry Igrishin wrote:
>>
>>
>> пн, 16 июл. 2018 г. в 13:41, Tim Clarke
>> <tim.clarke@minerva-analytics.info
>> <mailto:tim.clarke@minerva-analytics.info>>:
>>
>>     +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.
>>
>> I agree and don't want to waste my time for reinventing the wheel. And
>> I'm also
>> considering Visual Studio Code as the base.
>
>


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

От
Tim Clarke
Дата:
Ah thanks, I stand corected! :)

Tim Clarke


On 16/07/18 15:04, Josef Šimánek wrote:
> It is licensed under MIT - https://github.com/Microsoft/vscode.
>
> 2018-07-16 13:09 GMT+02:00 Tim Clarke <tim.clarke@minerva-analytics.info>:
>> -1 for VSC not being open source
>>
>> Tim Clarke
>>
>>



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

От
Tim Cross
Дата:
Dmitry Igrishin <dmitigr@gmail.com> writes:

> пн, 16 июл. 2018 г. в 1:14, Tim Cross <theophilusx@gmail.com>:
>
>>
>> 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? :-)
>

Most of the time, I use Emacs on either Linux or macOS. With the support
it has for running a psql process, it works pretty well for most
things. There are pretty reasonable packages for writing SQL and
'static' completion. Getting things setup can take a bit of effort, but
once it is working, it tends to work pretty well.

The two areas where it lacks are dynamic completion i.e. completing on
objects the user has created such as table names and column
names/function names etc. and decent result formatting.

>>
>> 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.

I would look at either Qt or even Electron (I believe visual code is
written using Electron, which is the other editor I use from time to
time).

There was an Emacs project called Eclaim (I think) which interfaced with
Eclipse services in order to provide dynamic completion when doing
Java. That could be worth checking out for ideas to borrow.

Tim

--
Tim Cross


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

От
Chris
Дата:
Hi Dmitry,

I think this a wonderful idea, but it will be tough. Share my experience:
—dbeaver: 
It is for multi-platform so it is just for use, no particular function, also there is more bugs(our company had changed some of them).
dbeaver is likely the most open source app form pg now, I know more people use it.
—pgadmin4:
I don’t like web client for database, I used it and it is good for there is simple monitor-windows.
For now, I used jetbrains’s product:datagrip, it is also coded by java,but is better for dbeaver.

Best Wishes,
Chris


在 2018年7月17日,上午6:21,Tim Cross <theophilusx@gmail.com> 写道:


Dmitry Igrishin <dmitigr@gmail.com> writes:

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


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? :-)


Most of the time, I use Emacs on either Linux or macOS. With the support
it has for running a psql process, it works pretty well for most
things. There are pretty reasonable packages for writing SQL and
'static' completion. Getting things setup can take a bit of effort, but
once it is working, it tends to work pretty well.

The two areas where it lacks are dynamic completion i.e. completing on
objects the user has created such as table names and column
names/function names etc. and decent result formatting. 


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.

I would look at either Qt or even Electron (I believe visual code is
written using Electron, which is the other editor I use from time to
time).

There was an Emacs project called Eclaim (I think) which interfaced with
Eclipse services in order to provide dynamic completion when doing
Java. That could be worth checking out for ideas to borrow.

Tim

-- 
Tim Cross

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

От
Bruce Momjian
Дата:
On Mon, Jul 16, 2018 at 11:57:40AM +0200, Vincenzo Campanella wrote:
> 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...

PGAdmin used to use WxWidgets but left it recently for PGAdmin 4.  I
would ask them what problems caused them to stop using it.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +