blank
Unser PostgreSQL-Maskottchen, ein blauer Elefant

PostgreSQL 8

Installation unter Windows 2000/XP/Server 2003

 

[Welcome] [Installations-Optionen] [Dienste-Konfiguration] [Datenbank-Cluster initialisieren] [Prozedurale Sprachen aktivieren] [Contrib-Module] [Nach der Installation]

Seit Mitte Januar 2005 gibt es den lange erwarteten Nativen Windows Installer für PostgreSQL 8. Die Installation dieses Datenbaksystems ist denkbar einfach und kann mit einem Doppelklick auf die Datei gestartet werden. Eine Einschränkung gibt es jedoch bezüglich des Dateisystems: PostgreSQL 8 kann nur auf einem NTFS-Dateisystem komplett installiert werden, mit allen Leistungsmerkmalen, die die Version 8 mitbringt. Sollten Sie ein FAT32 Dateisystem haben, ist eine Installation zwar möglich, erfordert jedoch ein wenig Handarbeit. Tablespaces werden auf solchen Partitionen allerdings nicht unterstützt.

Die aktuellen Versionen finden Sie stets unter den Adressen, die auf unserer Startseite genannt sind.

Sollten Sie Fragen haben, werfen Sie einen Blick auf die Running & Installing PostgreSQL On Native Windows FAQ.



Nachdem Sie das etwa 17,5 MB grosse Archiv heruntergeladen und entpackt haben, starten Sie die Installation mit einem Doppelklick auf die kleinere der beiden msi-Dateien. Der PostgreSQL "Installation Wizard" begrüsst Sie und fordert Sie auf, die gewünschte Sprache für den Installer auszuwählen:

PostgreSQL Installation

Kurz bevor Sie auf den "Start"-Button klicken können Sie noch angeben, ob der Installer die Details der Installation protokollieren soll. Nach einem Klick auf Start begrüßt Sie der Installations-Assistent mit den üblichen Hinweisen, dass alle laufenden Programme geschlossen werden sollen, bevor die Installation beginnt. Danach folgen noch Hinweise zur Installation, dann kann es losgehen.



Mit einem Klick auf den Start-Button geht es weiter mit Hinweisen zur Installation und von dort zur Auswahl der Komponenten, die Sie installieren möchten:

PostgreSQL Installation

Wie Sie sehen, hat der Installer bereits eine Vorauswahl der zu installierenden Komponenten getroffen. Wenn Sie die Meldungen des Datenbankservers in einer anderen Sprache als Englisch bekommen möchten, müssen Sie die Sprachunterstützung mitinstallieren. Die beiden angebotenen Benutzerschnittstellen sollten Sie auf jeden Fall mitinstallieren. Welche Treiber Sie benötigen, hängt davon ab, was Sie mit PostgreSQL vorhaben und die Dokumentation ist allemal lesenswert. Sollten Sie später eine der jetzt abgewählten Komponenten brauchen, können Sie diese jederzeit mit einem erneuten Aufruf des Installers nachinstallieren, ebenso Komponenten deinstallieren.

Hier können Sie außerdem bestimmen, in welchem Verzeichnis der Datenbakserver installiert werden soll, falls Sie den vorgeschlagenen Standardpfad nicht wählen möchten.



Weiter geht es mit der Dienste-Konfiguration, der Einrichtung der Windows-Systemumgebung. Ganz oben ist ein bereits ein Häkchen gesetzt, um den PostgreSQL-Server als Dienst zu installieren. Demarkieren Sie es, wenn das Programm nicht als Dienst eingerichtet werden soll.

PostgreSQL Installation

PostgreSQL verlangt die Einrichtung eines neuen Benutzers, der keine Administratorrechte hat und unter dem der Dienst läuft. Der vorgeschlagene Name ist postgres, es kann aber ein beliebiger anderer Name ausgesucht werden. Der Grund hierfür: falls ein Angreifer aufgrund eines Sicherheitslochs in PostgreSQL Zugang zum Rechner bekommt, hat er die Zugriffsberechtigungen des Benutzerkontos, unter dem der Dienst läuft. Da dieser keine Administratorrechte besitzt, kann der mögliche Schaden dadurch minimiert werden.

Falls der Installer diesen Benutzer nicht im System findet, werden Sie gefragt, ob sie ihn anlegen möchten, was Sie mit "ja" bestätigen müssen.

Es ist eine gute Idee, diesem Benutzer selber ein Passwort zu geben und diese Aufgabe nicht dem Installer zu überlassen. Sie werden sonst Probleme haben, sich ein solches, automatisch generiertes Passwort merken zu können:

PostgreSQL Installation



Ein Datenbank-Cluster ist das Verzeichnis, in dem alle Dateien der Datenbankinstallation abgelegt werden. Hier speichert PostgreSQL alle seine Komponenten: Programmodule und standardmäßig alle Datenbanken. Seit der Version 8 können diese aber auch, dank der Unterstützung von Tablespaces, auf anderen Medien gespeichert werden. PostgreSQL muss dieses Verzeichnis initialisieren. Dabei wird das Datenverzeichnis angelegt und die Datenbank template1 erzeugt. Dies ist eine Art Vorlage, aus der alle zukünftigen Datenbanken abgeleitet werden. Alle nötigen Parameter werden hierzu abgefragt:

Wollen Sie Verbindungen von anderen Rechnern auf Ihre Datenbank zulassen, dann markieren Sie die Option Adressen. Denken Sie dann aber daran, dass dies ein Sicherheitsrisiko darstellen kann. Bleibt das Kästchen leer, werden nur Verbindungsanforderungen von localhost zugelassen.

Bei den Optionen Locale und Encoding wählen Sie aus, mit welchen lokalen Einstellungen und Zeichensätzen die Datenbank initialisiert werden soll. Arbeiten Sie hauptsächlich mit deutschen Daten, können Sie German, Germany und den Zeichensatz Latin 1 auswählen.

Bestimmen Sie nun den Benutzername und Passwort des Datenbank-Administrators. Dieser ist nicht zu verwechseln mit dem Windows-Benutzer, unter dem der Dienst läuft.

PostgreSQL Installation

Wenn Sie PostgreSQL auf einer FAT32-Partition installieren wollen, ist der Installer nicht in der Lage, den Datenbank-Cluster zu initialisieren. Er zeigt die folgende Meldung an und damit ist die Installation vorläufig beendet.

PostgreSQL Installation

Auch wenn in der Meldung steht, dass eine Installation in einem anderen als NTFS-Dateisystem nicht empfehlenswert sei, lässt sich der Datenbankserver problemlos von Hand initialisieren. Allerdings stehen Ihnen dann Tablespaces nicht zur Verfügung. Wenn Sie dieses Feature nicht benötigen, ist eine solche handgestrickte Installation ausreichend und funktioniert fehlerfrei. Sie müssen dann in der Eingabeaufforderung in das \bin-Verzeichnis ihrer Installation wechseln und
initdb -D laufwerk:\pfad\zum\datenverzeichnis aufrufen.



Im nächsten Dialog können Sie markieren, welche prozeduralen Sprachen Sie in den Datenbankserver integrieren möchten. (Im Moment stehen nur zwei zur Verfügung.) Mit diesen Sprachen können Sie eigene Funktionen definieren, sogenannte Stored Procedures, eine Eigenschaft, die PostgreSQL zu einem sehr flexiblen System macht. PostgreSQL bietet noch eine ganze Menge Programmierschnittstellen zu anderen Sprachen´, wie etwa C, Java, Ruby. Wenn Sie eine Sprache installieren, wird diese zur Datenbank template1 zugefügt und steht damit allen nachfolgend erzeugten Datenbanken ebenfalls zur VErfügung. Mehr Informationen gibt es im Handbuch.

PostgreSQL Installation



Mit in dem Paket enthalten sind viele Module, die nicht zum Core-Paket gehören, sondern von vielen Entwicklern als Zusatzmodule zur Verfügung gestellt werden. Diese Module sind in dem Verzeichnis \contrib enthalten. Sie sind für den Betrieb von PostgreSQL nicht notwendig.

PostgreSQL Installation

Wenn Sie Zusatzmodule installieren, enthält Ihre Musterdatenbank template1 Tabellen, die von cen contrib-Modulen erzeugt wurden. Diese Tabellen finden Sie dann auch in allen Datenbanken, die Sie erzeugen, da dies zunächst "Blaupausen" der Datenbank template1 sind.

Damit sind alle Angaben komplett und PostgreSQL ist bereit zur Installation. Danach ist kein Neustart des Systems notwendig.



In Ihrem Startmenü finden Sie nun einen Eintrag für PostgreSQL und darin den Eintrag "psql zu template1". Klicken Sie diesen Eintrag an, um psql, den PostgreSQL Datenbankmonitor zu starten. psql ist, gemessen am Bedienkomfort von Windows-Programmen, ein spartanisches Kommandozeilenprogramm, dafür aber sehr schnell und sehr mächtig.

Als erstes öffnet sich die Eingabeaufforderung und fordert Sie auf, ein Passwort einzugeben. Sie müssen das Passwort angeben, das Sie weiter oben für den Datenbankadministrator vergeben haben. Ist alles korrekt, startet der Datenbankmonitor.


Wenn Sie die hier gezeigte Fehlermeldung erhalten, haben Sie zwei Möglichkeiten: entweder, Sie lassen alles, wie es ist oder Sie erstellen ein Batch-Programm, in dem vor dem Start von psql die passende Codepage geladen wird. Dass sich dieser Fehler auf die Funktionalität von PostgreSQL auswirkt, konnte ich nicht feststellen. Sollten Sie sich für den Batch entscheiden, müssen sie auch noch die Schriftart der Eingabeaufforderung auf "Lucida Console" ändern, da Rasterschriftarten nicht mit der Codepage 1252 kompatibel sind.

Bevor Sie aber eine Batchdatei zum Starten des Datenbankservers basteln, sollten Sie noch eine Sache erledigen: die von der Installation vorgegebene Verknüpfung verbindet Sie mit der Datenbank template1. Da dies die Vorlage für alle künftigen Datenbanken ist, sollte sie nicht verändert werden. Erzeugen Sie deshalb als erstes eine neue Datenbank mit der Sie sich von jetzt ab verbinden können. Damit schützen sie die template1 vor unbeabsichtigten Modifikationen.

Im Datenabankmonitor geben sie das Kommando

template1=# CREATE DATABASE test;

Dadurch wird eine neue Datenbank namens test erzeugt. Sie können jetzt mit

template1=# \c test

zu dieser Datenbank wechseln.

Öffnen Sie jetzt einen Texteditor und fügen sie die beiden Zeilen

cmd /C chcp 1252
C:\pg801\bin\psql.exe -h localhost -p 5432 test "postgres"


ein (achten Sie darauf, dass Sie Ihren Pfad zu psql.exe angeben). Dann speichern Sie diese Datei beispielsweise unter psql.bat oder einem beliebigen anderen Namen auf dem Desktop. Wenn Sie die Verknüpfung doppelklicken, sollte Ihre Konsole ungefähr so aussehen:

PostgreSQL starten

Die Warnung ist weg, Sie können die Datenbank template1 nicht mehr unbeabsichtigt verändern und ab sofort Ihrem Schaffensdrang freien Lauf lassen.

© Cornelia Boenigk 2005
 
PostgreSQL powered