Ya tenemos la beta de PostgreSQL 10 y con esto algunas de las mejoras que se incluyen en esta versión.
Características principales de PostgreSQL 10
-
- Particionamiento: es posible hacer una lista o rango de partición utilizando una nueva y sencilla sintaxis.
CREATE TABLE numeros (num INTEGER) PARTITION BY RANGE (num);
CREATE TABLE negativos PARTITION OF numeros FOR VALUES FROM (UNBOUNDED) TO (0);
CREATE TABLE positivos PARTITION OF numeros FOR VALUES FROM (0) TO (UNBOUNDED);También se ha mejorado mucho la cláusula INSERT haciendo que se auto redirige los valores hacia las tablas hijas correspondientes.
INSERT INTO numeros VALUES (-6), (2), (0), (7), (-5);
- Particionamiento: es posible hacer una lista o rango de partición utilizando una nueva y sencilla sintaxis.
- Replicación Logical: te permite hacer replicación entre versiones mayores de PostgreSQL y además soporta replicación a nivel de tablas.
Fácil configuración, cambiando el “wal_level” a “logical”.
- Consultas paralelas: se puede hacer escaneo de índices btree, bitmap heap, merge joins y utilizar funciones en lenguaje de programación.
- Replicación síncrona: se implementa la replicación síncrona basada en Quorum, hace posible incluir varios servidores de replicación, permitiendo la continuación cuando cualquier servidor de la lista responda.
Mejoras en la conexión
- Autenticación SCRAM: se introduce la autenticación SCRAM-SHA-256, que es mucho más seguro, ya que se ha mejorado el algoritmo de funciones hash. Para poder utilizar este tipo de autenticación es necesario utilizar libpq o tener soporte SCRAM.
- Multi-host: se conecta al primer host disponible en una lista de hosts.
- target_session_attrs: este parámetro permite que la cadena de conexión libpq solicite un host de lectura / escritura cuando se especifican varios nombres de host.
Otras características
- psql : se ha incluido condicionales (\if … \elseif … \else … \endif) para hacer más fácil las secuencias de comandos, y hay nuevas funciones y nuevos roles para permitir que las herramientas de supervisión puedan correr sin privilegios de superusuario.
- Directorios: Se ha renombrado el directorio pg_xlog y el directorio pg_clog a pg_wal y pg_xact respectivamente.
Por lo tanto todas las funciones de SQL y nombres de servicios públicos que anteriormente incluía la cadena “xlog”, es decir, Write-Ahead Logging (WAL), ahora se utiliza el nombre “wal”.El directorio de registro predeterminado se llama ahora “log” en lugar de “pg_log”.