Sortie de PostgreSQL 12

Par:
fredericmazue

lun, 07/10/2019 - 16:37

L'équipe de développement de la célèbre base de données libre PostgreSQL vient d'annoncer la sortie de PostgreSQL 12

PostgreSQL a une note de version note de version que l'on peut qualifier de copieuse. L'équipe de développement souligne particulièrement que PostgreSQL 12 améliore les performances globales des index B-tree standard, ainsi que la gestion de l'espace de ces index. Ces améliorations permettent également de réduire la taille de l'index pour les index B-tree fréquemment modifiés, en plus d'un gain de performances.

De plus, PostgreSQL 12 ajoute la possibilité de reconstruire les index simultanément, ce qui vous permet d’effectuer une opération de reconstruction d'index (REINDEX) sans bloquer les écritures sur l’index. Cette fonctionnalité devrait vous aider avec les reconstructions d'index longues qui pourraient causer des temps d'arrêt lors de la gestion d'une base de données PostgreSQL dans un environnement de production.

A remarquer encore, toujours au niveau des performances : PostgreSQL 12 améliore les performances lors du traitement de tables avec des milliers de partitions pour des opérations nécessitant uniquement l'utilisation d'un petit nombre de partitions.

Les développeurs pourront être très intéressés par l'arrivée du langage SQL/JSON Path.

Les expressions de chemin SQL/JSON, ou SQL/JSON path expressions, spécifient les éléments à extraire des données JSON. Elle sont similaires aux expressions XPath utilisées pour l'accès SQL à XML. Dans PostgreSQL 12, les expressions de chemin sont implémentées en tant que type de données jsonpath.

Les fonctions de requête et les opérateurs JSON transmettent l'expression de chemin d'accès fournie au moteur de chemin d'accès pour évaluation. Si l'expression correspond aux données JSON interrogées, l'élément SQL/JSON correspondant est renvoyé. Les expressions de chemin sont écrites dans le langage de chemin SQL/JSON et peuvent également inclure des expressions et des fonctions arithmétiques. Les fonctions de requête traitent l'expression fournie comme une chaîne de texte, elle doit donc être placée entre guillemets.

Supposons que vous souhaitiez analyser certaines données JSON d'un suivi GPS, telles que:

{
  "track": {
    "segments": [
      {
        "location":   [ 47.763, 13.4034 ],
        "start time": "2018-10-14 10:05:14",
        "HR": 73
      },
      {
        "location":   [ 47.706, 13.2635 ],
        "start time": "2018-10-14 10:39:21",
        "HR": 135
      }
    ]
  }
}

Pour récupérer les segments de track disponibles, vous utiliserez l'opérateur accesseur ainsi :

'$.track.segments'

Pour récupérer un élément qui est un tableau vous écrirez :

'$.track.segments[*].location'

Et pour récupérer une valeur du dit tableau vous écrirez :

'$.track.segments[0].location'

etc.

PostgreSQL 12 peut être téléchargé ici sous la forme de binaires Windows, Solaris, macOS, Linux (Debian, Ubuntu, Red Hat, SUSE, OpenSUSE et autres),  et FreeBSD.