24 de septiembre de 2020 — El Grupo Global de Desarrollo de PostgreSQL ha anunciado hoy el lanzamiento de PostgreSQL 13, la versión más reciente de la base de datos de código abierto más avanzada del mundo.
PostgreSQL 13 incluye mejoras significativas en su sistema de indexación y búsqueda, las cuales benefician a bases de datos de gran tamaño. Entre ellas figuran el ahorro de espacio y un mejor rendimiento para los índices, tiempos de respuesta más rápidos para las consultas que utilizan funciones de agregación o tablas particiones, una mejor planificación de las consultas al utilizar estadísticas mejoradas, y mucho más.
Junto con características muy solicitadas como la ejecución de VACUUM en paralelo y el ordenamiento incremental, PostgreSQL 13 proporciona una mejor experiencia de gestión de datos para cargas de trabajo grandes y pequeñas. Ofrece optimizaciones para la administración diaria, utilidades adicionales para los desarrolladores de aplicaciones y mejoras en la seguridad.
"PostgreSQL 13 es una muestra de la colaboración y dedicación de nuestra comunidad global en impulsar el desarrollo de la base de datos relacional de código abierto más avanzada del mundo", dice Peter Eisentraut, miembro del core team de PostgreSQL. "Las innovaciones que cada versión trae consigo, junto con su reputación de fiabilidad y estabilidad, son la razón por la que cada vez más usuarios eligen emplear PostgreSQL para sus aplicaciones".
PostgreSQL es un innovador sistema de gestión de datos reconocido por su fiabilidad y robustez. Cuenta con más de 25 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.
Aprovechando el trabajo realizado en la anterior versión, PostgreSQL 13 puede gestionar eficientemente datos duplicados en índices B-tree, el índice estándar de muchas bases de datos. Esto reduce el espacio total requerido por dichos índices y mejora el rendimiento general de las consultas.
PostgreSQL 13 introduce el ordenamiento incremental, en el que los datos
ordenados en una etapa anterior de una consulta pueden acelerar el ordenamiento
en una etapa posterior. Adicionalmente, PostgreSQL puede ahora utilizar el
sistema de estadísticas extendidas
(creadas a través de CREATE STATISTICS
)
para crear mejores planes en consultas con cláusulas OR
y búsquedas en listas con IN
y ANY
.
En PostgreSQL 13, más tipos de funciones de agregación y consultas de conjuntos de agrupación pueden aprovechar la eficiente agregación hash de PostgreSQL, incluso agregaciones de gran tamaño que excedan la capacidad de la memoria. Se ha incrementado también el rendimiento de las consultas con tablas particionadas, puesto que existen ahora más casos en los que ciertas particiones pueden ser excluidas de la consulta y en los que ciertas particiones pueden enlazarse (join) directamente.
La ejecución de VACUUM es una parte esencial de la administración de PostgreSQL, ya que permite a la base de datos recuperar espacio de almacenamiento tras la modificación y la eliminación de filas. Aunque este proceso puede presentar desafíos administrativos, desde las versiones anteriores de PostgreSQL se ha trabajado para reducir la sobrecarga que conlleva el uso de VACUUM.
PostgreSQL 13 continúa mejorando el sistema de limpieza de la base de datos introduciendo la funcionalidad de VACUUM en paralelo para índices. Además de los beneficios de rendimiento que VACUUM ofrece, esta nueva característica puede ajustarse a cargas de trabajo específicas, puesto que permite a los administradores seleccionar el número de trabajadores (workers) paralelos requeridos. A estas ventajas se añade ahora la posibilidad de activar el proceso de autovacuum mediante la inserción de datos.
Los slots de replicación, utilizados para evitar que los registros de escritura anticipada (WAL) se eliminen antes de ser recibidos por una réplica, pueden ser configurados en PostgreSQL 13 para especificar el número máximo de archivos WAL que deben retenerse y así prevenir errores producidos por falta de espacio en el disco.
PostgreSQL 13 ofrece también al administrador métodos adicionales para monitorear
la actividad de la base de datos. Estos incluyen referencias a las estadísticas
de uso de WAL a través de EXPLAIN
, así como el monitoreo del progreso de los
respaldos y de la ejecución de ANALYZE
. Adicionalmente, la integridad de los respaldos
tomados por la utilidad pg_basebackup
puede ser
comprobada usando la nueva utilidad pg_verifybackup
.
En PostgreSQL 13 es aún más fácil trabajar con tipos de datos de PostgreSQL
provenientes de diferentes fuentes. Esta versión añade la
función datetime()
a su soporte para SQL/JSON path, la cual convierte los formatos de tiempo válidos (por
ejemplo, las cadenas ISO 8601) a tipos nativos de PostgreSQL. Adicionalmente, la función
de generación de UUID v4, gen_random_uuid()
,
está ahora disponible sin necesidad de instalar ninguna extensión.
El sistema de particionamiento de PostgreSQL es más flexible, ya que las tablas particionadas soportan completamente la replicación lógica y los triggers a nivel de fila de tipo BEFORE.
La sintaxis FETCH FIRST
en PostgreSQL 13 se amplía ahora para incluir la cláusula WITH TIES
. Al especificarse,
WITH TIES
incluye todas las filas que, en base a la cláusula ORDER BY
,
quedan empatadas con la última fila visible del resultado.
El sistema de extensiones de PostgreSQL es un componente clave de su robustez,
puesto que permite a los desarrolladores ampliar su funcionalidad. En versiones
anteriores, únicamente un superusuario de la base de datos podía instalar
nuevas extensiones. Para permitir el máximo provecho a la extensibilidad
de PostgreSQL, en PostgreSQL 13 se añade el concepto de trusted extension,
que permite a los usuarios de la base de datos instalar extensiones que un
superusuario marca como "de confianza". Ciertas extensiones integradas (como
pgcrypto
,
tablefunc
,
hstore
y otras más) ya están
marcadas como confiables por defecto.
Para aplicaciones que requieren métodos de autenticación seguros, PostgreSQL 13
permite a los clientes requerir el enlace de canal (channel binding)
al usar la autenticación SCRAM.
Además, el contenedor de datos externos de PostgreSQL (postgres_fdw
)
puede ahora usar la autenticación basada en certificados.
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, colaboradores, empresas y organizaciones. Basada en más de 30 años de ingeniería, que comenzaron en la Universidad de Berkeley en California, 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 is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. Built on over 30 years of engineering, starting at the University of California, Berkeley, PostgreSQL has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.
Learn more about PostgreSQL and participate in our community at PostgreSQL.org.
For explanations of the above features and others, please see the following resources:
There are several ways you can download PostgreSQL 13, including:
Other tools and extensions are available on the PostgreSQL Extension Network.
PostgreSQL 13 comes with HTML documentation HTML documentation as well as man pages, and you can also browse the documentation online in both HTML and PDF formats.
PostgreSQL uses the PostgreSQL License, a BSD-like "permissive" license. This OSI-certified license is widely appreciated as flexible and business-friendly, since it does not restrict the use of PostgreSQL with commercial and proprietary applications. Together with multi-company support and public ownership of the code, our license makes PostgreSQL very popular with vendors wanting to embed a database in their own products without fear of fees, vendor lock-in, or changes in licensing terms.
Website
All logos are available for modification and redistribution under The PostgreSQL Licence. The PostgreSQL name and logo are trademarks of The PostgreSQL Community Association of Canada.
PostgreSQL enjoys the support of numerous companies, who sponsor developers, provide hosting resources, and give us financial support. See our sponsors page for some of these project supporters.
There is also a large community of companies offering PostgreSQL Support , from individual consultants to multinational companies.
If you wish to make a financial contribution to the PostgreSQL Global Development Group or one of the recognized community non-profit organizations, please visit our donations page.