PostgreSQL-Übersicht

Populäre Anwendungen auf unseren hochleistungsfähigen Cloud-Servern mit einem Klick bereitstellen.

PostgreSQL ist ein frei verteilbares objektrelationales Datenbankmanagementsystem, das von einer internationalen Entwickler-Community gepflegt wird und von keinem Unternehmen oder Einzelpersonen kontrolliert wird. PostgreSQL wird unter einer freien Lizenz vertrieben, die es erlaubt, es in kommerzielle Softwareprodukte einzubinden.

file

Als Stärken von PostgreSQL gelten:

  • leistungsstarke und zuverlässige Transaktions- und Replikationsmechanismen;
  • erweiterbare eingebettete Programmiersprachen: PL/pgSQL, PL/Perl, PL/Python und PL/Tcl werden standardmäßig unterstützt; zusätzlich können PL/Java, PL/PHP, PL/Py, PL/R, PL/Ruby, PL/Scheme, PL/sh und PL/V8 verwendet werden, außerdem ist das Laden C-kompatibler Module möglich;
  • Vererbung;
  • einfache Erweiterbarkeit.

Hauptfunktionen:

  • Funktionen sind Codeblöcke, die auf dem Server ausgeführt werden, nicht auf dem Datenbank-Client. Obwohl sie in reinem SQL geschrieben werden können, geht die Implementierung zusätzlicher Logik — etwa bedingte Sprünge und Schleifen — über SQL hinaus und erfordert Spracherweiterungen.
  • Trigger werden als Funktionen definiert, die durch DML-Operationen ausgelöst werden. Beispielsweise kann eine INSERT-Operation einen Trigger auslösen, der den hinzugefügten Datensatz auf bestimmte Bedingungen prüft. Beim Schreiben von Triggerfunktionen können verschiedene Programmiersprachen eingesetzt werden.
  • Regeln und Views — der Regelmechanismus ermöglicht die Erstellung benutzerdefinierter Handler nicht nur für DML-Operationen, sondern auch für SELECT-Operationen. Der wesentliche Unterschied zum Triggermechanismus besteht darin, dass Regeln in der Parse-Phase der Anfrage ausgelöst werden, noch vor der Auswahl des optimalen Ausführungsplans und dem eigentlichen Ausführungsprozess. Regeln erlauben es, das Systemverhalten bei der Ausführung von SQL-Operationen auf einer Tabelle zu überschreiben.
  • PostgreSQL unterstützt Indizes der folgenden Typen: B-Tree, Hash, GiST, GIN, BRIN, Bloom. Bei Bedarf können neue Indextypen erstellt werden.
  • PostgreSQL unterstützt die gleichzeitige Änderung der Datenbank durch mehrere Benutzer über Multiversion Concurrency Control (MVCC). Dies stellt sicher, dass die ACID-Anforderungen erfüllt werden, und macht Read-Locks nahezu überflüssig.
  • PostgreSQL unterstützt eine große Auswahl an eingebauten Datentypen.

Tabellen können Eigenschaften und Feldmengen von anderen (übergeordneten) Tabellen erben. Die in einer abgeleiteten Tabelle hinzugefügten Daten nehmen automatisch (sofern nicht gesondert angegeben) an Abfragen der übergeordneten Tabelle teil.

In PostgreSQL 10 wurde ein Tabellen-Partitionierungsmechanismus eingeführt. Partitionierung dient dazu, eine Tabelle in mehrere Tabellen — sogenannte Partitionen — aufzuteilen. Partitionierung ähnelt der Vererbung, verfügt jedoch über eine benutzerfreundlichere Syntax und strengere Einschränkungen, was eine zusätzliche Optimierung bei der Abfrageplanung ermöglicht.

Weitere Informationen finden Sie in der Wiki.

Hilfe benötigt?Unsere Ingenieure helfen Ihnen kostenlos bei jeder Frage in wenigen MinutenKontaktieren Sie uns