Was ist PostgreSQL?
PostgreSQL ist ein objektrelationales Datenbankmanagementsystem (ORDBMS), das als Open-Source-Programm auf der Seite
http://www.postgresql.org kostenlos zum Herunterladen angeboten wird. Es darf sowohl für den privaten als auch komerziellen Gebrauch ohne Lizensierung benutzt werden.
Ursprünglich wurde POSTGRES als universitäres Projekt an der University of California at Berkeley Computer Science Department entwickelt. Seither wird von vielen Entwicklern auf der ganzen Welt freiwillig an diesem Code weitergearbeitet. Mit der Implementierung des SQL92-Standards bekam das Programm 1996 den Namen PostgreSQL.
Es wird zu Recht als "das fortschrittlichste Open-Source-Datenbanksystem" bezeichnet. PostgreSQL unterstützt die SQL92 und SQL99 Standards und darüberhinaus bietet es eine Reihe eigener Erweiterungen an.
Als objektrelationales Datenbanksystem implementiert PostgreSQL die Speicherung nicht atomarer Datentypen sowie Vererbung oder Objektidentitäten und erlaubt Benutzern, das System um selbstdefinierte Datentypen, Operatoren und Funktionen zu erweitern. Die Unterstützung der referentiellen Integrität und ein fortschrittliches Transaktionsmanagement gehören ebenso zu den Leistungsmerkmalen von PostgreSQL, wie die Definition von Triggern und Regeln, mit denen Zugriffe auf Datenbankobjekte gesteuert werden können.
Wir reden SQL
top Zum Anfang
PostgreSQL basiert auf einem Client-Server-Modell: Ein Serverprozess verwaltet die Datenbankobjekte sowie die Verbindungen, die von Client-Programmen zum Server aufgebaut werden. Er bearbeitet die SQL-Anfragen, die von diesen Client-Programmen gestellt werden und liefert die Abfrageergebnisse an den Client zurück. Alle diese Aufgaben werden bei PostgreSQL von dem Serverprogramm "postmaster" erledigt.
Um mit dem "postmaster" zu kommunizieren, können die unterschiedlichsten Client-Programme benutzt werden. Mit einem Client-Programm werden Verbindungen zum Datenbankserver aufgebaut und Aktionen in der Datenbank ausgeführt. In der PostgreSQL-Distribution direkt enthalten ist "psql", ein einfacher aber schneller Datenbankmonitor. pgAccess, ein grafischer Client, wird in den meisten Linux-Distributionen mitgeliefert und läuft auch unter Windows. Bei interaktiven Webseiten übernimmt der Webserver die Rolle des Client, der die Abfrageergebnisse an den Browser des Benutzers ausliefert.
Entfernter Zugriff
top Zum Anfang
Typisch für das Client-Server-Modell ist die verteilte Architektur: Client und Server müssen nicht auf derselben Maschine installiert sein und sind es tatsächlich in den wenigsten Fällen. Sie kommunizieren über eine TCP/IP Verbindung. Der PostgreSQL Server kann viele parallele Verbindungen verwalten. Jedesmal, wenn ein Client sich mit dem Server verbindet, startet der "postmaster" einen neuen Prozess, der dann die Client-Server-Kommunikation übernimmt.
Grenzenlos
top Zum Anfang
In der Praxis werden Sie wahrscheinlich eher durch Ihr Speichervolumen beschränkt als durch die Grenzen von PostgreSQL. Die Größe einer Datenbank ist unbegrenzt und eine Tabelle kann bis zu 64 Terra-Byte groß werden. (Damit man sich das vorstellen kann: das ist die Datenmenge, die etwa 100 000 CDs füllt.) Diese Tabelle kann unbegrenzt viele Datensätze enthalten, lediglich die Anzahl der Spalten ist auf 1600 begrenzt, von denen jede Spalte Daten bis zu 1 Gigabyte aufnehmen kann.