blank
Unser PostgreSQL-Maskottchen, ein blauer Elefant

PostgreSQL Leistungsmerkmale

Ein Schnelldurchgang

 
  • PostgreSQl unterstützt den ANSI-SQL-Standard SQL92. Von den fünf Kategorien des SQL99-Standards, Framework, Foundation, Call Level Interface, Persistent Stored Modules und Host Language Bindings sind die Kategorien 1, 2 und 5 implementiert. Darüberhinaus bietet PostgreSQL eine Menge eigener Erweiterungen an, beispielsweise die Speicherung und Verarbeitung geometrischer Datentypen.
  • Der Sprachumfang: Mengenoperationen auf einer oder mehreren Tabellen sind mit PostgreSQL ebenso machbar wie Subselects, Outer Joins oder Views. Eine umfassendere Darstellung, welche Sprachelemente von PostgreSQL unterstützt werden, finden Sie auf der Seite Features.
  • Referentielle Integrität: Mit der Definition von Primär- und Fremdschlüsseln können Tabellen sich referenzieren. So werden die Beziehungen zwischen Tabellen auf die Datenbank abgebildet und das System kontrolliert selbständig die Korrektheit dieser Beziehungen. Wie dies realisiert wird, lesen Sie auf der Features-Seite.
  • Transaktionen: PostgreSQL unterstützt das ACID-Prinzip. Durch die Verwendung der fortschrittlichen MVCC-Technologie (Multi Version Concurrency Control). In PostgreSQL, müssen Lesezugriffe niemals auf Schreibzugriffe warten und umgekehrt. Wie MVCC funktioniert ist in den beiden (englischen) Artikeln PostgreSQL's Multi-Version Concurrency Control oder PostgreSQL Ends the Waiting Game beschrieben.
  • Programmierung: Zur Programmierung von Client-Programmen bietet PostgreSQL Schnittstellen zu ODBC und JDBC sowie zu zahlreichen Programmiersprachen.
  • Stored Procedures: Das sind Funktionen, die in den unterschiedlichsten Programmiersprachen aber auch in SQL oder der PostgreSQL eigenen prozeduralen Programmiersprache Pl/pgSQL geschrieben werden können. Sie werden kompiliert und im Datenbankserver abgelegt, weshalb sie sehr schnell sind.
  • Objektrelationale Eigenschaften: PostgreSQL erlaubt die Speicherung nichtatomarer Datentypen in Arrays oder in geometrischen Datentypen. Beides sind Erweiterungen von PostgreSQL, die nicht im SQL-Standard enthalten sind. Alle Datenbankobjekte, ob Tabelle, View, Sequenz oder einzelner Datensatz haben in PostgreSQL eine eigene Objektidentität. Außerdem wird die Vererbung von Tabelleneigenschaften auf abgeleitete Kindtabellen unterstützt.
  • Erweiterbarkeit: Das Typsystem ist um eigene Datentypen, Operatoren und Funktionen erweiterbar, so dass das System individuell anpassbar ist. Funktionen können in SQL oder verschiedenen prozeduralen Sprachen geschrieben werden. Mit Pl/PgSQL steht eine eigene prozedurale Sprache zur Verfügung.
  • Large Objects: Binärdateien, zum Beispiel Sounddateien oder Bilder können in Tabellen gespeichert werden und entweder ganz oder in Teilen wieder ausgelesen werden. Zur Speicherung dieser Large Objects kann man zwischen zwei Datentypen wählen.
  • Zeichensätze: PostgreSQL 'versteht' viele internationale Zeichensätze. Seit der Version 7.3 ist die Multibyte-Codierung standardmässig aktiviert und ermöglicht den Umgang mit EUC (Extended Unix Code) oder Unicode.
  • SSL: Die Datenkommunikation zwischen Client und Server kann mit SSL-Verbindungen verschlüselt übertragen werden.
  • Kerberos Authentifizierung: Kerberos ist ein Protokoll zur Authentifizierung in einem Netzwerk. Es wurde speziell zur sicheren Client-Server-Kommunikation entwickelt und kann direkt in PostgreSQL einkompiliert werden. Eine freie Implementation dieses Protokolls steht beim Massachusetts Institute of Technology zur Verfügung
  • Indexe: PostgreSQL unterstützt unique-, partielle und funktionale Indexe. Seit der Version 8.1 können mehrere Indexe im Speicher zu Bitmaps verknüpftund von einem einzigen Index-Scan genutzt werden.
    Ausserdem sind GiST-Indexe (Generalized Search Tree) möglich, mit denen man die unterschiedlichsten Sortier- und Suchalgorithmen implementieren kann.
  • Point in time Recovery erlaubt es, eine Datenbank, ausgehend von einem definierten Startzustand zu rekonstruieren. Dazu werden die Transaktionslogs archiviert und die Datenbank kann aus diesen Logs, entweder komplett oder bis zu einem gewünschten Zeitpunkt, wiederhergestellt werden.
  • Warm Standby Datenbank: Die fortlaufendende Archivierung der Transaktionslogs (falls Point in Time Recovery aktiviert wurde) ermöglicht die Einrichtung und Konfiguration von Hochverfügbarkeitslösungen für PostgreSQL mit einem oder mehreren Standby-Servern. Der primäre PostgreSQl-Server protokolliert und archiviert alle seine Transaktionen, während der sekundäre Server in einem Recovery-Modus arbeitet: er liest ständig die Transaktionslogs des primären Servers und führt die dort verzeichneten Transaktionen aus. Bei einem Ausfall des Hauptservers kann dann auf einem dieser Standby-Server weitergearbeitet werden.

Feature-Matrix

Auf der Seite http://www.postgresql.org/about/featurematrix finden Sie eine Matrix, in der die Features der PostgreSQL-Versionen übersichtlich dargestellt sind.

Wenn Sie uns eine Webseite empfehlen möchten, steht Ihnen auf der Seite Kontakt ein Eingabeformular zur Verfügung.

 
PostgreSQL powered