Après une mise à niveau d’Ubuntu Server 14.04 à 16.04, j’ai également dû mettre à niveau mes clusters Postgres de 9.3 à 9.5. La méthode normale consiste à supprimer d’abord le cluster 9.5 (vide) créé par la mise à niveau:
# pg_dropcluster 9.5 main
puis mettre à niveau l’ancien cluster 9.3 vers 9.5:
# pg_upgradecluster 9.3 main
Cela entraîne cependant une erreur:
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_US.UTF-8", LC_ALL = (unset), LC_PAPER = "nl_NL.UTF-8", LC_ADDRESS = "nl_NL.UTF-8", LC_MONETARY = "nl_NL.UTF-8", LC_NUMERIC = "nl_NL.UTF-8", LC_TELEPHONE = "nl_NL.UTF-8", LC_IDENTIFICATION = "nl_NL.UTF-8", LC_MEASUREMENT = "nl_NL.UTF-8", LC_TIME = "nl_NL.UTF-8", LC_NAME = "nl_NL.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to a fallback locale ("en_US.UTF-8"). Error: The locale requested by the environment is invalid. Error: Could not create target cluster
Cela signifie que je ne pouvais pas passer à Postgres 9.5.
J’ai vérifié tous les parameters régionaux:
Le message d’erreur est généré à partir du script pg_createcluster appelé à partir de pg_updatecluster. Mais exécuter pg_createcluster à partir de la ligne de commande fonctionne sans problème.
J’ai utilisé la solution de contournement suivante pour que la conversion fonctionne au moins. J’ai édité le script / usr / bin / pg_upgradecluster comme suit:
Cela contourne au moins ce problème et vous permet de lancer la mise à niveau.
Ma question est la suivante: est-ce un bogue dans le script pg_upgradecluster ou est-ce que quelque chose d’autre est gênant sur mon système?
avait le même problème sur un serveur Ubuntu 16.04. ce qui a aidé dans mon cas était de générer tous les parameters régionaux qui apparaissent dans votre liste de $ locale
:
$ sudo locale-gen "en_US.UTF-8" $ sudo locale-gen "nl_NL.UTF-8"
bonne chance!