2.4. Anpassung der PostgreSQL-Konfiguration

PostgreSQL muss auf verschiedene Weisen angepasst werden.

2.4.1. Zeichensätze/die Verwendung von UTF-8

Lx-Office kann komplett mit UTF-8 als Zeichensatz verwendet werden. Dabei gibt es zwei Punkte zu beachten: PostgreSQL muss in Version 8.2 oder neuer benutzt werden, und der PostgreSQL-Datenbankcluster muss ebenfalls mit UTF-8 als Locale angelegt worden sein.

Dieses ist kann überprüft werden: ist das Encoding der Datenbank “template1” “UTF8”, so kann auch Lx-Office mit UTF-8 betrieben werden. Andernfalls ist es notwendig, einen neuen Datenbankcluster mit UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl getan werden:

pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername

Die Datenbankversionsnummer muss an die tatsächlich verwendete Versionsnummer angepasst werden.

Unter anderen Distributionen gibt es ähnliche Methoden.

Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann Lx-Office mit ISO-8859-15 als Encoding betrieben werden.

Das Encoding einer Datenbank kann in psql mit \l geprüft werden.

2.4.2. Änderungen an Konfigurationsdateien

In der Datei postgresql.conf, die je nach Distribution in verschiedenen Verzeichnissen liegen kann (z.B. /var/lib/pgsql/data/ oder /etc/postgresql/, muss sichergestellt werden, dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den Parameter listen_address gesteuert. Laufen PostgreSQL und Lx-Office auf demselben Rechner, so kann dort der Wert localhost verwendet werden. Andernfalls müssen Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden, was mit dem Wert * geschieht.

In der Datei pg_hba.conf, die im gleichen Verzeichnis wie die postgresql.conf zu finden sein sollte, müssen die Berichtigungen für den Zugriff geändert werden. Hier gibt es mehrere Möglichkeiten. Eine besteht darin, lokale Verbindungen immer zuzulassen:

local all all trust
host all all 127.0.0.1 255.0.0.0 trust

Besser ist es, für eine bestimmte Datenbank Zugriff nur per Passwort zuzulassen. Beispielsweise:

local all lxoffice password
host all lxoffice 127.0.0.1 255.255.255.255 password

2.4.3. Erweiterung für servergespeicherte Prozeduren

In der Datenbank template1 muss die Unterstützung für servergespeicherte Prozeduren eingerichet werden. Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an, und führen Sie die folgenden Kommandos aus:

create language 'plpgsql';

2.4.4. Datenbankbenutzer anlegen

Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen können:

su - postgres createuser -d -P lxoffice

Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie den evtl. voreingestellten Benutzer “postgres” auf “lxoffice” bzw. den hier gewählten Benutzernamen.