Desde el lanzamiento de aplicaciones web, siempre había una necesidad para una consulta más rápida sistema de back-end que podría reducir el tiempo de respuesta de cualquier aplicación de procesamiento. Para manejar eficientemente al usuario introducir datos de proceso y almacenamiento, sistemas de gestión de bases de datos que puede procesar los datos y almacenar su salida fueron introducidos.
MySQL, MS Access y PostgreSQL son algunos de los sistemas de gestión de la famosa base de datos o DBMSs hoy en día. MS Access, siendo un DBMS propietario no generalmente se considera a medida que aumenta el costo de implementación; MySQL y PostgreSQL ser código abierto DBMS vienen en la lista de prioridades de los desarrolladores y administradores.
Ambos, MySQL y PostgreSQL, son compatibles con los principales OSs como Linux y Windows y son libres de utilizar. Ambos son fácilmente escalables y pueden implementarse desde pequeño gigantes aplicaciones distribuidas. Algunas de las aplicaciones web más importantes como Facebook y Twitter usan MySQL como su DBMS de back-end y otros como Reddit y Disqus tienen sus sistemas de procesamiento de datos basados en PostgreSQL. Selección entre los dos es altamente dependiente del tipo de aplicación y las expectativas por los administradores para parametrización diferente.
MySQL se convierte en la prioridad de los desarrolladores en situaciones donde el rendimiento de la aplicación es la principal preocupación. Por otra parte, para aplicaciones que pueden incluir referencias claves extranjeras es decir para referirse a datos de otras tablas en la base de datos, PostgreSQL es una mejor solución bajo tal situación.
PostgreSQL proporciona integridad de datos más en un DBMS como valida y garantiza la autenticidad de los datos; siendo un DBMS centrados en datos. MySQL, por el contrario, se centra más en el rendimiento y la velocidad de aplicación en lugar de la integridad de los datos.
PostgreSQL puede ejecutar gatillo de cualquier lenguaje procesal para cualquier función definida por el usuario. MySQL, por otra parte, gatillo se activan por sentencias SQL sólo. Esto crea un problema cuando cualquier API desplegado en la aplicación de hacer cambios en la tabla y desencadenadores no se activan en esa situación.
Soporte PostgreSQL para indexación parcial de mesa que es una característica favorable cuando un índice se construye sobre un subconjunto de una tabla definida por el usuario. MySQL no soporta esta característica y así indexación de toda la tabla se debía hacer en caso de MySQL.
MySQL puede proporcionar un soporte para otros motores de almacenamiento según la naturaleza de una aplicación y sus necesidades de manejo de datos. Por otra parte, PostgreSQL es un motor de almacenamiento único en sí mismo y para cualquier tipo de aplicación, su naturaleza no puede ser modificado.