Neben der nativen Postgres-Installation (die wir empfehlen) gibt es auch die Möglichkeit, Postgres unter Cygwin zu betrieben. Insgesamt eignet sich eine unter Cygwin kompilierte Postgres-Installation unter nur für den Testbetrieb, denn bei der Sortierung werden Umlaute falsch eingeordnet und es wird sehr großzügig mit der Prozessorlast umgegangen: Wenn Postgres-Prozesse laufen, dann ist die Performance des Rechners für andere Anwendungen weitgehend gesperrt.
Aber auch bei der nativen Postgres-Installation unter Windows benötigen Sie für Postgres und SuperX unter Windows die UNIX-Shell-Emulation cygwin. Cygwin bietet rudimentäre UNIX-Funktionen wie z.B. die "bash", aber keine UNIX-typischen Dateirechte (z.B. Ausführungsrechte für User, Gruppen oder Andere).Außerdem unterstützt Cygwin (unseres Wissens) keine Locales, und unter Win98 haben wir keine stabile Installation hinbekommen. In den Mailinglisten wurden häufiger Probleme mit Win98 berichtet, unter WinME, Win2000 und Windows XP haben wir Cygwin erfolgreich getestet.
Das folgende Beispiel arbeitet mit Postgres 7.4.x. Postgres ist als Paket im Installer von Cygwin auswählbar.
Für die Installation muss man eine Windows-Kennung benutzen, die Rechte für "Standardbenutzer" reichen aus (es sei denn Cygwin soll als Dienst laufen). Außerdem: Wenn Sie planen, Daten bzw. entladene Datenbank-Exporte zwischen verschiedenen Rechnern hin- und herzuschieben, sollten Sie darauf achten, dass Sie immer die gleiche Kennung benutzen. Sie können z.b. superx nehmen. Die Windows Kennung, unter der man Cygwin installiert, wird nämlich nach Cygwin durchgereicht.
Vorgehen:
1. Die
setup-Datei setup.exe der
Unix-Emulation Cygwin von http://www.cygwin.com herunterladen und
starten
Dann je nach Belieben direkt aus dem
Internet installieren oder zunächst herunterladen und dann install
from local directory (alle Komponenten ausgewählt lassen)
anklicken (wir empfehlen letzteres Vorgehen, da das Online-Cygwin-Paket ständig
aktualisiert wird).
2. Als Installationspfad sollten Sie unbedingt einen Pfad wählen, der keine Leerzeichen enthält, z.B. c:\cygwin).
3. Bei der Frage, für welchen User Cygwin installiert werden soll, wählen Sie "All users", und beim Standard-Dateiformat wählen Sie Unix.
4. Bei
der Auswahl der Pakete sollten Sie wie folgt vorgehen: Bei den Shells mauss auf jeden Fall die bash ausgewählt sein. Zusätzlich zu den Defaults
müssen lediglich Base -> TextUtils, Database
-> Postgres, Admin -> cron, net->openssh und Libs -> libint und libint1 manuell ausgewählt werden. Ein
Mailprogramm (mutt, mail) sollte auch installiert werden. Wenn Sie Postgres
selbst aus den Quellen installieren wollen, dann wählen Sie natürlich nicht
Postgres aus.
Danach einmal starten, das home-Verzeichnis
wird angelegt
5. Das Cygwin-/bin Verzeichnis muss in der Umgebungsvariable PATH vor den Windows Programm-Verzeichnissen liegen, denn die sort.exe von Cygwin muss benutzt werden, nicht die von Windows. Prüfen Sie außerdem im Verzeichnis /bin, ob die bash.exe existiert - dies muss der Fall sein.
6. Wenn
Sie Postgres nativ (d.h. mit dem Windows-Installer von Postgres ab Version 8.x)
installiert haben, dann können Sie jetzt aufhören. Der folgende Teil gilt nur
für Postgres unter Cygwin:
IPC-Daemon starten
ipc-daemon2 &
Danach ist Postgres bereits installiert. Wenn Sie Postgres selbst aus den Quellen
installieren, dann gehen Sie in das Verzeichnis mit den Quellen von postgresql.
Die Installationsschritte entsprechen der Linux-Installation, außer dass Sie
beim configure auch --enable-odbc eingeben sollten. Wenn entsprechende
Fehlermeldungen erscheinen, müssen Sie noch dafür sorgen, dass (am Beispiel
einer Installation von Cygwin in c:\cygwin)
C:\cygwin\usr\local\pgsql\lib\pq.dll
im PATH ist.
7. Nach
der Installation Cygwin neu starten; danach muss unter cygwin ein User
installiert werden. Geben Sie dazu ein
mkpasswd -d | grep <<Windows-Username>> >>
/etc/passwd
Unter Win95/98/ME muss man das Passwort in /etc/passwd
noch verschlüsseln; ersetzen Sie den Passus "use crypt" durch die
Ausgabe von dem Befehl
crypt <<Ihr Passwort>>
8. Zur Initialisierung von Postgres folgendes eingeben:
ipc-daemon2 &
initdb -D /usr/local/pgsql/data
in /usr/local/pgsql/data/postgresql.conf #tcpip_socket=false
# wegnehmen und auf true setzen
Zum Start des Postmaster eine Batchdatei z.B. pgsql_start.x anlegen mit dem Inhalt:
pgsql_start.x |
#! /bin/sh ipc-daemon2 & pg_ctl -D /usr/local/pgsql/data -l /var/log/postgres.log -o -i start |
Danach gibt man ein:
chmod +x pgsql_start.x
./pgsql_start.x
Der Postmaster startet dann, und die Logdatei /var/log/postgres.log wird gefüllt.
Den erfolgreichen Start von Postgres kann man prüfen, indem man psql template1 eingibt.
Den postmaster beendet man wie unter UNIX mit
pg_ctl
stop ?D /usr/local/pgsql/data
Die Installation des Kernmoduls kann danach vorgenommen werden; bei der Umgebungsvariable JAVA_HOME müssen Sie die Windows-Installation von Java verwenden (/cgydrive/<<Windows-Laufwerk>>/<<Pfad zum JDK>>).
Noch ein kleiner Hinweis: Wenn Sie sich von entfernten Rechnern auf dem Cygwin-Server anmelden wollen, müssen Sie den ssh-Daemon installieren (s.u.).
![]() |
![]() ![]() |
Seite 31 / 277 Letzter Update: 18.08.2008 Impressum |