Seit der Einführung von Webanwendungen gab es immer eine Notwendigkeit für eine schnellere Abfrageverarbeitung-Backend-System, das die Reaktionszeit der Anwendung minimieren könnte. Um effizient behandeln den Benutzer eingegeben Daten für die Verarbeitung und Speicherung, Datenbank-Management-Systeme wurden eingeführt, die Daten verarbeiten und seine Ausgabe speichern können.
MySQL, MS Access und PostgreSQL sind nur einige der berühmten Datenbank-Management-Systeme oder DBMS heutzutage. MS Access, wird eine proprietäre DBMS nicht normalerweise gilt als es die Kosten der Bereitstellung erhöht; MySQL und PostgreSQL als Open-Source-Datenbanksystemen gibt es in der Prioritätenliste der Entwickler und Administratoren.
Beide, MySQL und PostgreSQL, werden auf großen OSs wie Linux und Windows unterstützt und sind kostenlos zu benutzen. Beide sind leicht skalierbar und von klein auf riesige verteilte Anwendungen eingesetzt werden. Einige der wichtigsten Web-Applikationen wie Facebook und Twitter MySQL als ihre Back-End-DBMS und andere verwenden wie Reddit und Disqus ihre EDV-Systeme, die auf der Grundlage von PostgreSQL haben. Auswahl zwischen den beiden ist stark abhängig von der Art der Anwendung und Erwartungen von Administratoren für verschiedene Leistungsparameter.
MySQL wird die Priorität der Entwickler in Situationen, in denen die Leistung der Anwendung die größte Sorge. Auf der anderen Seite ist PostgreSQL für Anwendungen, die Fremdschlüssel referenziert z. B. Bezug von Daten aus anderen Tabellen in der Datenbank enthalten können, unter solchen Umständen eine bessere Lösung.
PostgreSQL bietet mehr Datenintegrität in einem DBMS, da es überprüft und die Echtheit der Daten gewährleistet; wird ein Daten-zentrierte DBMS. MySQL, konzentriert sich auf der anderen Seite mehr auf die Leistung und Geschwindigkeit der Anwendung anstelle von Datenintegrität.
PostgreSQL kann TRIGGER aus eine prozedurale Sprache für jede benutzerdefinierte Funktion ausführen. MySQL, auf der anderen Seite, TRIGGER werden aktiviert durch SQL-Anweisungen nur. Dies stellt ein Problem dar, wenn jeder API bereitgestellt in der Anwendung Änderungen in der Tabelle und Trigger sind in dieser Situation nicht aktiviert.
PostgreSQL unterstützen für partielle Indizierung der Tabelle, die eine positive Funktion ist, wenn ein Index über eine Teilmenge einer Tabelle erstellt wird, wie vom Benutzer definiert. MySQL unterstützt diese Funktion nicht und so der gesamten Tabelle Indizierung ist bei MySQL getan werden musste.
MySQL kann für andere Speicher-Engines entsprechend der Art des Antrags und seine Verarbeitung-Anforderungen unterstützen. PostgreSQL ist auf der anderen Seite einen einzelnen Speicher-Engine an sich und für jede Art von Anwendung, die Natur kann nicht geändert werden.