Je suis en train de migrer une installation Discourse assez importante, qui tourne sur une seule instance depuis 3 ans avec succès, vers des bases de données gérées par Digital Ocean et des frontends séparés. Tout se passe bien lors de l’installation initiale : une fois les nouveaux frontends démarrés, j’ai une installation fraîche et fonctionnelle de Discourse.
Cependant, dès que j’essaie de restaurer une sauvegarde, l’opération finit toujours par échouer pendant la phase « restoration du fichier dump ».
...
[2020-11-14 04:56:16] Création des fonctions manquantes dans le schéma discourse_functions...
[2020-11-14 04:56:17] Restauration du fichier dump... (cela peut prendre un certain temps)
[2020-11-14 04:58:27] psql : erreur : impossible de se connecter au serveur : impossible de se connecter au serveur : la connexion a expiré
...
Je suis assez perplexe quant à ce qui pourrait se passer ici. La connexion semble fonctionner correctement puisque Discourse fonctionne par ailleurs, et je ne vois rien dans les journaux de la base de données ou les graphiques qui indiquerait un problème de ce côté.
Des idées ?
Édition : Je viens de remarquer quelque chose d’étrange dans les journaux. Dans mon fichier de configuration, le port Postgres est défini sur 25060, mais les journaux mentionnant le timeout parlent du port 5432.
[2020-11-14 18:20:23] Le serveur est-il en cours d'exécution sur l'hôte "[host]" ([ip]) et accepte-t-il
[2020-11-14 18:20:23] les connexions TCP/IP sur le port 5432 ?
Est-il possible que le processus de restauration ne respecte pas le port configuré pour une raison quelconque ?