PostgreSQL

PostgreSQL ist ein freies Objektrelationalles Datenbankmanagementsystem (ORDBMS). Die Entwicklung begann Anfang der 80er Jahren und ab dem Jahr 1997 wird die Software von einer Open Source Community weiterentwickelt. PostgreSQL ist weitgehend konform mit dem SQL Standard ANSI-SQL92. Weiter erfüllt es bereits einen sehr großen Teil der verpflichtenden Features des aktuellen SQL:2008 Standards, und einer Reihe von optionalen Features.

In der Anfangsphase der Entwicklung hieß die Software noch Postgres, wenig später in postgres95 umbenannt und wurde in der University Of California in Berkeley entwickelt. Grundlage war das sogenannte Ingres Projekt. Ingres war ebenfalls ein relationales Datenbanksystem. Hauptverantwortlich für das postgres Projekt war der in Berkeley lehrender Informatik Professor Michael Stonebraker. Im Jahre 1982 verließ jedoch Stonebraker die Berkeley Universität, um Ingres kommerziell zu betreiben, kehrte jedoch unmittelbar danach nach Berkeley zurück und begann wieder an dem Ingres-Postgres Projekt weiterzuarbeiten. Sein Hauptziel war es die Probleme der damaligen Datenbankmanagementsystem DBMS? auszumerzen.

Im Jahre 1989 wurde die erste Version von Postgres fertiggestellt.

Postgres wurde im Jahre 1994 von den beiden Studenten Andrew Yu und Jolly Chen um einen SQL-Interpreter erweitert. Die neue Software wurde als Open Source unter dem Namen Postgres95 freigegeben. Der Postgres-Code entstprach dem ANSI-Standard.

Durch den Siegeszug des World Wide Web und deren raschen Entwicklung und Verbreitung Mitte der 90er Jahre verstärkte sich die Interesse an Datenbanken. Im Zuge der Weiterentwicklung von Postgres im Jahre 1996 wurde postgres95 in PostgreSQL umbenannt. Die erste veröffentlichte Version unter diesen Namen ist 6.0. Seitdem wurde PostgreSQL weiter entwickelt.

Eigenschaften

  • Umfassendes Transaktionskonzept, das Multiversion Concurrency Control (MVCC) unterstützt.
  • Ermöglicht komplexe Abfragen mit Unterabfragen (Subselects), auch geschachtelt.
  • Referenzielle Integrität (u. a. Constraints, Fremdschlüssel).
  • Mengenoperationen.
  • Maximale Datenbankgröße nur durch zur Verfügung stehenden Speicher begrenzt.
  • Views, die mit Hilfe von Regeln (Rules und Triggers) auch schreibfähig sein können (Updatable Views).
  • Trigger und gespeicherte Prozeduren (stored procedures) sind in verschiedenen Sprachen möglich (PL/pgSQL, PL/Tcl, PL/Perl, PL/Python,PL/Java, PL/PHP, PL/Ruby, PL/R, PL/sh, PL/Scheme).
  • Schnittstellen zu vielen Programmiersprachen, u. a. C, C++, Java/JDBC, Tcl, PHP, Perl, Python, Ruby sowie zu ODBC und .NET.
  • Lauffähig auf vielen Unix-Plattformen, ab Version 8.0 auch nativ unter Microsoft Windows.
  • Export und Import sowohl von Daten als auch von Datenbankstrukturen (Schemata).
  • Erweiterbarkeit durch Funktionen, selbst definierbaren Datentypen und Operatoren.

Einschränkungen

  • Maximale Größe einer Tabelle: 32 TB
  • Maximale Größe eines Datensatzes: 1,6 TB
  • VARCHAR und TEXT Spalten können nicht länger als 1 GB sein.
  • Die Anzahl der maximalen Spalten pro Tabelle ist abhängig von den verwendeten Datentypen und liegt zwischen 250 und 1600.
  • Bei einer Software-Aktualisierung müssen bestehende Datenbanken vorher gesichert, danach in der neuen PostgreSQL Version neu angelegt und die Daten aus der vorherigen Sicherung eingespielt werden. Dies ist dann erforderlich, wenn sich die zweite oder erste Stelle der Versionsnummer geändert hat, nicht jedoch bei Änderungen der dritten Stelle.

Daten zu PostgreSql

  • Entwickler: PostgreSQL-Team
  • Aktuelle Version: 8.4.0 (1. Juli 2009)
  • Betriebssystem: Unix-Derivate, Linux, Windows
  • Programmiersprache: C
  • Kategorie: Datenbanksystem, Server
  • Lizenz: BSD-Lizenz
  • Deutschsprachig: ja
  • Homepage: postgreSQL

Kategorie:: Allgemeines, P