Geschrieben im August 2003 als Sonstige Leistung, eine Webseite für das Fach Internetprogrammierung während der Zeit am b.i.b. in Bergisch-Gladbach

Um für die Übungen im Fach Datenbanken nicht ins Rechenzentum nach Bergisch Gladbach fahren zu müssen, habe auf meiner lokalen Maschine, damals noch Windows 2000 eine Postgres-Instanz unter Cygwin installiert, hierbei entstand das Shellskript

Während der Überarbeitung dieses Artikel, bin ich darauf gestoßen, daß cygipc mittlerweile Bestandteil von Cygwin ist und es bereits grafische Installer für Windows gibt..

Was ist PostgreSQL?

PostgreSQL [1] ist eine objektrationale Datenbank die auf dem Quellcode von POSTGRES 4.1 basiert, welcher von der Universität von Kalifornien in Berkeley entwickelt wurde. Es bietet die unterstützt die SQL-Standards SQL92 und SQL99, Views, Subqueries, Trigger, referenzielle Intigrität, und Transaktionen. Da Postgres meistens auf Unix oder Unixähnlichen Systemen anzutreffen ist, geht es hier mit Cygwin weiter…

Was ist Cygwin?

Cygwin [2] ist laut Definition: GNU + Cygnus + Windows = cygwin
Cygwin ist eine von Red Hat entwickelte UNIX-Umgebung für Windows bestehend aus der cygwin1.dll,
die als UNIX-Emulationsschicht eine UNIX-API bereitstellt und einer Ansammlung von Tools die ein UNIX-artiges Look-and-Feel bereitstellen.
Kurz: eine Unix-Umgebung und die Schnittstelle zu PostgreSQL auf Windows

Beweggründe zur Installation

Mit Cygwin stehen euch die GNU-Compiler-Collection, Editoren wie VIm, Client- und Server-Anwendungen wie X, SSH und PostgreSQL und jede Menge Tools und Portierungen wie zum Beispiel Irssi oder Nmap zur Verfügung die euch keine DOS-Box bieten kann.
Zudem besteht die Möglichkeit für Win32 Konsolen- und GUI-Programme zu erstellen und UNIX- oder GNU-Programme zu portieren. Cygwin ist vielleicht der Einstieg für all jene die mit Linux auseinandersetzen wollen
aber (noch) nicht auf Windows verzichten wollen oder für all jene die auch unter Windows nicht auf eine bash verzichten möchten. Aber</b> es ist kein Ersatz zu zu UNIX® und UNIX-Derivaten, wie zum Beispiel Linux oder BSD.
Falls Ihr einfach nur eine vernünftige Datenbank zu Hause laufen lassen wollt sind nicht besonders viele Packete nötig:

  • cygwin 1.3.16-1
  • postgresql 7.3.3-1
  • cygrunsrv
  • bzip2
  • tar
  • cygipc 1.14-1 [3]

zum Programmieren optional noch:

  • gcc
  • libncurses
  • libreadline
  • perl
  • readline
  • crypt
  • zlib
  • Sun JDK
  • ANT

Da Windows die Verwaltung der Speicherblöcke und Semaphoren nicht unterstützt muss cygipc 1.14-4 installiert werden4. Generell ist sinnvoll stets die neuste Version von cygipc zu benutzen.
Im Gegensatz zu den Windows9x-Versionen gibt es bei NT und 2000 Benutzterverwaltung und die Möglichkeit Dienste einzurichten. Unter XP-Home braucht Ihr noch Für das Zusammenspiel Benutzer/Dienst noch die NT-Rechtevergabe ntrights.zip [4]

Bei der eigentlichen Installation der Datenbank, empfehle ich, man halte sich an das postgresql-7.3.3.README [5] von Jason Tishler.
Für eine Installation von PostgreSQL-7.3.3 mit Cygwin-1.3.16-1 unter Windows2000 habe ich für eilige ein entsprechendes Skript [8] geschrieben, das PostgreSQL als Dienst einrichtet, sollte auch unter XP-Professional laufen habe ich aber noch nicht getestet. dafür sollte sich cygipc 1.14-1 im Cygwin Root Verzeichnis befinden. ggf. solltet Ihr das Skript mit chmod 700 ausführbar machen Das Skript sollte vom Benutzter Administrator aufgerufen werden
weiterführende Links:
Links zu Cygwin
Links zu PostgreSQL
Links zu PostgreSQL on Windows



Informationen:
[1] PostgreSQL
[2] Cygwin
[3] cygipc 1.14-1
[4] ntrights.zip:
[5] postgresql-7.3.3.README
[6] install_postgres0.07.bz2