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

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Dmitry Igrishin <dmitigr(at)gmail(dot)com>
Cc: "Klaus P(dot) Pieper" <kpi6288(at)gmail(dot)com>, "pgsql-general(at)postgresql(dot)org >> PG-General Mailing List" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?
Date: 2018-07-16 13:00:01
Message-ID: CAFj8pRCzkkEdV7ngppTtE8++HuMCb1i8hR7k4LVBtMe907G=Aw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2018-07-16 14:28 GMT+02:00 Dmitry Igrishin <dmitigr(at)gmail(dot)com>:

>
>
> пн, 16 июл. 2018 г. в 15:01, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>:
>
>>
>>
>> 2018-07-16 13:52 GMT+02:00 Dmitry Igrishin <dmitigr(at)gmail(dot)com>:
>>
>>>
>>>
>>> пн, 16 июл. 2018 г. в 14:26, <kpi6288(at)gmail(dot)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.
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Dmitry Igrishin 2018-07-16 13:22:03 Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?
Previous Message Dmitry Igrishin 2018-07-16 12:28:18 Re: Do we need yet another IDE (SQL development assistant) for PostgreSQL?