PostgreSQL

Was ist PostgreSQL?

Bei PostgreSQL handelt es sich um ein objektrelationales Open-Source Datenbankverwaltungssystem. Das Datenbankmanagementsystem ist mit einer sehr liberalen Lizenz versehen, wodurch jeder das System kostenlos nutzen, verändern und verteilen kann. Die Entwicklung von PostgreSQL begann Mitte der 1980er-Jahren und wird seit 1997 von einer Open-Source-Gemeinde betreut und weiterentwickelt.

Die Entwicklungsgeschichte

Das Datenbankensystem entstand in den 1980er Jahren aus einem Datenbankprojekt an der University of California in Berkeley. Die Basis stellte das Ingres-Projekt dar, das von dem Informatiker Michael Stonebraker und einem Team aus Studenten der Berkeley-Universität betreut und entwickelt wurde. Das Projekt wurde im Jahr 1982 ins Leben gerufen, wurde jedoch kurz darauf eingestellt, da sich der Hauptverantwortliche Stonebraker dazu entschieden hatte, die Universität zu verlassen, um Ingres kommerziell zu vertreiben. Dieses Vorhaben scheiterte jedoch aufgrund fehlender finanzieller Mittel, sodass Stonebraker 1985 wieder zur Universität zurückkehrte und ein neues Projekt unter dem Namen Post-Ingres startete, welches die Probleme der damaligen Datenbanksysteme beseitigen sollte. Dabei wurde die Codebasis von Ingres für das neue Postgres-Projekt komplett umgeschrieben und durch zahlreiche neue Funktionen und Features ergänzt.

Im Jahr 1989 wurde die erste Version von Postgres auf den Markt gebracht. Obwohl Postgres von Industriekennern und Experten als innovativ und zukunftsweisend bezeichnet wurde, konnte sich das Datenbankmanagementsystem aufgrund seiner komplizierten Syntax und Kompatibilitätsproblemen gegen die Systeme von IBM und Microsoft nicht wirklich durchsetzen.

Im Jahr 1994 erfuhr Postgres einige grundlegenden Veränderungen. Die beiden Informatik-Studenten Andrew Yu und Jolly Chen ergänzten Postgres um einen leistungsstarken SQL-Interpreter. Kurz darauf wurde das Datenbankmanagementsystem als Open-Source-Software unter dem Namen Postgres95 der breiten Öffentlichkeit zugänglich gemacht. Die Codebasis von Postgres95 orientierte sich am ANSI-C-Standard, wurde im Vergleich zu Postgres um bis zu 28 Prozent verkleinert, wobei jedoch die Leistung und Zuverlässigkeit wesentlich verbessert wurden. Im Rahmen der kontinuierlichen Entwicklung des World Wide Web in den 1990er Jahren wurde das Interesse an performanten Datenbanksystemen immer stärker. Im Jahr 1996 wurde Postgres in PostgreSQL umbenannt und als Version 6.0 auf den Markt gebracht. Seither wird PostgreSQL kontinuierlich weiterentwickelt und hat sich heutzutage als eines der führenden Open Source-Datenbankensystemen etabliert.

PostgreSQL-Project

Heutzutage ist PostgreSQL ein reines Open Source Community-Project. Das bedeutet, dass die Mitarbeit an PostgreSQL ehrenamtlich ist und durch keine Firma finanziert wird. Das Projekt wird von rund 200 ehrenamtlichen Programmierern betreut und fortwährend weiterentwickelt. Diese am Projekt mitwirkenden Entwickler werden “Contributor” genannt. Das Datenbankensystem zeichnet sich in erster Linie durch zahlreiche innovative Konzepte aus, die erste viel später von anderen kommerziellen Datenbanken übernommen wurden. PostgreSQL bietet einerseits eine vollständige Unterstützung für den SQL-Standard, andererseits bietet das System auch zahlreiche Funktionalitäten, die über den Umfang von SQL hinausgehen. Hierzu gehören:

  • Fremdschlüssel
  • Trigger
  • Schichte (Views)
  • Transaktionelle Gradlinigkeit
  • Kontrolle von gleichzeitigen Zugriffen, welche durch die Ausgabe mehrerer Versionen ermöglicht werden

PostgreSQL bietet zudem zahlreiche Individualisierungsmöglichkeiten. So lässt sich das Datenbankensystem durch Nutzer auf verschiedene Arten erweitern, wie beispielsweise durch die Integration neuer:

  • Funktionen
  • Datentypen
  • Indexmethoden
  • Operatoren

Verbreitung

Das Datenbankensystem zeichnet sich nicht nur durch eine Open Source-Lizenz aus, sondern ist auch äußerst robust, stabil und vielfältig einsetzbar. Es läuft auf den meisten Linux/Unix-Distributionen sowie auf aktuellen Windows- und MacOS-Versionen. Heutzutage existieren zahlreiche Erweiterungen für PostgreSQL. Je nach Umfang werden diese als separate Projekte oder unter PgFoundry angeboten. Die derzeit beliebtesten Erweiterungen sind die grafische Administrationsoberfläche PgAdmin und die Erweiterung PostGIS, die als Backend bei geografischen Informationssystemen zum Einsatz kommt. Darüber hinaus ist eine Vielzahl von kommerziellen Tools erhältlich, die grafische CASE-Modellierung oder DB-Monitoring bieten. Um den Prozess von Datenbanken-Migrationen zu erleichtern, ist ein jedes freie PostgreSQL-Downloadpaket mit einem MYSQL-Migrationshilfstool ausgestattet.

Weiterführende Entwicklungen

Das Datenbankensystem kann in Kombination mit fast allen gängigen Programmiersprachen verwendet werden, um effiziente Funktionen und Prozeduren zu entwickeln. Hierfür bietet das System zusätzlich noch die prozedurale Sprache PI/PqSQL, die als eine Erweiterung des SQL-Standards angesehen werden kann und Entwicklern neue Möglichkeiten bietet, um Datenbankanfragen und -operationen zu optimieren. PostgreSQL ist insbesondere im Bereich der modernen Webentwicklung beliebt und hat sich in den letzten Jahren neben MySQL und MongoDB als eines der meistgenutzten Datenbankensystemen etabliert.

Sicherheit und Anwendungsentwicklung

Das Datenbankensystem zeichnet sich durch ein raffiniertes Authentifizierungssystem aus. Die Authentifizierung wird auf Hostbasis durchgeführt, wobei unterschiedliche Authentifizierungsmethoden zum Einsatz kommen, wie beispielsweise MD5 oder PAM. Darüber hinaus ist das System mit einer Reihe von Programmierschnittstellen oder APIs versehen, um eine effiziente und reibungslose Kommunikation mit unterschiedlichen Programmiersprachen zu ermöglichen. Neben den OBDC-Standard wird auch der JDBC-Standard in allen aktuellen Versionen des Datenbankensystems vollständig unterstützt. Dadurch wird die Ausführung von standardisierten SQL-Befehlen gewährleistet. PostgreSQL verfügt zudem über eine relativ große Anzahl an Schnittstellen zu den meisten modernen Programmiersprachen, wie beispielsweise C++, Java, Go oder PHP.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte