Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 17/02/2012 18:56:11
- baradji
- Membre
comment uniformiser les variables locales
Bonjour,
mon serveur 1 est un serveur ubuntu sous lequel est installé postgresql -8.4,
et mon serveur 2redhat sous lequel est installé postgresql -9.1,
Je prepare une migation du serveur 1 vers le 2, mais j'ai une difference au niveau des variables locale,
postgres@db:/root$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_CA.UTF-8
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=
serveur 2
bash-3.2$ locale
LANG=fr_CA.UTF-8
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC="fr_CA.UTF-8"
LC_TIME="fr_CA.UTF-8"
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY="fr_CA.UTF-8"
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER="fr_CA.UTF-8"
LC_NAME="fr_CA.UTF-8"
LC_ADDRESS="fr_CA.UTF-8"
LC_TELEPHONE="fr_CA.UTF-8"
LC_MEASUREMENT="fr_CA.UTF-8"
LC_IDENTIFICATION="fr_CA.UTF-8"
LC_ALL=
------------------------------------------------------------------------------
mes préoccupations sont les suivantes:
1) est ce que c'est possible de modifier les valeurs du serveur 2 de sorte a avoir les mêmes valeurs que le serveur1?
2) est ce que si je crée cette collation peut résoudre le problème?
CREATE COLLATION english (
LOCALE = 'en_US.UTF-8',
[LC_COLLATE = 'en_US.UTF-8',
LC_CTYPE = 'en_US.UTF-8'
)
3) les valeurs sont différends aussi dans chaque fichier postgresql.conf
Hors ligne
#2 17/02/2012 20:12:43
- gleu
- Administrateur
Re : comment uniformiser les variables locales
1) est ce que c'est possible de modifier les valeurs du serveur 2 de sorte a avoir les mêmes valeurs que le serveur1?
Oui, mais je n'ai jamais été très doué avec les locales, donc pas sûr du comment.
2) est ce que si je crée cette collation peut résoudre le problème?
Tout dépend du problème. Si c'est celui de la question 1, non, absolument pas.
3) les valeurs sont différends aussi dans chaque fichier postgresql.conf
À cause des locales du système. Il faut que vous trouviez le moment d'avoir les mêmes locales sur les deux serveurs
Guillaume.
Hors ligne
#3 18/02/2012 00:56:42
- baradji
- Membre
Re : comment uniformiser les variables locales
salut,
j'ai modifier des parametres en effectuants les commandes suivantes sur le serveur 1
[root@db1 ~]# vi ~/.bash_profile
ajout de la ligne
export LANG=en_CA.UTF-8
source ~/.bash_profile
et j'obtiens
[root@db1 ~]# locale
LANG=en_CA.UTF-8
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=
apres cela, j'ai les memes config que le serveur 1,
mais je ne peux toujours pas creer de base avec
CREATE DATABASE mabd
WITH OWNER = tc
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'en_US.UTF-8'
LC_CTYPE = 'en_US.UTF-8'
j'ai le message
ERREUR: le nouveau tri (en_US.UTF-8) est incompatible avec le tri de la base de
données modèle (fr_CA.UTF-8)
ASTUCE : Utilisez le même tri que celui de la base de données modèle,
ou utilisez template0 comme modèle.
sur le serveur 1, j'ai
CREATE DATABASE postgres
WITH OWNER = postgres
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'en_US.UTF-8'
LC_CTYPE = 'en_US.UTF-8'
CONNECTION LIMIT = -1;
-------------------
sur le serveur 2
CREATE DATABASE postgres
WITH OWNER = postgres
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'fr_CA.UTF-8'
LC_CTYPE = 'fr_CA.UTF-8'
CONNECTION LIMIT = -1;
comment puis-je modifier les valeurs de LC_COLLATE et LC_CTYPE pour la bd postgres sur le serveur 2?
quick help,
Hors ligne
#4 18/02/2012 01:06:48
- rjuju
- Administrateur
Re : comment uniformiser les variables locales
Vous pouvez essayer en ajoutant la commande TEMPLATE = template0 comme indiqué dans le message d'erreur :
CREATE DATABASE mabd
WITH OWNER = tc
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'en_US.UTF-8'
LC_CTYPE = 'en_US.UTF-8'
TEMPLATE = template0
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1