PostgreSQL Graphic Tools Developper Meeting 2017

= Info =
* Date : October 24th, 2017
* Place : PG Conference Europe 2017 @ Warsaw Marriott Hotel in Warsaw, Poland
* RSVP : http://eepurl.com/cWELmn
* Registration : Closed
* Sponsor : PostgreSQL Europe
* Organizers : Damien Clochard, Leo Cossic and the PostgreSQL Europe Board
= Schedule =
Agenda : The schedule bellow is temporary, chances are it'll slightly change.
09:00-09:30 - Welcoming participants and coffee/tea time
09:30-12:30 - Introduction - developers will have has 10 minutes to introduces there project, objectives, needs, etc
12:30-13:30 - Lunch break (sponsored by PGEU)
13:30-14:30 - Either keep on presenting developers and projects or Work in small groups of same interests
14:30-15:00 - Coffee break / Tea time
15:00-17:00 - Work in small groups
17:00 - Everyone is free to leave, the meeting's presumed to be over, but people can stay and keep on exchanging ideas and concerns or else.
19:00 - Dinner (optional and not sponsored)
= Project Introductions Order = 
* KEXI, with Jaroslaw Staniek
* Postico and Postgres.app, with Jakob Egger
* pgAdmin, with Dave Page 
* DBeaver, with Serge Rider and Andrew Khitrin
* Joe Conway
* SQL Tabs, with Sasha Aliashkevich
* pg_view, patroni and bg_mon, with Oleksii Kliukin and Alexander Kukushkin
* pgBadger and pgFormatter, with Gilles Darold
* Postgres Professional Manager, with Ivan Panchenko and Oleg Bartunov
* temBoard and PoWA, with Pierre Giraud
* PostgreSQL Studio and pgDevOps, with Jim Mlodgenski
* pg_activity and temBoard, with Julien Tachoires
= Topics =
Organizers' topic suggestions:
* How can we organize ourselves to keep in touch with each other and take actions after the meeting?
* Additional PostgreSQL information: total RAM usage (from memory contexts), progress reporting
* Ease of enabling query monitoring (pg_stat_statements), plan monitoring
* Exchanging ideas on UI/UX Design
* Client based tools vs web based
Topic suggestions from developers (included in the registration form):
* Optimizing KEXI (MS Access-like tools) for PostgreSQL, joining forces with the PostgreSQL community
* Making PostgreSQL more accessible for newcomers.
* User centered design best practices, importance of user research, role of design for open source products.
* Working with advanced PostgreSQL features in UI tools.
* I am mainly interested in joining workshops. 
* Additional PostgreSQL information: total RAM usage (from memory contexts), progress reporting
* Ease of enabling query monitoring (pg_stat_statements), plan monitoring.
* Talking about interoperability & Exchanging ideas on UI/UX Design.
* Developing comunity standards for management and monitoring tools and their interoperablity.
* More common APIs/Functions in core like pg_get_viewdef, Client based tools vs web based.
= Notes - PGConfEU 24/10/17 =
Hopes for this first meeting:
* Finding common goals
* consider sharing small subprojects
* building different user personas/profiles
* try to implement one tool's feature as a component in another PostgreSQL tool (OmniDB and SQL Tabs)
General questions: 
* Should we develop a multi database interface or a PostgreSQL only interface ?
== Damien Clochard : Introduction ==
Slides : https://wiki.postgresql.org/images/9/95/PGTDM_2017_%286%29.pdf
== KDE : KEXI ==
"Continue where MS Access / Filemaker / IBM Lotus Approach stopped"
Slides : File:Kexi_pgsql_2017.pdf‎ 
* In order to support multiple backends (SQLite, PostgreSQL, MySQL...) KEXI has own parser for its own SQL dialect. Support for nontrivial PostgreSQL's SQL is limited, can be extended by adding optional support for native features.
* Kexi Reports support previewing, printing, document generation, it's a fork of the xTuple OpenRPT engine.
* Mobile and web integrations, macros and scripting not yet released.
* Near plans: bring Mac and Windows versions back.
* Largely stable, used in production
* Issues: small development team, small number of testers, funding -> slow development of new features
* Ideas for sharing small subprojects: advanced CSV import/export, SQL parser for SQL editors, improved server instrumentation, more SQL (scalar) functions
== Egger Apps : Postico / Postgres.app ==
 
Slides : Postico and Postgres.app: https://wiki.postgresql.org/images/3/3c/Postico-postgresapp-Egger.pdf
* URL handlers, trying to access and handle every instances by just by clicking a link
== EDB : pgAdmin ==
Slides : https://wiki.postgresql.org/images/e/e0/PgAdmin_Project_Intro.pdf
* seritous issues often arise from 3rd party software
* very difficult to find people to work on packaging
* testing can be extremely difficult
* community issues: disagree with technology choices, prefer pgAdminIII to IV
== Gilles Darold : pgBadger + pgFormatter ==
slides : pgBadger - pgFormatter: https://wiki.postgresql.org/images/4/42/Pgbadger_darold.pdf
== DBWeaver : DBeaver ==
Slides : https://wiki.postgresql.org/images/a/a4/PG2017_-_UI_Tools_Last.pdf
* new hot features support
* important functionality depend on optional extension
* custom data types support
* JDBC issues (custom types, streaming, transaction)
== Crunchy Data ==
* Prometheus + Graphana 
== 2nd Quadrant : SQL Tabs ==
Slides : https://wiki.postgresql.org/images/1/17/Sqltabs_warsaw_2017_1_%281%29.pdf
* Idea : Common javascript UI Components (EXPLAIN display)
* Principle : psql is great !
* Principle : Rich client is the future
* Main User : PostgreSQL Expert
== Zalando : pg_view / bg_mon ==
* Need : better memory stats
* Need : query progress informations
== Postgres Pro : Postgres Professional Manager ==
Slides : Postgres pro Manager: https://wiki.postgresql.org/images/8/83/Postgrespro_ui-Panchenko.pdf
* Need : unified approaches to agent plugin interface (Common API)
==dalibo : PoWA ==
 
Slides : PoWA: https://wiki.postgresql.org/images/2/22/PoWA_-_Giraud.pdf
* Dashboard like homepage
* Index suggestions
== Open SCG : pgDevOps ==
*
== Dalibo : Temboard ==
Slides : temBoard: https://wiki.postgresql.org/images/3/32/Temboard-dev-grap-Tachoires.pdf
= What do we need from the PostgreSQL Hackers ? =
* Query ID
* Better error reporting from libpq ("libpq-side errors" could return a SQL State)
* Localization independant errors / Error Codes ?
* As much details as possible in errors (driver side ?)
* Python driver (psycopg) improvments : multiple result sets
* External parser ? -> https://github.com/jconway/pgsynck
* SQL Definitions for all objects (Tables, function headers) (Google Summer of Code)
* System triggers / Logging Triggers
* more info about "waits" in the catalogs
* more info about memory consumption / memory context
* more scalar functions (GREATEST,MAX,) in an extension ?
* Progress report for QUERY / CREATE INDEX / etc. -> https://github.com/postgrespro/pg_query_state
= Actions =
* Lightning Talk @ PG Conference Europe 2017
* Communication :
** yet another mailing list ? General GUI topics, nothing specific to a certain project + Announcements ? 
** dedicated wiki pages
** psql-announce : https://wiki.postgresql.org/wiki/NewsEventsApproval
* Share Sample databases / Sample Data : 
** Xtuple 
** dell store 
** stack overflow for Text Search 
** https://wiki.postgresql.org/wiki/Sample_Databases
= Next Meeting =
Hopes for the next meeting ?
* PGCon 2018 ? 
* Who wants to organize it? Dave Page + ?
* More structured presentations ? Small group work ?