Ya está disponible una nueva beta de PostgreSQL, por lo que leí trae bastantes mejoras en rendimiento con respecto a versiones anteriores. Pueden ver una traducción -- pésima -- de las "Release Notes" en las siguientes líneas:
Nueva funcionalidad
- Soporte integrado de las búsquedas de texto completo (estaba como módulo tsearch2).
- Soporte para el estandar SQL/XML, incluyendo nuevos operadores y el tipo
XML
.
- Soporte para enumerados.
- Nuevo tipo de dato UUID.
- Soporte para arreglos de tipos compuestos.
- Control para la ordenación de campos NULL (
ORDER BY ... NULLS FIRST/LAST
).
- Soporte para cursores actualizables (
UPDATE/DELETE WHERE CURRENT OF cursor_name
).
- La configuración de los parámetros del servidor ahora puede establecerse para el ámbito de una función.
- Los tipos de datos personalizados pueden tener parámetros.
- Invalidación de funciones cacheadas cuando la definición de las tablas o estadísticas varien (ya no hay necesidad de utilizar EXECUTE para trabajar con tablas temporales en
PL/pgSQL
).
- Múltiples mejoras en el registro y colección de estadísticas.
- Soporte de SSPI para la autenticación en dominios Windows.
- Soporte para múltiples procesos concurrentes de autovacuum.
- El código se puede compilar sin problemas con Microsoft Visual C++
Mejoras de rendimiento
- Asynchronous commit: permite que las transacciones sean comprometidas pero los cambios en disco retrasados, esto permite mayor rendimiento para las consultas de modificación de datos pero con el riesgo de pérdida de datos.
- Distributed checkpoints: Reduce la actividad de I/O durante los checkpoints.
- Heap-Only Tuples: por cuestiones de concurrencia, PostgreSQL retiene las versiones antiguas de las tuplas actualizadas y el espacio muerto dejado por éstas sólo era posible recuperarlas con
VACUUM
. HOT acelera la reutilización del espacio usado por los UPDATEs.
- Just-in-time background writer hace más eficiente la escritura en disco.
- Reducción del tamaño usado por campo y tupla (los campos que contengan menos de 128 bytes reducirán de 3 a 6 bytes, las tuplas serán 4 bytes más pequeños).
- Mejora en el manejo de recorridos secuenciales.
- Permitir que las operaciones
ORDER BY ... LIMIT
se realicen sin necesidad de ordenar toda la tabla.
- Reducción de la necesidad de hacer vacuum.
Las descargas, como siempre, están disponibles en el sitio web del proyecto.