Aller au contenu

Migration vers 11 et supérieures

(Référence : https://docs.postgresql.fr/11/release-11.html)

Sauvegardes

  • pg_dump sauvegarde à présent les propriétés et permissions de la base de données (qu’il fallait autrefois sauvegarder avec pg_dumpall -g).

Paramètres et gestion du serveur

  • Disparition du paramètre replacement_sort_tuples ;
  • Gestion plus stricte de statement_timeout ;
  • Modification du texte dans ps pour les background workers.

Comportement

  • Dans les triggers, les variables OLD et NEW sont valorisées à NULL si non assignées.

Sécurité

  • Test des droits sur les large objects dès l’ouverture, et non pendant la lecture ou l’écriture.

Syntaxe SQL

  • Suppression d’une ambiguïté quant à la syntaxe entre f(x) et x.f : autrefois la version colonne était systématiquement préférée ;
  • Les noms des contraintes de tables et domaines doivent être uniques (dans certains cas cela était permis dans les versions précédentes) ;
  • Fin de la tolérance sur la casse des paramètres en SQL (FillFactor fonctionnait et ne sera plus toléré, il faudra écrire fillfactor) ;
  • Disparition de la clause WITH dans CREATE FUNCTION, redondante avec la syntaxe plus proche du standard.

Fonctions

  • La fonction power accepte NaN en entrée.
  • Modification dans la génération des caractères dans to_number (voir le commit), to_date, to_timestamp (voir le commit). Pour les mêmes fonctions, ajustement des backslashs ;
  • Gestion de fonctions XML plus proches du standard ;
  • Dans l’extension adminpack, suppression de pg_file_read(), pg_file_length(), et pg_logfile_rotate().

Tables et vues systèmes

  • Dans la table système pg_class, suppression de relhaspkey ;
  • Dans pg_proc, proisagg et proiswindow sont remplacés par prokind ;
  • Dans information_schema, tables.table_type renvoie FOREIGN et non FOREIGN TABLE ;
  • Les utilisateurs normaux ne peuvent plus réindexer les tables système.