PostgreSQL 17 porta grans millores en rendiment, nova còpia de seguretat incremental i més

PostgreSQL 17

Tal com es presenta any amb any entre setembre-octubre, s'ha donat a conèixer el llançament de la nova versió de PostgreSQL 17 i igual que en totes les versions anteriors, la prioritat continua sent la millora del rendiment i optimitzacions de recursos, especialment per a operacions com VACUUM, I/O i consultes, mentre que la novetat més important d'aquest llançament.

Per als usuaris empresarials, lactualització porta una gran quantitat de millores que simplifiquen ladministració i lús de la base de dades. Tot i que PostgreSQL ha estat històricament una base de dades relacional, aquesta versió amplia la seva integració amb funcionalitats avançades per treballar amb documents JSON, una característica comunament associada amb MongoDB Atlas.

Novetats de PostgreSQL 17

En aquesta nova versió que es presenta de PostgreSQL 17, s'ha introduït una nova estructura de dades a l'operació VACUUM, que redueix el consum de memòria fins a 20 vegades, permetent que aquestes operacions siguin més ràpides i eficients en termes de recursos compartits.

Per la part de les millores en el rendiment, la gestió de registres d'escriptura diferida (WAL) s'ha optimitzat i s'ha aconseguit un rendiment d'escriptura fins a dues vegades superior en sistemes amb moltes consultes concurrents. S'ha proposat una interfície d'E/S en streaming per millorar la cerca seqüencial i l'actualització d'estadístiques després de fer l'operació ANALYZE.

A més d'això, s'han implementat millores a les consultes amb clàusules «IN» en usar índexs d'arbre B, així com també que s'han implementat la construcció paral·lela d'índexs BRIN, s'han optimitzat les comprovacions «NOT NULL» i s'ha accelerat el processament d'expressions de taula comunes (CTE) i per a càlculs intensius, s'han incorporat instruccions funció `bit_count`.

Una altra de les novetats que es destaca són les noves funcionalitats per a JSON, ja que els usuaris ara poden consultar tipus de dades JSON utilitzant ordres SQL estàndard. Això és possible gràcies a la nova funcionalitat de la taula json, que transforma les dades JSON en una estructura tabular. A partir d'aquí, els usuaris poden fer consultes mitjançant la clàusula FROM en SQL, cosa que permet tornar les dades en un format relacional. S'ha afegit la funció JSON_TABLE per convertir dades JSON en taules estàndard de PostgreSQL.

També es destaca la nova funcionalitat de còpia de seguretat incremental a PostgreSQL 17 que permet recolzar únicament els canvis realitzats des de la darrera còpia de seguretat completa o incremental, cosa que optimitza l'ús de l'amplada de banda i redueix l'emmagatzematge. Tot i que PostgreSQL ja oferia solucions com el WAL Archiving, que replicava el registre d'escriptura anticipada (WAL) per mantenir les seccions necessàries de la base de dades, la versió 17 introdueix per primer cop un mecanisme nadiu per fer còpies incrementals. Aquest sistema no sols minimitza les interrupcions durant el funcionament en impactar menys en el rendiment, sinó que també redueix considerablement els temps de recuperació, un aspecte clau, ja que la restauració de còpies de seguretat sol ser un procés lent i preocupant per als usuaris.

Es va implementar un motor independent de la plataforma per processar les propietats de configuració regional, permetent un comportament uniforme a l'ordenament de resultats de consultes. Aquest motor té en compte factors com la presència de caràcters especials i la sensibilitat al cas en ordenar valors. Ara el mecanisme de replicació lògica simplifica el procés d'actualització de la base de dades sense necessitat d'eliminar ranures de replicació lògica ni resincronitzar dades en migrar a una nova versió.

Dels altres canvis que es destaquen :

  • L'exportació de cadenes llargues amb l'ordre COPY s'ha accelerat fins a dues vegades.
  • S'ha optimitzat la còpia quan coincideixen les codificacions d'origen i de destinació.
  • S'ha afegit l'opció `ON_ERROR` per permetre que la importació continuï malgrat errors en inserir dades.
  • S'ha afegit la capacitat d'utilitzar columnes amb identificadors únics a les taules particionades.
  • S'ha implementat una funció de commutació per error per canviar a un servidor de seguretat en configuracions tolerants a falles.
  • S'ha afegit una nova utilitat pg_createsubscriber per convertir una rèplica física en una rèplica lògica.
  • S'ha introduït l'opció "sslnegotiation" per negociar connexions TLS segures directament utilitzant l'extensió ALPN TLS.
  • S'ha afegit el rol predefinit pg_maintain, que atorga als usuaris el dret a realitzar operacions relacionades amb el manteniment del DBMS

Finalment si estàs interessat a poder conèixer més sobre això, pots consultar els detalls al següent enllaç.


Afegir com a font preferida a Google