PostgreSQL Parameter für ]project-open[ UCS Integration

german
integration

#1

Hallo Forum!

Nico Gulden und ich versuchen, ]project-open[ (project-open.org/ - Enterprise Project Management) für das Univention App Center aufzubereiten.

In dieser Integration scheint es einen einzigen wirklich kritischen Punkt zu geben: ]po[ benötigt unbedingt PostgreSQL 8.4 und unbedingt die folgenden Parameter in postgresql.conf:

add_missing_from = on regex_flavor = advanced

Die Frage ist, ob diese Parameter mit dem Rest von UCS kompatibel sind, bzw. ob bzw. wie ]po[ diese Parameter während der Installation modifizieren darf.

add_missing_from = on
Dieser Parameter erlaubt es Queries zu schreiben wie “select 1” anstatt “select 1 from dual”. ]po[ 4.0 besteht aus über 10.000 SQL Statements in der alten Syntax, die wir für eine UCS Integration nicht alle modifizieren und testen können.

regex_flavor = advanced
Dieser Parameter beeinflusst Queries mit RegExp features. Das wird in “normalem” SQL Code sehr selten verwendet, wenn es überhaupt Entwickler gibt, die dieses Feature kennen…

Weiter gibt es mehrere kleinere Punkte, die ev. auch Probleme machen könnten:

[ul]- ]po[ erzeugt bei der Installation eine neue PostgreSQL Datatabase mit dem Namen “projop”.

  • ]po[ benötigt das PostgreSQL Modul “TSearch2”, das in postgresql-contrib enthalten ist.
  • Für Enterprise Operations (>100 Active Users) benötigt ]po[ einige Performance Optimierungen in der postgresql.conf, die folgenden Parameter betreffen: shared_buffers, work_mem, maintenance_work_mem, wal_buffers und effective_cache_size.[/list][/ul]

Viele Grüße aus Barcelona
Frank

mailto:fraber@fraber.de
Founder ]project-open[


#2

Hallo,

ich bin mir da jetzt nicht ganz sicher, aber bei der alleinige Installation von postgresql-8.4 wird nur die Konfigurationsdatei /etc/postgresql/8.4/main/postgresql.conf angelegt. Welche aber meiner Meinung nach nicht aus einem Univention-Template erzeugt wird. Somit würde ich davon ausgehen, daß die Angaben in der Konfigurationdatei nicht mit dem restlichen UCS-System in Konflikt kommen sollten, da wenn ich mich nicht irre alle systemrelevanten Konfigurationsdateien per Univention-Template erzeugt werden.

Wie es sich das jedoch verhält, wenn andere z.B. per App-Center installierte Software auch PostgreSQL nutzt, ist mir nicht bekannt. Da könnte es evtl. zu Konflikten bzgl. der Konfiguration kommen.

Viele Grüße
Ulf Friedel


#3

Hallo Ulf,

Univention Template

Richtig, technisch müssten wir wahrscheinlich sowohl Euer Template als auch die eigentliche postgresql.conf modifizieren.
Irgendwie kriegen wir das auch hin. ]po[ selber könnte beim Start auch checken, ob die Konfiguration in Ordnung ist und
sonst modifiziert neustarten.

andere App-Center installierte Software

Rrrichtig, darum geht es. Hast Du einen Katalog der Software, die PostgreSQL benutzt?
Vielleicht könnte man auch einfach mal in die Datenbank eine vollständig ausgebauten
Systems schauen, was sich da so 'rumtreibt.

Der wichtigste “add_missing_from” Parameter erweitert die akzeptierte Syntax von PG,
oder anders herum ausgedrückt, er vermeidet einige Fehlermeldungen.
Um die anderen Parameter können wir zur Not auch herumarbeiten.
Ich halte es für sehr unwahrscheinlich, dass danach irgendetwas nicht mehr funktioniert,
ich muss das aber wegen der UCS Zertifizierung checken.

=> Wir brauchen also jemanden (von Eurer Seite), der grünes Licht gibt für die Zertifizierung.
Das kann auch mit Vorbehalt sein, Hauptsache ich darf das Logoprogramm unterschreiben.

Viele Grüße
Frank


#4

Hallo,

da ich kein Mitarbeiter von Univention bin, fehlt mir dafür natürlich die nötige Kompetenz.

Was mir leider nicht auf den ersten Blick auffiehl. Es gibt das Paket univention-postgresql, welches die über UCR Variablen managebare PostgreSQL Konfiguration enthält und somit für die UCS Integration sorgt.

Um herauszufinden welche Pakete univention-postgresql verwenden, kann ich auch nur apt-cache bemühen:

# apt-cache rdepends univention-postgresql
univention-postgresql
Reverse Depends:
  univention-printquotadb
  univention-printquotadb
  univention-pkgdb
  univention-bacula
  univention-printquotadb
  univention-pkgdb
  univention-bacula
  univention-printquotadb
  univention-pkgdb
  univention-horde4
  univention-bacula
  univention-printquotadb
  univention-pkgdb
  univention-horde4
  univention-bacula

Anregungen zur Integration könnte man sich möglicherweise auch im Subversion Repository holen.

Viele Grüße
Ulf Friedel


#5

PostgreSQL 8.4 wird unter UCS standardmäßig installiert wenn “univention-postgresql” installiert wird.
Es können auf älteren Systemen oder wenn manuell gewünscht stattdessen 8.3 oder 7.4 installiert sein; Eine Paket-Abhängigkeit auf “univention-postgresql” und “postgresql-8.4” löst dieses Problem.

[quote=“fraber”] und unbedingt die folgenden Parameter in postgresql.conf:

add_missing_from = on
Dieser Parameter erlaubt es Queries zu schreiben wie “select 1” anstatt “select 1 from dual”. ]po[ 4.0 besteht aus über 10.000 SQL Statements in der alten Syntax, die wir für eine UCS Integration nicht alle modifizieren und testen können.
[/quote]

Dies funktioniert unter UCS mit PostgreSQL 8.4 in der Standard-Konfiguration:

postgres=# SELECT 1+2;
 ?column? 
----------
        3
(1 Zeile)

[quote=“fraber”] regex_flavor = advanced
Dieser Parameter beeinflusst Queries mit RegExp features. Das wird in “normalem” SQL Code sehr selten verwendet, wenn es überhaupt Entwickler gibt, die dieses Feature kennen…
[/quote]
Dieser Parameter ist laut Dokumentation bereits standardmäßig “advanced”.

Aus meiner Sicht sollte demnach für diese 3 Punkte keine Änderung der Konfiguration nötig sein.

[quote=“fraber”]Weiter gibt es mehrere kleinere Punkte, die ev. auch Probleme machen könnten:

  • ]po[ erzeugt bei der Installation eine neue PostgreSQL Datatabase mit dem Namen “projop”.[/quote]
    Dies sollte kein Problem darstellen.

Module werden soweit ich weiß für jede Datenbank aktiviert, sollten also keine Probleme für andere Datenbanken/Programme machen.

Eventuell reicht hier eine Dokumentation wie man wenn nötig die /etc/univention/templates/files/etc/postgresql/8.4/main/postgresql.conf anpasst?

Viele Grüße
Janek Walkenhorst