25 de septiembre de 2025 - El Grupo Global de Desarrollo de PostgreSQL ha anunciado hoy el lanzamiento de PostgreSQL 18, la versión más reciente de la base de datos de código abierto más avanzada del mundo.
PostgreSQL 18 mejora el rendimiento para cargas de trabajo de todos los tamaños gracias a un nuevo subsistema de E/S, que ha demostrado un incremento del rendimiento de hasta tres veces al leer desde el almacenamiento, y además aumenta la cantidad de consultas que pueden utilizar índices. Esta versión hace que las actualizaciones de versión principal sean menos disruptivas, acelerando los tiempos de actualización y reduciendo el tiempo necesario para alcanzar el rendimiento esperado una vez completada la actualización. Los desarrolladores también se benefician de las funciones de PostgreSQL 18, que incluyen columnas generadas virtuales que calculan valores en el momento de la consulta, y la función uuidv7()
optimizada para bases de datos, que ofrece un mejor indexado y mayor rendimiento en lecturas de UUIDs. PostgreSQL 18 también facilita la integración con sistemas de inicio de sesión único (SSO) al incorporar soporte para la autenticación OAuth 2.0.
"Los esfuerzos de la comunidad global de código abierto dan forma a cada versión de PostgreSQL y ayudan a ofrecer características que responden a las necesidades de los usuarios allí donde están sus datos", dijo Jonathan Katz, miembro del Core Team de PostgreSQL. "PostgreSQL 18 continúa la extensa tradición del proyecto de ofrecer una experiencia de gestión de datos robusta y confiable, mientras amplía las cargas de trabajo que está en capacidad de manejar".
PostgreSQL es un innovador sistema de gestión de datos conocido por su confiabilidad, robustez y extensibilidad. Cuenta con casi 30 años de desarrollo de código abierto por parte de una comunidad global de desarrolladores y se ha convertido en la base de datos relacional de código abierto preferida por organizaciones de todos los tamaños.
PostgreSQL dependía anteriormente de los mecanismos de readahead (lectura anticipada) del sistema operativo para acelerar la lectura de datos. Sin embargo, como los sistemas operativos carecen de conocimiento sobre los patrones de acceso específicos de la base de datos, no siempre pueden anticipar qué datos serán necesarios, lo que provoca un rendimiento inferior en muchas cargas de trabajo.
PostgreSQL 18 incorpora un nuevo subsistema de entrada/salida asíncrona (AIO) que resuelve esta limitación. Gracias a AIO, PostgreSQL puede enviar varias solicitudes de entrada/salida al mismo tiempo, en lugar de procesarlas una tras otra. Esto potencia el readahead ya existente y eleva el rendimiento general. En esta versión, AIO es compatible con escaneos secuenciales, escaneos bitmap heap y vacuum. Según pruebas de referencia, en ciertos escenarios el rendimiento puede triplicarse.
La nueva opción io_method
hace posible elegir entre distintos métodos de AIO, como worker
e io_uring
, o mantener el comportamiento tradicional de PostgreSQL usando sync
. Además, AIO incorpora ahora más parámetros que se pueden ajustar, los cuales se explican con mayor detalle en la documentación.
Una característica clave de PostgreSQL es la generación y almacenamiento de estadísticas que ayudan a seleccionar el plan de consulta más eficiente. Antes de PostgreSQL 18, estas estadísticas no se conservaban tras una actualización de versión principal, lo que podía ocasionar degradaciones importantes en el rendimiento de las consultas en sistemas con alta carga hasta que finalizara la ejecución de ANALYZE
PostgreSQL 18 introduce la posibilidad de mantener las estadísticas del planificador durante una actualización de versión principal, lo que permite que un clúster actualizado alcance más rápidamente el rendimiento esperado después de la actualización.
Asimismo, pg_upgrade
, la herramienta encargada de realizar actualizaciones de versiones principales, incorpora diversas mejoras en PostgreSQL 18. Entre ellas se incluyen procesos de actualización más rápidos cuando la base de datos contiene numerosos objetos, como tablas y secuencias. Con esta versión pg_upgrade
también puede ejecutar las comprobaciones en paralelo a partir del ajuste del parámetro --jobs
, y se introduce la opción --swap
que permite intercambiar directorios de actualización en lugar de copiar, clonar o enlazar archivos.
PostgreSQL 18 impulsa todavía más la velocidad de ejecución de las consultas gracias a nuevas funciones que aceleran automáticamente las cargas de trabajo. Entre las novedades se encuentra la búsqueda “skip scan” en índices B-tree multicolumna que mejora el rendimiento de consultas donde no se especifica una condición de igualdad en una o varias de las columnas iniciales del índice. También se optimizan las consultas que utilizan condiciones OR
en el WHERE
permitiendo el uso de índices y logrando así ejecuciones mucho más rápidas. Igualmente, se han incorporado múltiples mejoras en la planificación y ejecución de joins entre tablas, como un mayor rendimiento en los hash joins y la posibilidad de que los merge joins utilicen ordenamientos incrementales. Además, PostgreSQL 18 incorpora la creación paralela de índices GIN, al igual que ya ocurre con los índices B-tree y BRIN.
Esta versión amplía las capacidades de PostgreSQL en aceleración por hardware, lo que incluye soporte para los intrínsecos de las CPU ARM NEON y SVE para la función popcount
que es utilizada por bit_count
y otras funcionalidades internas.
PostgreSQL 18 introduce columnas generadas virtuales que calculan los valores al ejecutar la consulta, en lugar de almacenarlos. Esta es ahora la opción predeterminada para las columnas generadas. Adicionalmente, las columnas generadas almacenadas ahora pueden replicarse lógicamente.
Con esta versión ahora es posible acceder a los valores previos (OLD
) y actuales (NEW
) dentro de la cláusula RETURNING
en los comandos INSERT
, UPDATE
, DELETE
y MERGE
. PostgreSQL 18 también incorpora la generación de UUIDv7 mediante la función uuidv7()
lo que permite crear UUIDs aleatorios organizados por marca de tiempo, con el fin de facilitar la implementación de mejores estrategias de almacenamiento en caché. Asimismo, uuidv4()
pasa a estar disponible como alias de gen_random_uuid()
.
PostgreSQL 18 añade restricciones temporales -- restricciones sobre rangos -- tanto para las restricciones PRIMARY KEY
y UNIQUE
mediante la cláusula WITHOUT OVERLAPS
, como para las restricciones FOREIGN KEY
mediante la cláusula PERIOD
.
Por último, PostgreSQL 18 simplifica la creación de la definición de esquema de una tabla foránea usando como referencia la definición de una tabla local a través del comando CREATE FOREIGN TABLE ... LIKE
.
Con PostgreSQL 18, el procesamiento de texto ahora es más sencillo y veloz gracias a múltiples mejoras. Entre ellas destaca la nueva intercalación PG_UNICODE_FAST
que garantiza semántica Unicode completa en las transformaciones de mayúsculas y minúsculas y, además, agiliza numerosas comparaciones. Esto abarca las funciones de comparación de cadenas upper
y lower
, además de la nueva función casefold
, diseñada para comparaciones sin distinción entre mayúsculas y minúsculas. Además, PostgreSQL 18 ahora admite la realización de comparaciones con LIKE
sobre texto que utiliza una intercalación no determinista, lo que simplifica la ejecución de patrones de búsqueda más complejos. Esta versión también modifica la búsqueda de texto completo para que use el proveedor de intercalación predeterminado del clúster en lugar de usar siempre libc, lo que puede requerir reindexar todas las búsquedas de texto completo y los índices de pg_trgm
después de ejecutar pg_upgrade
.
PostgreSQL 18 admite la notificación de conflictos de escritura en la replicación lógica tanto en los registros como en la vista pg_stat_subscription_stats
. Además, ahora el comando CREATE SUBSCRIPTION
usa por defecto la transmisión en paralelo para aplicar transacciones, lo que puede contribuir a mejorar el rendimiento. La utilidad pg_createsubscriber
ahora incluye la opción --all
que permite crear réplicas lógicas de todas las bases de datos de una instancia con un solo comando. PostgreSQL 18 también permite eliminar automáticamente los slots de replicación inactivos evitando así almacenar un exceso de archivos de registro WAL en el editor.
PostgreSQL 18 optimiza su estrategia de vacuum al congelar preventivamente un mayor número de páginas durante los vacuum habituales, lo que disminuye la sobrecarga y resulta útil en escenarios que demandan vacuum más intensivos.
PostgreSQL 18 agrega más detalles a EXPLAIN
, que proporciona información sobre la ejecución del plan de consultas y, a partir de esta versión, ahora muestra automáticamente cuántos buffers (la unidad fundamental de almacenamiento de datos) se acceden al ejecutar EXPLAIN ANALYZE
. Además, EXPLAIN ANALYZE
ahora indica cuántas búsquedas en índices se realizan durante un escaneo de índice, y EXPLAIN ANALYZE VERBOSE
incluye estadísticas de CPU, WAL y lecturas promedio. PostgreSQL 18 también incorpora más información en pg_stat_all_tables
sobre el tiempo invertido en vacuum y operaciones relacionadas, así como estadísticas por conexión sobre el uso de I/O y WAL.
A partir de PostgreSQL 18, las bases de datos que se inicialicen con initdb
tendrán activadas por defecto las sumas de verificación de página (page checksums). Esto puede afectar a las actualizaciones desde clústeres que no las tuvieran habilitadas, lo que obligaría a crear un nuevo clúster de PostgreSQL 18 usando la opción --no-data-checksums
durante el proceso de pg_upgrade
.
PostgreSQL 18 también introduce una nueva versión (3.2) del protocolo de conexión de PostgreSQL (wire protocol), siendo la primera nueva versión del protocolo desde PostgreSQL 7.4 (2003). libpq
sigue utilizando la versión 3.0 por defecto, mientras que los clientes (p. ej., controladores, poolers, proxies) añaden soporte para la nueva versión del protocolo.
PostgreSQL es la base de datos de código abierto más avanzada del mundo, que cuenta con una comunidad global de miles de usuarios, contribuidores, empresas y organizaciones. Desde sus inicios en la Universidad de California, Berkeley, hace más de 40 años, PostgreSQL ha continuado con un ritmo de desarrollo inigualable. El maduro conjunto de características de PostgreSQL no sólo iguala a los principales sistemas de bases de datos propietarios, sino que los supera en términos de características avanzadas, extensibilidad, seguridad y estabilidad.
PostgreSQL es la base de datos de código abierto más avanzada del mundo, que cuenta con una comunidad global de miles de usuarios, contribuidores, empresas y organizaciones. Desde sus inicios en la Universidad de California, Berkeley, hace más de 40 años, PostgreSQL ha continuado con un ritmo de desarrollo inigualable. El maduro conjunto de características de PostgreSQL no sólo iguala a los principales sistemas de bases de datos propietarios, sino que los supera en términos de características avanzadas, extensibilidad, seguridad y estabilidad.
Learn more about PostgreSQL and participate in our community at PostgreSQL.org.
Para más información sobre las características antes mencionadas y otras más, consulten los siguientes recursos:
Hay varias maneras de descargar PostgreSQL 18, entre ellas:
Otras herramientas y extensiones están disponibles en la PostgreSQL Extension Network.
PostgreSQL 18 incluye documentos HTML y páginas de manual. Es posible también consultar la documentación en línea en formato HTML y PDF.
PostgreSQL utiliza la PostgreSQL License, una licencia "permisiva" de tipo BSD. Esta licencia certificada por la OSI es ampliamente apreciada por ser flexible y adecuada para las empresas, ya que no limita el uso de PostgreSQL con aplicaciones comerciales y propietarias. Junto con el soporte para múltiples empresas y la propiedad pública del código, nuestra licencia hace que PostgreSQL sea muy popular entre los proveedores que desean integrar una base de datos en sus propios productos sin tener que preocuparse por tarifas, dependencia de un único proveedor o cambios en los términos de la licencia.
Sitio web
Correo electrónico
Postgres, PostgreSQL y el logo del elefante (Slonik) son todas marcas registradas de la PostgreSQL Community Association. Quien desee utilizar estas marcas, deberá cumplir con la política de marca.
PostgreSQL cuenta con el soporte de numerosas empresas, que patrocinan a los desarrolladores, ofrecen recursos de alojamiento y nos dan apoyo financiero. Consulten nuestra página de patrocinadores para conocer algunos de los que dan soporte al proyecto.
Existe también una gran comunidad de empresas que ofrecen soporte para PostgreSQL, desde consultores individuales hasta empresas multinacionales.
Si desean hacer una contribución financiera al Grupo Global de Desarrollo de PostgreSQL o a una de las organizaciones sin fines de lucro reconocidas por la comunidad, visiten nuestra página de donaciones.