X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fhtml%2Fch02s05.html;h=c598c4767985bca9e7af0035f039af284a66282e;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;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 @@
-PostgreSQL muss auf verschiedene Weisen angepasst werden.
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 \ No newline at end of file + Sie den evtl. voreingestellten Benutzer âpostgresâ auf âkivitendoâ + bzw. den hier gewählten Benutzernamen.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):
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 clusternameDie 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 clusternameDie 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.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 Parameterlisten_address
gesteuert. Laufen PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert @@ -27,24 +29,45 @@ exitDatenbankverbindungen auch von anderen Rechnern aus zugelassen werden, was mit dem Wert
*
geschieht.In der Datei
pg_hba.conf
, die im gleichen Verzeichnis wie diepostgresql.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 passwordIn 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 +
CREATE EXTENSION
ist seit Version 9.1 die + bevorzugte Syntax um die Spracheplpgsql
+ 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'; +\qAb 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'; -\qWenn 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 +
pg_trgm
ist je nach Distribution nicht im + Standard-Paket von Postgres enthalten. Einselect * 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+
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 exitWenn Sie später einen Datenbankzugriff konfigurieren, verändern - Sie den evtl. voreingestellten Benutzer âpostgresâ auf âkivitendoâ bzw. - den hier gewählten Benutzernamen.