X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fhtml%2Fch02s05.html;h=c598c4767985bca9e7af0035f039af284a66282e;hb=c62a6cabffc11bdb2d3fda2025fef2f3d07c5ba9;hp=582067defd580678958ee88d8f5674e911940ae6;hpb=8d8d1aab328b1c47d7983aca59c1c99592336eff;p=kivitendo-erp.git diff --git a/doc/html/ch02s05.html b/doc/html/ch02s05.html index 582067def..c598c4767 100644 --- a/doc/html/ch02s05.html +++ b/doc/html/ch02s05.html @@ -1,25 +1,27 @@ - 2.5. Anpassung der PostgreSQL-Konfiguration

2.5. Anpassung der PostgreSQL-Konfiguration

PostgreSQL muss auf verschiedene Weisen angepasst werden.

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

Bei aktuellen Serverinstallationen braucht man hier meist nicht - eingreifen

Dieses kann überprüft werden: ist das Encoding der Datenbank - “template1” “UTF8”, so braucht man nichts weiteres diesbezüglich - unternehmen. Zum Testen: - -

su postgres
+   2.5. Anpassung der PostgreSQL-Konfiguration

2.5. Anpassung der PostgreSQL-Konfiguration

PostgreSQL muss auf verschiedene Weisen angepasst werden.

Dies variert je nach eingesetzter Distribution, da distributionsabhängig unterschiedliche Strategien beim Upgrade der Postgres Version eingesetzt werden. + Als Hinweis einige Links zu den drei Distribution (Stand Dezember 2018):

2.5.1. Zeichensätze/die Verwendung von Unicode/UTF-8

kivitendo setzt zwingend voraus, dass die Datenbank + Unicode/UTF-8 als Encoding einsetzt. Bei aktuellen + Serverinstallationen braucht man hier meist nicht einzugreifen.

Das Encoding des Datenbankservers kann überprüft werden. Ist das + Encoding der Datenbank "template1" "Unicode" bzw. "UTF-8", so braucht + man nichts weiteres diesbezüglich unternehmen. Zum Testen:

su postgres
 echo '\l' | psql
-exit 

- - 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 - kivitendo mit ISO-8859-15 als Encoding betrieben werden.

Das Encoding einer Datenbank kann in psql mit +exit

Andernfalls ist es notwendig, einen neuen Datenbankcluster mit + Unicode-Encoding anzulegen und diesen zu verwenden. Unter Debian und + Ubuntu kann dies z.B. für PostgreSQL 9.3 mit dem folgenden Befehl + getan werden:

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

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

Unter anderen Distributionen gibt es ähnliche Methoden.

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

2.5.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, + /etc/postgresql/), muss sichergestellt werden, dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den Parameter listen_address gesteuert. Laufen PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert @@ -27,24 +29,45 @@ exit

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. sinnvoll ist es nur die - nögiten Verbindungen immer zuzulassen, für eine lokal laufenden - Datenbank zum Beispiel:

local all kivitendo password
+        sein sollte, müssen die Berechtigungen für den Zugriff geändert
+        werden. Hier gibt es mehrere Möglichkeiten. Sinnvoll ist es nur die
+        nötigen Verbindungen immer zuzulassen, für eine lokal laufende
+        Datenbank zum Beispiel:

local all kivitendo password
 host all kivitendo 127.0.0.1 255.255.255.255 password

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

su - postgres
-psql template1

+psql template1

führen Sie die folgenden Kommandos aus:

CREATE EXTENSION IF NOT EXISTS plpgsql;
+\q
[Anmerkung]Anmerkung

+ CREATE EXTENSION ist seit Version 9.1 die + bevorzugte Syntax um die Sprache plpgsql + anzulegen. In diesen Versionen ist die Extension meist auch schon + vorhanden. Sollten Sie eine ältere Version von Postgres haben, + benutzen Sie stattdessen den folgenden Befehl.

CREATE LANGUAGE 'plpgsql';
+\q

2.5.4. Erweiterung für Trigram Prozeduren

Ab Version 3.5.1 wird die Trigram-Index-Erweiterung benötigt. + Diese wird mit dem SQL-Updatescript + sql/Pg-upgrade2/trigram_extension.sql und Datenbank-Super-Benutzer + Rechten automatisch installiert. Dazu braucht der + DatenbankSuperbenutzer "postgres" ein Passwort.

su - postgres
+psql
+\password postgres
 
-        führen Sie die folgenden Kommandos aus:

create language 'plpgsql';
-\q

2.5.4. Datenbankbenutzer anlegen

Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff +Eingabe Passwort +\q

Benutzername Postgres und Passwort können jetzt beim Anlegen + einer Datenbank bzw. bei Updatescripten, die SuperuserRechte + benötigen, eingegeben werden.

[Anmerkung]Anmerkung

+ pg_trgm ist je nach Distribution nicht im + Standard-Paket von Postgres enthalten. Ein

select * from pg_available_extensions where name ='pg_trgm';

+ in template1 sollte entsprechend erfolgreich sein. Andernfalls muss + das Paket nachinstalliert werden, bspw. bei debian/ubuntu +

apt install postgresql-contrib

+

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

Die Frage, ob der neue User Superuser sein soll, können Sie mit nein - beantworten, genauso ist die Berechtigung neue User (Roles) zu - generieren nicht nötig.

su - postgres
+        können:

Die Frage, ob der neue User Superuser sein soll, können Sie mit + nein beantworten, genauso ist die Berechtigung neue User (Roles) zu + generieren nicht nötig.

su - postgres
 createuser -d -P kivitendo
 exit

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

\ No newline at end of file + Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” + bzw. den hier gewählten Benutzernamen.

\ No newline at end of file