Actualización: un comentario muy divertido hecho en slashdot en relación al rendimiento de MySQL vs PostgreSQL :D

How fast is it against MyISAM?

I've managed to get my PostgreSQL installation tuned to very high speeds simply by switching the database disk over to /dev/null. It runs fast as hell, and the data integrity is basically the same as MyISAM.

Hoy, luego de ocho meses de desarrollo y cinco de integración y pruebas, acaba de liberarse una versión de esta magnífica base de datos.

Las nuevas herramientas y características que incluye esta versión:

Mejoras de Rendimiento: la versión 8.2 mejora el rendimiento en alrededor de un 20% en pruebas de sistemas OLTP (procesamiento en línea de transacciones) de gran escala. Los usuarios de sistemas data warehouse pueden notar mejoras aún mayores. Los cambios incluyen ordenamientos en memoria y en disco más rápido, mejor escalabilidad en sistemas multi-procesador, mejor optimización de consultas sobre datos particionados, cargas masivas más rápidas y outer joins considerablemente acelerados.

Bases de Datos Warm Standby: una extensión a nuestra característica de «recuperación a un punto en el tiempo», introducida en la versión 8.0, permite a los administradores crear fácilmente una copia para recuperación inmediata (failover) de su cluster de bases de datos.

Construcción en línea de índices: la construcción de índices puede ocurrir mientras las aplicaciones escriben a las tablas de la base de datos, permitiendo el afinamiento de rendimiento sin afectar la disponibilidad.

Características de SQL 2003: PostgreSQL, bien conocido por su conformidad a los estándares, ha agregado sintaxis para varias características introducidas en la especificación ANSI SQL:2003, incluyendo funciones de agregación estadística, sentencias VALUE con múltiples registros, UPDATE RETURNING y funciones de agregación de múltiples columnas.

Las características avanzadas que se ofrecen con PostgreSQL 8.2 antes que ningún otro sistema de gestor de bases de datos incluyen:

Índices Invertidos Generalizados: una forma más escalable y programable de indexar datos semi-estructurados y texto.

DTrace: PostgreSQL ha sido instrumentado para permitir la trazabilidad a través de un marco genérico de monitoreo, usando DTrace en Solaris y otras herramientas avanzadas de traza.

Características adicionales

  • Bloqueos consultivos («advisory locks»): permiten el control de objetos de bases de datos a nivel de aplicación usando el eficiente motor de bloqueos de PostgreSQL.
  • pg_dump selectivo: permite extraer vuelcos transaccionalmente consistentes de relaciones, seleccionando la inclusión y exclusión usando expresiones regulares.
  • Sentencias preparadas: tiene nuevas interfaces administrativas y mejoras de rendimiento en sentencias preparadas.
  • ISN/ISBN: este módulo contiene tipos de datos para soportar descriptores de producto ISN para inventarios y sistemas de venta al por menor. Ha sido aumentado para soportar los últimos estándares internacionales.
  • Criptografía: el módulo pgcrypto, soportando criptografía dentro de la base de datos, fue actualizado con los últimos algoritmos.
  • Mejoras al SQL: nueva sintaxis, incluyendo UPDATE RETURNING, DROP IF EXISTS, ON COMMIT y nuevos comandos de propiedad («ownership») y permisos, para hacer más fácil el manejo de objetos de la base de datos en la línea de órdenes.
  • Extracción de registros por lotes en psql: permite devolver filas a la consola en lotes en lugar de todas a la vez.
  • Reconstrucción de ECPG: la interfaz embebida C de PostgreSQL ha sido extensivamente reescrita y se agregaron nuevas interfaces.
  • Mejoras importantes en TSearch2: soporte de UTF-8, tesauros, soporte de reescritura de consultas e indexación GIN.
  • PL/Python: ahora soporta parámetros con nombre y funciones que devuelven conjuntos.
  • Full Disjunctions: gracias a Google Summer of Code, PostgreSQL es el primer sistema de base de datos que tiene una implementación de este nuevo y radical algoritmo de join.
  • PGPool II: PGPool, bajo el auspicio del gobierno Japonés, ha agregado nuevas capacidades de balanceo de carga y particionamiento.
  • PL/Java: uno de nuestros dos lenguajes procedurales Java ha alcanzado estado de producción completo, permitiendo la utilización completa de Java dentro de la base de datos.