Inhaltsverzeichnis

PostgreSQL-Server konfigurieren

Diese Anleitung beschreibt, wie der PostgreSQL-Server unter Linux installiert und in Betrieb genommen werden kann.

Paketinstallation

Für die Funktion von PostgreSQL müssen zumindest die folgenden Pakete installiert werden:

Die Pakete sind für die meisten Linux-Distributionen verfügbar. Bei der Installation unter Debian ist darauf zu achten, dass die aktuellste Version von PostgreSQL installiert wird. Dazu ist es notwendig die Backports-Paketquellen einzubinden. Dies erfolgt durch das Hinzufügen der folgenden Zeile in der Datei /etc/apt/sources.list

deb http://www.backports.org/debian etch-backports main contrib non-free

Danach müssen die Pakete neu eingelesen werden und die Installation kann beginnen:

$ apt-get update
$ apt-get install debian-backports-keyring
$ apt-get -t etch-backports install postgresql-X.Y postgresql-client-X.Y

Empfohlen wird noch die Installation von phppgadmin aus dem gleichnamigen Paket. phppgadmin ist ein Administartionsinterface für PostgreSQL welches über den Webbrowser bedient werden kann.

Damit sollte der Server automatisch gestartet werden und theoretisch einsatzbereit sein. In der Tat muss aber noch einiges gemacht werden damit man auch Datenbanken verwenden kann.

Zugriffsrechte vergeben

Damit auf den PostgreSQL-Server zugegriffen werden kann müssen noch ein paar Einstellungen angepasst und ein Passwort für den Administratoraccount postgres vergeben werden. Zunächst müssen die Zugriffsrechte auf die Datenbanken, in der Datei /etc/postgresql/X.Y/main/pg_hba.conf angepasst werden. Dort muss die Zeile

local   all         all          ident

wie folgt geändert werden:

local   all         all          md5

Ein Passwort für den Benutzer postgres (Benutzer mit Admin-Rechtn in der Datenbank) kann mit einem einfachn SQL-Befehl erstellt werden. Dazu muss sich der Benutzer root als Benutzer postgres in der Kommandozeile anmelden, da für root kein Passwort abgefragt wird:

$ su postgres

Mit dem Befehl

$ psql -d template1

wird der psql-Client gestartet. Im Klient kann nun die SQL-Anweisung

> ALTER USER postgres WITH PASSWORD 'secret';
> \q

ausgeführt werden. Dadurch wird das Passwort neu gesetzt und der Klient beendet.

Nach einem Neustart von PostgreSQL werden alle Änderungen übernommen.

$ /etc/init.d/postgreql restart

phppgadmin Konfigurieren

Damit mittels Webbrowser auf das Admin-Interface zugegriffen werden kann muss der Webserver (normalerweise Apache2) gestartet sein. Weiters muss noch ein symbolischer Link auf das Installationsverzeichnis von phppgadmin gelegt werden.

$ ln -s /usr/share/phppgadmin </path/to/ht-docs>

Standardmäßig ist es privilegierten Benutzern wie z. B. postgres nicht erlaubt sich über das Web anzumelden. Falls das jedoch gewünscht wird kann in der Datei /usr/share/phppgadmin/conf/config.inc.php der Parameter extra_login_security deaktiviert werden. Die entsprechende Zeile in der Datei muss dann so aussehen:

$conf['extra_login_security'] = false;

Sicherheitshinweis

Aus Sicherheitsgründen sollten die Einstellungen in der Datei /etc/postgresql/X.Y/main/pg_hba.conf für den Betrieb des Datenbank-Servers angepasst werden. In dieser Datei können Zugriffsrechte für Datenbanken auf Hosts/Netze und Benutzer beschränkt werden.

Siehe auch