PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 11/05/2009 12:06:32

Moloson
Membre

Problème de charset : UTF-8 impossible

Bonjour tout le monde,

Hier, j'ai essayé fait une migration de mon serveur Linux vers Lenny (avant j'était en etch), et j'ai donc décidé d'en profiter pour upgrader ma version de PostgreSQL, pour aller en version 8.3
Mais maintenant, j'ai un problème, il m'est impossible de faire des bases en UTF-8, il veut absolument que ça soit en LATIN9.
Et donc, lorsque je fais un show lc_ctype avec mon utilisateur postgres, j'ai fr_FR, et non fr_FR.UTF-8, comment faire ?
Car une fois connecter avec l'utilisateur UNIX postgres, et que je fait tape locale, il m'indique bien que je suis en fr_FR.UTF-8.

Donc je me demandais s'il fallait que je fasse une ré-install du serveur pour que ça soit pris en compte ? Ou faut-il faire autre chose ?

Merci d'avance.

Hors ligne

#2 11/05/2009 17:00:49

Marc Cousin
Membre

Re : Problème de charset : UTF-8 impossible

Avant toutes choses, vérifier que la locale fr_FR.UTF-8 existe. Sinon l'activer avec un "dpkg-reconfigure locales"

le mieux c'est ensuite de recréer le cluster :
- pg_dropcluster 8.3 main (ou ce qui correspond)
- pg_createcluster --locale fr_FR.UTF-8 8.3 main

Au passage, il serait préférable ensuite que LANG vaille la même chose pour l'utilisateur postgresql (voire pour tout le système, là je ne peux m'avancer, ca dépend de ce que va devenir le serveur).
=> dans le .bashrc ou .bash_profile de postgres, rajouter
export LANG=fr_FR.UTF-8
quelque part, ou au niveau global sur le serveur, ca se fait via le dpkg-reconfigure au dessus


Marc.

Hors ligne

#3 11/05/2009 21:17:39

Moloson
Membre

Re : Problème de charset : UTF-8 impossible

J'ai un problème, mon serveur ne veut plus démarer, j'ai l'erreur suivante dans les logs :

2009-05-11 21:48:26 CEST LOG:  le système de bases de données a été arrêté à 2009-05-11 21:44:07 CEST
2009-05-11 21:48:26 CEST LOG:  lancement du processus autovacuum
2009-05-11 21:48:26 CEST LOG:  le système de bases de données est prêt pour accepter les connexions
2009-05-11 21:48:26 CEST LOG:  paquet de démarrage incomplet

Et quand j'essaye de supprimer la version 8.1 j'ai :

Stopping PostgreSQL 8.1 database server: mainUse of uninitialized value $info{"pgdata"} in -d at /usr/bin/pg_ctlcluster line 442. Use of uninitialized value $info{"pgdata"} in concatenation (.) or string at /usr/bin/pg_ctlcluster line 443. Error: is not accessible or does not exist failed!
failed!

Dernière modification par Moloson (11/05/2009 21:33:17)

Hors ligne

#4 12/05/2009 09:51:29

Marc Cousin
Membre

Re : Problème de charset : UTF-8 impossible

Le premier message laisse supposer que le serveur est démarré.

Pour le second:
Est ce que le cluster 8.1 existe encore ?
Si oui, est ce que le répertoire /etc/postgresql/8.1/main existe encore ?
Quelle est la commande pg_dropcluster lancée, exactement ?


Marc.

Hors ligne

#5 12/05/2009 13:46:53

Moloson
Membre

Re : Problème de charset : UTF-8 impossible

Non, le cluster en 8.1 a été détruit.

La commande tapé pour le détruire est : pg_dropcluster 8.1 main si je me souvient bien

Hors ligne

#6 12/05/2009 13:55:10

Marc Cousin
Membre

Re : Problème de charset : UTF-8 impossible

Bizarre, cela donne l'impression que le système essaye de démarrer un cluster 8.1, mais ne le trouve pas (je n'ai pas exactement la même version des outils postgresql-common donc je ne peux pas regarder en détail).

Est ce que la configuration /etc/postgresql/8.1/main est encore la ? si oui, est ce qu'il y a encore un start.conf dedans, en auto ? Ca pourrait expliquer le problème.

Si il n'y a plus de 8.1, le mieux est peut être tout simplement de purger les packages 8.1 ?


Marc.

Hors ligne

Pied de page des forums