Lors d'une montée de version d'Odoo sur site, la question de PostgreSQL se pose parfois trop tard, quand le serveur de test affiche un avertissement que personne n'avait anticipé. Elle mérite d'être posée avant : quelle version de PostgreSQL Odoo 19 accepte-t-il, et laquelle choisir pour les années qui viennent ? C'est le conseil d'exploitation de cette semaine. Il vient après trois correctifs publiés entre le vendredi 28 août et le jeudi 3 septembre, tous arrivés sur la branche 19.0 : deux dans le dépôt public odoo/odoo, un dans le dépôt odoo/enterprise.
Trois correctifs de la semaine
Factures fournisseurs reçues par email : le bon aperçu
Si vos factures fournisseurs arrivent dans Odoo par un alias email relié au journal des achats, ce correctif vous concerne. Quand le serveur de messagerie entrant a l'option de conservation du message original activée, Odoo enregistre aussi une copie brute de l'email (un fichier .eml). Si l'email contenait un fichier XML embarquant le PDF, cette copie brute pouvait devenir la pièce jointe principale de la facture, avant même que le PDF soit extrait, et l'aperçu affiché à côté de la facture était cassé. Le correctif du 28 août en 19.0 exclut désormais les emails bruts du choix de la pièce jointe principale.
Les factures déjà reçues ne sont pas corrigées rétroactivement par ce changement. Si vous voyez des aperçus vides sur des factures arrivées par email, c'est probablement ce cas.
Relevés de carte bancaire et de caisse : le bouton d'import apparaît enfin
Dans l'application Comptabilité, le bouton qui importe un fichier de relevé (CSV, OFX ou CAMT selon les modules installés) n'apparaissait que sur la carte des journaux de banque du tableau de bord. Les journaux de carte de crédit et de caisse, traités partout ailleurs comme des journaux de banque, n'avaient pas ce bouton, même quand leur flux de transactions était réglé sur l'import de fichier. Le message du commit le dit sans détour : les utilisateurs en concluaient que la fonction n'existait pas. Le correctif du 31 août, dans le module account_bank_statement_import de l'Enterprise, affiche le bouton sur ces deux types de journaux.
Les PME qui suivent leurs cartes bancaires professionnelles dans un journal à part, avec un relevé mensuel exporté de la banque, n'ont plus à passer par la liste des relevés pour l'importer. Le changement est petit, mais il lève un malentendu fréquent sur ce que sait faire Odoo.
Facturation au temps passé : la période suivante n'est plus bloquée
Pour un service facturé sur la base des feuilles de temps, il arrive qu'on augmente à la main la quantité facturée, par exemple pour inclure un forfait. Jusqu'ici, la facture de la période suivante pouvait échouer avec un message indiquant qu'il n'y avait rien à facturer, alors que les heures n'avaient jamais été facturées. Le correctif du 2 septembre en 19.0 limite l'ancien calcul aux cas d'avoirs partiels, pour lesquels il avait été introduit, et rétablit le comportement attendu dans les autres cas. Les sociétés de services qui facturent au mois sont les premières concernées.
Quelle version de PostgreSQL pour Odoo 19 sur site ?
Avant d'appliquer ces conseils : testez chaque manipulation sur une copie de votre base ou sur un serveur de test, jamais directement en production. Ces conseils sont rédigés sans connaître votre configuration et peuvent ne pas s'appliquer tels quels chez vous. Nexelans ne peut pas être tenue responsable des conséquences d'une manipulation faite sans ces précautions.
Ce conseil s'adresse aux bases hébergées sur vos propres serveurs ou chez un hébergeur de votre choix. En Online et sur Odoo.sh, la base de données est gérée par Odoo, et la question ne se pose pas dans les mêmes termes.
Le minimum : PostgreSQL 13
La documentation d'installation d'Odoo 19 l'indique : la version minimale de PostgreSQL passe de 12 à 13 avec Odoo 19. Le code le confirme : le fichier odoo/release.py de la branche 19.0 définit MIN_PG_VERSION = 13. Un détail compte ici : à la connexion, si le serveur est plus ancien, Odoo émet un avertissement mais ne bloque pas. Une base peut donc sembler fonctionner sur un PostgreSQL trop ancien, ce qui n'est pas un argument pour l'y laisser.
Le minimum n'est pas un bon choix
Le calendrier de support publié par le projet PostgreSQL est sans ambiguïté :
| Version | Première publication | Fin de support |
|---|---|---|
| 13 | 24 septembre 2020 | 13 novembre 2025 (terminé) |
| 14 | 30 septembre 2021 | 12 novembre 2026 |
| 15 | 13 octobre 2022 | 11 novembre 2027 |
| 16 | 14 septembre 2023 | 9 novembre 2028 |
| 17 | 26 septembre 2024 | 8 novembre 2029 |
| 18 | 25 septembre 2025 | 14 novembre 2030 |
PostgreSQL 13, le minimum d'Odoo 19, ne reçoit plus de correctifs de sécurité depuis novembre 2025. PostgreSQL 14 s'arrête dans un peu plus de deux mois. Rester sur l'une de ces versions revient à faire tourner votre comptabilité sur un moteur qui ne sera plus corrigé.
Mon conseil est simple : pour une nouvelle installation d'Odoo 19, partez sur PostgreSQL 16, 17 ou 18, supportés jusqu'en 2028, 2029 et 2030. Choisissez celle que fournit votre distribution Linux, car c'est elle qui recevra les mises à jour de sécurité sans effort. Avant de retenir la plus récente, vérifiez seulement que vos outils de sauvegarde et de supervision la prennent en charge.
Monter de version PostgreSQL sans risque
Changer de version majeure de PostgreSQL est une opération distincte de la montée de version d'Odoo, et il vaut mieux ne pas faire les deux le même week-end.
- Faites une sauvegarde complète (base et filestore) et vérifiez qu'elle se restaure.
- Installez la nouvelle version de PostgreSQL à côté de l'ancienne, sur un autre port ou un autre serveur.
- Transférez la base, soit par sauvegarde et restauration logiques (
pg_dumppuispg_restore), soit avec l'outilpg_upgradefourni par PostgreSQL. - Démarrez Odoo sur une copie, vérifiez l'absence d'avertissement de version dans les journaux, puis testez une facture, un rapport et une action planifiée.
- Basculez la production, en gardant l'ancien serveur arrêté mais intact quelques jours.
Pour la sauvegarde elle-même, l'article sur la sauvegarde d'une base Odoo rappelle les principes. Si vous hésitez encore sur le mode d'hébergement, le comparatif Odoo.sh, Online ou sur site rappelle ce que l'on prend en charge soi-même en choisissant le sur site, et PostgreSQL en fait partie.
Sources
- odoo/odoo, commit 48426a4 (28/08/2026), pièce jointe principale des emails entrants : Voir le commit
- odoo/enterprise, commit 79f805c (31/08/2026, branche 19.0), bouton d'import de relevé sur les journaux de carte et de caisse
- odoo/odoo, commit 89650a5 (02/09/2026), facturation des feuilles de temps par période : Voir le commit
- Documentation Odoo 19.0, installation depuis les sources (PostgreSQL) : Lire la page
- odoo/odoo 19.0,
odoo/release.py(MIN_PG_VERSION) : Voir le fichier - PostgreSQL, politique de versions et calendrier de support : Lire la page