El lanzamiento de PostgreSQL 18 Beta 1 representa un hito significativo en la evolución de uno de los sistemas de gestión de bases de datos relacionales de código abierto más avanzados y confiables en el mundo. Respondiendo a las necesidades crecientes de empresas, desarrolladores y comunidades de datos, esta versión preliminar abre la puerta a una serie de innovaciones tecnológicas y mejoras profundas que prometen optimizar el rendimiento, la seguridad y la experiencia del usuario en la próxima edición estable de PostgreSQL. Esta versión beta es una oportunidad valiosa para que administradores de bases de datos y desarrolladores pongan a prueba el nuevo software en entornos controlados y, con su feedback, ayuden a pulir la funcionalidad antes de que la versión definitiva salga al mercado. A pesar de ello, se recomienda no utilizar PostgreSQL 18 Beta 1 en entornos de producción debido a la posibilidad de cambios y ajustes durante la fase de desarrollo. Entre las novedades más destacadas se encuentra la introducción de un subsistema de entrada/salida asíncrona (AIO) que incrementa considerablemente la tasa de transferencia y reduce la latencia en operaciones de lectura del sistema de archivos.
En sistemas Linux, esta característica utiliza io_uring, una tecnología avanzada para mejorar el rendimiento de E/S, mientras que se ofrece una implementación basada en trabajadores para otras plataformas. Esta mejora inicial se aplica a lecturas de archivos esenciales como escaneos secuenciales, escaneos de mapas de bits y procesos de vacuum, situaciones en las que las pruebas han demostrado incrementos de rendimiento de hasta 2 a 3 veces. Estas ganancias representan un avance crucial para usuarios con grandes volúmenes de datos o altas demandas de procesamiento. Además, PostgreSQL 18 añade soporte para búsquedas tipo "skip scan" en índices B-tree multicolumna, una optimización que permite acelerar consultas que no especifican igualdad en todos los prefijos de índices, mejorando la eficiencia y tiempo de respuesta. También se optimizan cláusulas WHERE con operadores OR e IN, que ahora pueden beneficiarse mejor de las mejoras recientes en índices, resultando en planes de consulta más veloces y eficientes.
En el área de procesamiento de consultas, se ha mejorado la ejecución y planificación de uniones de tablas (joins), destacando optimizaciones para hash joins y la posibilidad de que merge joins utilicen ordenaciones incrementales, lo que contribuye a un avance general en el desempeño del motor de consultas. Otra contribución relevante es la paralelización en la construcción de índices GIN, ampliamente utilizados para búsquedas sobre datos JSON y texto completo, lo que reduce los tiempos de mantenimiento y mejora la disponibilidad durante estas operaciones. También se amplían los tipos de índices únicos que pueden definirse en claves de partición y vistas materializadas, incluyendo aquellos que no forman parte de B-tree. Las mejoras en el bloqueo para consultas que acceden a múltiples relaciones han optimizado el rendimiento en escenarios concurrentes, mientras que PostgreSQL 18 introduce mejores estrategias para consultar tablas particionadas, incluyendo una poda más eficiente y soporte ampliado para joins. Para procesamientos textuales, se notan mejoras en funciones tan comunes como upper() y lower(), y se introduce una nueva colación incorporada llamada PG_UNICODE_FAST que acelera la manipulación y comparación de texto, facilitando operaciones intensivas en cadenas de caracteres.
Uno de los puntos destacados en cuanto a experiencia de actualización de versiones mayores es la capacidad de mantener las estadísticas del planificador tras la actualización. Anteriormente, generar estas estadísticas requería un proceso ANALYZE que podía ser lento y afectar el rendimiento hasta completarse. Ahora, con esta mejora, los clústeres que asciendan a PostgreSQL 18 podrán mantener sus estadísticas, reduciendo los tiempos de ajuste y alcanzando un rendimiento óptimo más rápidamente. El proceso de actualización con pg_upgrade también ha sido perfeccionado, permitiendo un manejo más eficiente de múltiples objetos mediante procesamiento paralelo basado en la opción --jobs. Se ha introducido la opción --swap, que intercambia directorios en lugar de copiar o enlazar archivos, acelerando considerablemente las migraciones de grandes bases de datos.
Desde el punto de vista del desarrollador, PostgreSQL 18 ofrece columnas generadas virtuales que calculan sus valores justo a tiempo durante la ejecución de consultas, eliminando la necesidad de almacenamiento físico y mejorando la flexibilidad. Esta ahora es la configuración predeterminada para columnas generadas y, además, las columnas generadas almacenadas pueden replicarse lógicamente, ampliando su utilidad en sistemas distribuidos. El soporte para retornar valores previos (OLD) y actuales (NEW) en cláusulas RETURNING para comandos como INSERT, UPDATE, DELETE y MERGE amplia las posibilidades para auditorías y lógica de negocios a nivel de base de datos. Asimismo, la generación de UUIDv7 mediante la función uuidv7() incorpora identificadores ordenados temporalmente que facilitan estrategias de caché y almacenamiento. PostgreSQL 18 permite realizar comparaciones LIKE sobre texto con colaciones no deterministas, lo que facilita patrones complejos de búsqueda y análisis textual, y presenta el nuevo operador CASEFOLD para coincidencias insensibles a mayúsculas, contribuyendo a una experiencia de consulta más robusta y flexible.
En el ámbito de integridad, se introducen restricciones temporales, o rangos temporales, en claves primarias y únicas con la cláusula WITHOUT OVERLAPS, así como en claves foráneas mediante la cláusula PERIOD, mejorando el control y validez temporal de los datos. La seguridad también gana relevancia con la incorporación de autenticación OAuth 2.0, ampliando las opciones para acceder a bases de datos mediante mecanismos modernos y seguros. Se fortalecen las validaciones y el cumplimiento del modo FIPS, mientras que los administradores pueden configurar suites de cifrado TLS v1.3 específicas gracias a ssl_tls13_ciphers.
Un cambio importante es la depreciación del método de autenticación por contraseña md5, promoviendo la transición a SCRAM, una alternativa más segura introducida en versiones anteriores. En esta versión, SCRAM es compatible con mecanismos de acceso remoto como postgres_fdw y dblink, mejorando la seguridad en conexiones distribuidas. La monitoreo y observabilidad reciben mejoras con detalles ampliados en la utilidad EXPLAIN, que ahora muestra automáticamente el número de buffers accedidos en EXPLAIN ANALYZE, así como el número de búsquedas de índices durante escaneos. La variante VERBOSE ofrece estadísticas adicionales sobre el uso de CPU, WAL y lecturas promedio, mientras que la estadística por conexión en I/O y WAL contribuye a diagnósticos más granulares. Además, PostgreSQL 18 incorpora información sobre conflictos de escritura durante la replicación lógica, visible tanto en registros de log como en vistas estadísticas, ofreciendo una visión más clara de las operaciones concurrentes y posibles problemas.
Como novedad en integridad de datos, las sumas de verificación (checksums) para datos almacenados se habilitan por defecto en clústeres nuevos, mejorando la detección de corrupción o problemas en almacenamiento físico. Aunque esta opción puede desactivarse manualmente, representa un avance en la protección de datos con poco impacto en el rendimiento. Las restricciones NOT ENFORCED y la capacidad de activar o desactivar su enforcement ahora están disponibles para claves foráneas y chequeos, mientras que las restricciones NOT NULL preservan sus nombres conforme al estándar SQL, soportan nuevas cláusulas como NOT VALID y NO INHERIT, y mantienen un comportamiento consistente con la herencia. Para facilitar la replicación lógica, la herramienta pg_createsubscriber introduce una opción para replicar todas las bases de datos en una instancia con el flag --all, optimizando la gestión en entornos con múltiples bases. En cuanto a la creación de tablas externas, se añade la posibilidad de definir tablas foráneas usando la estructura de una tabla local mediante CREATE FOREIGN TABLE .
.. LIKE, simplificando la configuración de esquemas homogéneos. Otra innovación técnica es la introducción de la versión 3.2 del protocolo de red PostgreSQL, el primer cambio en el protocolo desde 2003.
Aunque la biblioteca libpq continúa usando por defecto la versión 3.0, los drivers y clientes pueden aprovechar nuevas funcionalidades de esta actualización. El lanzamiento de PostgreSQL 18 Beta 1 es una invitación abierta a la comunidad para contribuir con pruebas, reportes y mejoras que aseguren un producto estable y maduro en su versión final, prevista para finales de 2025. La colaboración activa es fundamental para mantener la solidez y la calidad que caracterizan a PostgreSQL, un proyecto cuyo impulso reside en su entorno global y diverso. Para quienes trabajan con bases de datos grandes o entornos de alta demanda, las mejoras en rendimiento, actualización y seguridad representan un soporte robusto para mantener operaciones eficientes y confiables.