Installation von PostgreSQL auf Linux (Erstellung aus Sourcen)

Hier findest du die Antworten auf häufig gestellte Fragen.
(kein Schreibrecht für Forenmitglieder!)
Antworten
Xandrian
Erfahrener Benutzer
Beiträge: 1686
Registriert: Mi 23. Nov 2005, 09:17
Wohnort: Bayreuth
Kontaktdaten:

Installation von PostgreSQL auf Linux (Erstellung aus Sourcen)

Beitrag von Xandrian » Do 16. Nov 2006, 08:06

Dieses How-To befasst sich mit der Installation eines PostgreSQL-Servers unter Linux. Hier wird die Installation auf Basis der Sourcen von PostgreSQL behandelt. Es werden also keine vorkompilierten Packete verwendet! Als Basis dient die Version 8.1.5.

Befehle die mit einer Tilde (~) aufgeführt sind, werden als normaler Benutzer ausgeführt. Befehle mit der Raute (#) erfordern root-Rechte.

Als erstes benötigt man die Sourcen. Diese findet man unter der folgenden URL: http://wwwmaster.postgresql.org/download/mirrors-ftp?file=source%2Fv8.1.5%2Fpostgresql-8.1.5.tar.bz2

Im ersten Schritt entpacken wir das Source-Archiv und wechseln dann in den entpackten Ordner:

Code: Alles auswählen

~ tar -xjf postgresql-8.1.5.tar.bz2
~ cd postgresql-8.1.5


Wie üblich bei Linux-Sourcepacketen wird auch PostgreSQL mit einem Configure-Skript konfiguriert. Alle Parameter kann man sich mit dem Befehl ./configure -helpanschauen. In diesem Beispiel möchte ich einen PostgreSQL Server mit Python Unterstützung erstellen. Hierzu gebe ich folgendes ein:

Code: Alles auswählen

~ ./configure --with-python


Configure überprüft dann Abhängigkeiten im System. Wenn etwas nicht stimmt und dadurch PostgreSQL nicht kompiliert werden könnte, bricht das Skript ab. In diesem Fall nicht nur die letzte Zeile lesen sondern auch ein paar Zeilen davor. Hier steht das Problem und die letzte Zeile ist nur eine Folge davon!

Läuft alles sauber durch, kann mit

Code: Alles auswählen

~ make
der Datenbankserver erzeugt werden. Je nach Leistungsfähigkeit des Computers kann dieser Vorgang mehrere Minuten dauern.

Wenn bereits ein PostgreSQL Datenbankserver besteht, sollte vor der Installation des neuen Servers die Datenbank gesichert werden. Die Vorgehensweise hierzu ist in der PostgreSQL-Dokumentation beschrieben.

Meldet make am Ende "All of PostgreSQL successfully made. Ready to install." ist alles gut geloffen und wir können mit der Installation fortfahren. Ansonsten bitte wieder die letzten Zeilen lesen. Hier steht in der Regel was schief geloffen ist.

Die folgenden Schritte müssen mit root-Rechten ausgeführt werden. Also wechseln wir nun zu root und installieren den gerade erzeugten PostgreSQL-SErver:

Code: Alles auswählen

~ su
# make install


Um den Datenbankserver später einfach über ein init-Skript starten zu können, kopieren wir dieses in den entsprechenden Ordner.

Code: Alles auswählen

# cp contrib/start-scripts/linux /etc/init.d/postgresql


Die Befehle für die Erzeugung der Datenbank habe ich aus dem PostgreSQL-Handbuch kopiert da es hierzu nocht soviel zu sagen gibt.

Code: Alles auswählen

# adduser postgres
# mkdir /usr/local/pgsql/data
# chown postgres /usr/local/pgsql/data
# su - postgres
~ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
~ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
~ /usr/local/pgsql/bin/createdb test
~ /usr/local/pgsql/bin/psql test


Sollte das Starten des PostgreSQL-Server nicht funktionieren (der dritte Befehl von unten), dann versuche diesen (und nur diesen!) als root. Sollte alles gut gehen befindest du dich nun in der Datenbank "test" auf dem neu erzeugten Server!

Bei einem Update kann nun das erstellte Backup zurück gespielt werden und es sollten alle Daten wieder verfügbar sein.

Nun viel Spaß mit dem neu erzeugten PostgreSQL-Server. Für Ergänzungen, Änderungen, Korrekturen etc. bitte einfach eine PM an mich.
pg-forum.de unterstützen? Meine Wunschliste

Bild

Antworten