Was ist PostgreSQL?

PostgreSQL ist ein objektrelationales Datenbankmanagementsystem (ORDBMS), das als Open-Source-Programm auf der Seite http://www.postgresql.org frei verfügbar ist und ohne Lizensierung heruntergeladen und benutzt werden darf.

Ursprünglich wurde POSTGRES als universitäres Projekt an der University of California at Berkeley Computer Science Department entwickelt. Seither wurde von vielen Entwicklern auf der ganzen Welt an diesem Code weitergearbeitet und bekam 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 Daten, Vererbung und 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 ebenfalls zu den Leistungsmerkmalen von PostgreSQL, wie die Definition von Triggern und Regeln, mit denen Zugriffe auf Datenbankobjekte gesteuert werden können. Einen Überblick über die Leistungsfähigkeit von PostgreSQL können Sie sich in unserem Features-Überblick verschaffen.

Wir reden SQL

PostgreSQL basiert auf einem Client-Server-Modell: Ein Serverprozess verwaltet die Datenbankdateien sowie die Verbindungen, die von Client-Programmen zum Server aufgebaut werden und bearbeitet die Anfragen, die von diesen Client-Programmen gestellt wurden. 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 und bei interaktiven Webseiten übernimmt der Webserver die Rolle des Client.

Entfernter Zugriff

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

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 32 Tera-Byte groß werden. (Damit man sich das vorstellen kann: das ist die Datenmenge, die etwa 400 000 CDs füllt.) Diese Tabelle kann unbegrenzt viele Datensätze enthalten, die maximal 1.6 TB groß sein können. Lediglich die Anzahl der Spalten ist auf 250 - 1600 begrenzt, je nach dem, welche Datentypen verwendet wurden. Jedes Feld kann Daten bis zu 1 Gigabyte aufnehmen und für jede Tabelle kann man unbegrenzt viele Indexe definieren..