PostgreSQL ist ein kostenloses Open-Source Relational Database Management System (RDBMS). Sein Name leitet sich von der Ingres-Datenbank ab, die zuvor von der University of California Berkeley entwickelt worden war. Der SQL-Name wurde der Vorsilbe hinzugefügt, um die Unterstützung für SQL anzuzeigen. Diese Datenbank folgt allen ACID-Eigenschaften wie Langlebigkeit, Abschirmung, Konsistenz und Atomarität. Sie verfügt über aktualisierbare gespeicherte Verfahren, Fremdschlüssel, Ansichten, Trigger und materialisierte Ansichten. Diese Funktionen werden bei neuen Versionen regelmäßig aktualisiert.  
 
Das Datenbankverwaltungssystem kann verschiedene Auslastungen verarbeiten, darunter Daten-banken, Internetdienste, einzelne Computer und Systeme, die gleichzeitig von verschiedenen Be-nutzern verwendet werden. Es wird auch als Standarddatenbank für den MacOS-Server verwendet und ist unter Windows, OpenBSD, FreeBSD und Linux verfügbar.  

Es verfügt auch über eine Multiversion Concurrency Control, die verwendet wird, um Parallelität zu verwalten, indem jede Transaktion eine Momentaufnahme der Datenbank ist. Dadurch wirken sich Änderungen an einer einzelnen Transaktion nicht auf andere Transaktionen aus. Mithilfe dieser Funktion wird auch die Notwendigkeit von Lesesperren eliminiert und alle oben genannten ACID-Eigenschaften werden beibehalten. 

PostgreSQL bietet auch drei Ebenen der Transaktionsisolation, nämlich: Read Committed, Repeatable Read und Serialisable. Es ist immun gegen Dirty Reads und Anfragen an Read Uncommitted. Das Isolieren von Transaktionen führt immer noch zu Read Committed. Außerdem werden Serialisierbare Snapshot Isolations-Methoden (SSI-Methoden) verwendet, die die vollständige Serialisierung unterstützen. 

Gängige Anwendungsfälle von PostgreSQL

Nachfolgend finden Sie einige Anwendungsfälle für das Datenbankverwaltungssystem. Es ist eine starke Datenbank für LAPP Stack. LAPP Stack steht für Linux, Apache, PostgreSQL und PHP (Perl und Python). In diesem Fall bietet dieses RDBMS eine robuste Datenbank für das Back-End zur Unterstützung dynamischer Internetanwendungen und Webseiten.  

Georäumliche Datenbank 

Wenn die PostGIS-Erweiterung zu PostgreSQL hinzugefügt wird, kann die Datenbank georäumliche Datenbanken unterstützen, die für GIS (geographische Informationssysteme) verwendet werden. 

Unterstützung für mehrere Sprachen 

Die Datenbank unterstützt die beliebtesten Programmiersprachen wie Java, Python, C#, Ruby, Tcl, Go, Perl, JavaScript node.js, C und C+.  Die Datenbank wird auch als primäre Datenbank verwendet, um verschiedene Produkte und Anwendungen zu unterstützen.  
 
Obwohl es sich um eine kostenlose Datenbank handelt, bietet sie auch zahlreiche Funktionen auf Unternehmensebene, die Sie in Premium-Datenbankverwaltungssystemen finden würden. Dazu gehören Tabellenvererbung, benutzerdefinierte Typen, asynchrone Replikation, Multi-Version Concurrency Control (MVCC), verschachtelte Transaktionen (Savepoints). Weitere Funktionen beinhalten einen ausgeklügelten Sperrmechanismus, die Tabellenvererbung und die referenzielle Integrität von Fremdschlüsseln. Diese Datenbank ist auch erweiterbar, so dass Sie Ihre Datentypen, Funktionssprachen und Indextypen definieren können. Sie können auch ein benutzerdefiniertes Plugin hinzufügen, um alle Funktionen der Datenbank zu verbessern.