Mises à jour mineures de PostgreSQL : 9.4.2, 9.3.7, 9.2.11, 9.1.16 et 9.0.20

Le PostgreSQL Global Development Group publie une mise à jour de multiples fonctionnalités et correctifs de sécurité à toutes les versions du système de gestion de bases de données PostgreSQL, qui comprend les versions mineures 9.4.2, 9.3.7, 9.2.11, 9.1.16 et 9.0.20. Cette mise à jour contient un correctif critique pour un problème potentiel de corruption de données dans PostgreSQL 9.3 et 9.4 ; les utilisateurs de ces versions devraient mettre à jour leurs serveurs dès la prochaine opportunité.

Correctif de la corruption de données

Pour les utilisateurs des versions 9.3 et 9.4, cette version mineure corrige un problème de bouclage d'identifiant « multixact » (la documentation parle de « multixact wraparound »), qui résulte en une corruption ou une perte de données. Les utilisateurs dont le taux de transactions est très élevé (au moins un million par heure) sur des bases ayant de nombreuses clés étrangères sont particulièrement vulnérables. Il est plus que recommandé de procéder aux mises à jour des installations dans les prochains jours pour les possesseurs de versions 9.3 et 9.4.

Les utilisateurs des versions 9.2 et précédentes ne sont pas affectés par ce problème.

Correctifs de sécurité

Cette mise à jour corrige trois failles de sécurité rapportées ces derniers mois. Aucune n'est particulièrement urgente. Toutefois, il est conseillé aux utilisateurs de vérifier si leurs installations sont concernées.

Il est également conseillé aux utilisateurs des authentifications par Kerberos, GSSAPI, ou SSPI de positionner include_realm à 1 dans le fichier pg_hba.conf, cette valeur devenant la valeur par défaut dans les versions futures.

Les pages de sécurité du site postgresql.org donnent plus d'informations sur ces failles.

Autres correctifs et améliorations

Une nouvelle version, qui n'est pas celle par défaut, de l'extension citext corrige les fonctions regexp_matches() précédemment non documentées, pour les aligner sur les versions texte usuelles de ces fonctions. La version corrigée utilisant un type de retour différent de l'ancienne, il est nécessaire de tester les applications avant d'exécuter la commande :

ALTER EXTENSION citext UPDATE

Plus de 50 autres correctifs sont fournis par ces mises à jour. La plupart concernent l'ensemble des versions supportées.

On peut citer :

  • la traduction des dates et horodatages infinies en “infinity” lors de conversion en json ;
  • la correction des fonctions json/jsonb populate_record() et to_record() ;
  • la correction de la vérification des contraintes d'exclusion différées ;
  • l'amélioration de la planification des requêtes touchant plusieurs schémas ;
  • la correction de trois problèmes de jointures ;
  • la garantie de verrouillage correct lors de l'utilisation de barrières de sécurité (« security barriers ») dans les vues ;
  • la correction du verrou mort au démarrage lorsque le paramètre max_prepared_transactions est trop faible ;
  • le parcours récursif par fsync() du répertoire de données après un crash ;
  • la correction du lanceur d'autovacuum qui pouvait ne pas s'arrêter ;
  • la gestion de signaux inattendus dans la fonction LockBufferForCleanup() ;
  • la correction du crash de COPY IN vers une table possédant des contraintes de vérification ;
  • la suppression de l'attente de réplication synchrone sur les transactions en lecture seule ;
  • la correction de deux problèmes sur les index hash ;
  • la suppression des fuites mémoire lors de VACUUM sur les index GIN ;
  • la correction de deux problèmes sur les « background workers » ;
  • plusieurs corrections sur la réplication par décodage logique ;
  • plusieurs corrections sur pg_dump et pg_ugrade.

Cette version inclut une mise à jour vers la version 2015d de tzdata, avec les mises à jour pour l'Egypte, la Mongolie, la Palestine, et des modifications historiques pour le Canada et le Chili.

Fin de vie proche pour la branche 9.0

La version 9.0 arrive en fin de vie en septembre 2015. Il est probable que cette mise à jour soit l'avant-dernière de cette branche. Les utilisateurs de PostgreSQL 9.0 doivent commencer à planifier la mise à jour vers une version plus récente. Voir la page d'information sur les versions (http://www.postgresql.org/support/versioning) pour de plus amples informations sur les dates de fin de vie.

Comme pour les autres versions mineures, il n'est pas nécessaire d'extraire et recharger les bases ou d'utiliser pg_upgrade pour appliquer cette mise à jour. Il suffit d'arrêter PostgreSQL, et de mettre à jour les binaires.

Les utilisateurs de l'extension citext auront une commande à exécuter.

Les utilisateurs ayant négligé les mises à jour précédentes auront peut-être quelques actions supplémentaires post-mise à jour à effectuer.

Liens :

Afficher le texte source