Diese Anleitung beschreibt, wie der PostgreSQL-Server unter Linux installiert und in Betrieb genommen werden kann.
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.
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
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;
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.