C’est vrai, mais nous visons un mécanisme de mise à jour simple et transparent. Il y a des avantages des deux côtés.
Je dirais que vous devez faire ce qui vous semble le plus confortable et ne pas avoir peur de personnaliser les modèles dans discourse_docker selon vos besoins. Évidemment, la clé est de tester en premier et d’avoir un plan de retour en arrière.
Sur notre plateforme hébergée, nous avons l’intention de faire plus de tests et de benchmarks avant de les activer, et donc je les ai désactivés dans discourse_docker également pour aligner la configuration. Ce n’est pas strictement nécessaire de les désactiver (nous n’utilisons que la partie conteneur web de discourse_docker en interne) et je ne serais pas contre les activer.
Un piège potentiel est que pg_upgrade ne fonctionnera pas si les anciens et nouveaux répertoires de données ont des paramètres de sommes de contrôle différents. Le processus consisterait à arrêter le serveur PG15, exécuter pg_upgrade pour le convertir en PG18 sans sommes de contrôle, exécuter pg_checksums pour activer les sommes de contrôle, puis démarrer PG18. Ce n’est pas un problème lors d’une sauvegarde et restauration (comme avec cette mise à niveau), mais c’est quelque chose à surveiller.
Notez que les sommes de contrôle de données sont disponibles depuis Postgres 9.3 mais ont été désactivées par défaut jusqu’à présent. Postgres 19 inclura également la possibilité de les activer/désactiver en ligne.
Pas à ce stade, non. La plupart des fonctionnalités de Discourse utilisent l’adaptateur PostgreSQL de Rails pour communiquer avec la base de données, mais la sauvegarde/restoration utilise pg_dump et psql dans le conteneur web. Pour l’instant, nous installons les clients PG15 et PG18 pour permettre la sauvegarde/restoration avec ces deux versions, mais à un moment donné dans le futur, nous supprimerons PG15.
Le facteur déterminant était le passage au nouveau fournisseur de locales intégré. Nous travaillons vers une mise à niveau du système d’exploitation sur notre plateforme hébergée et voulons briser le couplage avec glibc.