PostgreSQL
PostgreSQL ist eines der ältesten und am weitesten fortgeschrittenen objektrelationalen Datenbankverwaltungssysteme (ORDBMS) im Bereich der freien Software.
PostgreSQL ist weitgehend konform mit dem SQL92/SQL99-Standard, d. h. alle in dem Standard geforderten Funktionen stehen zur Verfügung und verhalten sich so, wie vom Standard gefordert; dies ist bei manchen kommerziellen sowie nichtkommerziellen SQL-Datenbanken bisweilen nicht gegeben.
Der Name von PostgreSQL wird ungewöhnlich ausgesprochen. Die Entwickler sprechen ihn "post-gress-Q-L" aus (Hörbeispiel, 5.6k MP3).
Wichtige Eigenschaften von PostgreSQL sind:
- umfassendes Transaktionskonzept
- komplexe Abfragen mit Unterabfragen (Subselects), auch geschachtelt
- Mengenoperationen
- Views, die mit Hilfe von Regeln auch schreibfähig sein können
- Trigger und gespeicherte Prozeduren (stored procedures) in verschiedenen Sprachen (PL/pgSQL, PL/Tcl, PL/Perl, PL/Python)
- referenzielle Integrität (u. a. Constraints, Fremdschlüssel)
- Schnittstellen zu vielen Programmiersprachen (u. a. C, C++, Java/JDBC, Tcl, Perl, Python) und ODBC, .Net
- lauffähig auf vielen Unix-Plattformen (ab 8.0.0 auch Windows nativ)
- geringe Systembelastung und hohe Geschwindigkeit
- problemloser Export und Import sowohl von Daten als auch von Datenbankstrukturen (Schemas)
Geschichte
PostgreSQL, auch einmal bekannt unter dem Namen Postgres95, entstand aus einer Datenbankentwicklung der University of California in Berkeley. Den Anfang stellte dabei das Ingres-Projekt dar, wobei der Hauptverantwortliche Michael Stonebraker 1982 die Universität verließ, um Ingres kommerziell zu vertreiben. Nachdem Stonebraker 1985 wieder zur Universität zurückkehrte, startete er das Post-Ingres-Projekt, um die Probleme der damaligen Datenbankmanagementsysteme auszumerzen. Die Codebasis von Postgres ist dabei eine andere als die von Ingres.
1989 wurde die erste Version von Postgres fertiggestellt.
Im Jahre 1994 wurde Postgres von den Studenten Andrew Yu und Jolly Chen um einen SQL-Interpreter erweitert und die Software als Open Source unter dem Namen Postgres95 freigegeben. Im Zuge der Entwicklung des World Wide Web und von GNU/Linux verstärkte sich das Interesse an Datenbanken, und die Entwicklung von PostgreSQL wurde 1996 verstärkt angegangen, mit dem Wechsel auf den heutigen Namen. Die erste veröffentlichte Version unter diesem Namen ist die Version 6.0. Seitdem wurde PostgreSQL rapide weiterentwickelt. Die aktuelle Version ist 8.0.2 (April 2005).
Erweiterungen
Mit PostGIS wird PostgreSQL um geografische Objekte erweitert. PostgreSQL ist damit neben kommerziellen Produkten in der Lage, als Datenbank für GIS (Geoinformationssysteme) zu dienen.
Aktuell
Mit der Version 8.0.0 unterstützt PostgreSQL auch nativ (d. h. ohne eine Zwischenschicht wie cygwin) Betriebssysteme, die auf Windows NT basieren wie etwa Windows 2000, Windows XP oder Windows 2003 (Quelle: http://pginstaller.projects.postgresql.org/FAQ_windows.html).
Dies dient wohl vor allem dazu, die vermeintlich höhere Einstiegshürde bei PostgreSQL (z.B. gegenüber MySQL) abzubauen. Jetzt kann man einfach den Windows-Installer ausführen und hat sofort eine lauffähige Datenbank. Bei quasi allen Linux-Distributionen war und ist PostgreSQL ohnehin immer schon im Lieferumfang und mittels der Paketverwaltung installierbar.
Weitere wichtige Neuerung bei Version 8.0.0 ist die Unterstützung von Savepoints (Sicherungspunkte), d. h. falls bei einer Transaktion ein Fehler auftritt, muss sie nicht zwangsweise komplett wiederholt werden, sondern kann zu einem vorher gespeicherten Sicherungspunkt zurückgefahren und von dort wieder fortgesetzt werden.
Zusatzsoftware
Im Lieferzustand bietet PostgreSQL für das interaktive Arbeiten die kommandozeilenorientierte Schnittstelle psql. Wer lieber klickt als tippt, sollte eines der folgenden Produkte ausprobieren:
- PgAdmin III: http://pgadmin.org/pgadmin3/
- phpPgAdmin: http://phppgadmin.sf.net/