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 14/10/2009 17:35:23

kalijames
Membre

PostgreSQL 8.1.11 & Encodage SQL_ASCII

Bonjour, je viens d'installer PostGreSQL  8.1.11 sur un nouveau serveur (Distributon CENTOS 5.3 64 bits).
Je n'arrive pas à exécuter la commande suivante : initdb -D /var/lib/postgres/data --encoding SQL_ASCII.
Le message de retour est le suivant :

"Le groupe de base de donnés sera initialisé avec la locale fr_FR.UTF-8.
initdb : attention codage différent.
Le codage que vous avez sélectionnés (SQL_ASCII) et le codage que la locale sélectionne utilise (UTF-8) ne sont pas connus pour leur compatibilité...."

Suite à cette action, si je créée une base de données : createdb mabase, l'encodage est de type UTF8. En revanche, si j'effectue un createdb mabase -encoding SQL_ASCII, l'encodage est correct.

Je souhaite pouvoir initialiser par défaut le codage en SQL_ASCII, pour éviter d'avoir à le préciser à chaque création de base.
Comment faire ?

Merci d'avance pour votre aide.

Hors ligne

#2 14/10/2009 17:53:59

Marc Cousin
Membre

Re : PostgreSQL 8.1.11 & Encodage SQL_ASCII

À la création, il faut passer à la fois l'encoding et la locale. Sinon la locale est hérité de la variable d'environnement LC_ALL ou sinon LANG. Ou alors ne passer que la locale à C, il devrait en déduire l'encodage SQL_ASCII.

Dernière modification par Marc Cousin (14/10/2009 17:54:33)


Marc.

Hors ligne

#3 14/10/2009 18:14:27

kalijames
Membre

Re : PostgreSQL 8.1.11 & Encodage SQL_ASCII

J'ai donc effectué les tests suivants :
initdb -D /var/lib/postgres/data --locale C --encoding SQL_ASCII
et
initdb -D /var/lib/postgres/data --locale C

Mais cela ne change rien....

Merci quand même de l'aide.

Hors ligne

#4 14/10/2009 19:17:39

Marc Cousin
Membre

Re : PostgreSQL 8.1.11 & Encodage SQL_ASCII

Je viens de vérifier ici et cela fonctionne. Etrange

On peut avoir les logs des 2 commandes ?


Marc.

Hors ligne

#5 14/10/2009 20:45:12

gleu
Administrateur

Re : PostgreSQL 8.1.11 & Encodage SQL_ASCII

Oui, ça fonctionne aussi chez moi...

Sans --locale:

guillaume@laptop:~$ initdb -D data --encoding SQL_ASCII
Les fichiers de ce cluster appartiendront à l'utilisateur « guillaume ».
Le processus serveur doit également lui appartenir.                     

Le cluster sera initialisé avec la locale fr_FR.UTF-8.
La configuration de la recherche plein texte a été initialisée à « french ».
...

Et avec locale C:

guillaume@laptop:~$ initdb -D data --encoding SQL_ASCII --locale C
guillaume@laptop:~$ rm -rf data
guillaume@laptop:~$ initdb -D data --encoding SQL_ASCII --locale C
Les fichiers de ce cluster appartiendront à l'utilisateur « guillaume ».
Le processus serveur doit également lui appartenir.
...


Guillaume.

Hors ligne

#6 15/10/2009 09:13:04

kalijames
Membre

Re : PostgreSQL 8.1.11 & Encodage SQL_ASCII

Il est vrai qu je n'ai pas été très clair dans mon 2ème message : désolé.
En réalité, l'exécution des commandes fonctionnent correctement. Mais lorsque je crée ma base de données, cette dernière est toujours encodé en UTF8 au lieu de l'être en SQL_ASCII

Hors ligne

#7 15/10/2009 09:16:57

kalijames
Membre

Re : PostgreSQL 8.1.11 & Encodage SQL_ASCII

Résultats des LOGS :

bash-3.2$ initdb -D /usr/postgres/data --locale C

Les fichiers appartenant à ce système de bases de données doivent appartenir à l'utilisateur « postgres ».
Cet utilisateur doit aussi posséder le processus serveur.

Le groupe de bases de données sera initialisé avec la locale C.

correction des droits sur le répertoire existant /usr/postgres/data ... ok
création du répertoire /usr/postgres/data/global... ok
création du répertoire /usr/postgres/data/pg_xlog... ok
création du répertoire /usr/postgres/data/pg_xlog/archive_status... ok
création du répertoire /usr/postgres/data/pg_clog... ok
création du répertoire /usr/postgres/data/pg_subtrans... ok
création du répertoire /usr/postgres/data/pg_twophase... ok
création du répertoire /usr/postgres/data/pg_multixact/members... ok
création du répertoire /usr/postgres/data/pg_multixact/offsets... ok
création du répertoire /usr/postgres/data/base... ok
création du répertoire /usr/postgres/data/base/1... ok
création du répertoire /usr/postgres/data/pg_tblspc... ok
sélection de la valeur par défaut de max_connections... 100
sélection de la valeur par défaut de shared_buffers... 1000
création des fichiers de configuration... ok
création de la base de données template1 dans /usr/postgres/data/base/1... ok
initialisation de pg_authid... ok
activation de la taille illimitée des lignes pour les tables systèmes... ok
initialisation des dépendances... ok
création des vues système... ok
chargement de pg_description... ok
création des conversions... ok
initialisation des privilèges sur les objets intégrés... ok
création du shéma d'informations... ok
lancement du vacuum sur la base de données template1... ok
copie de template1 vers template0... ok
copie de template1 vers postgres... ok


Suite à cette opération, je démarre le service postgresql, puis j'effectue un "createdb kkk"
et j'obtiens le résultat suivant :

kkk       | postgres     | UTF8
postgres  | postgres     | UTF8
template0 | postgres     | UTF8
template1 | postgres     | UTF8

Hors ligne

#8 15/10/2009 09:47:00

gleu
Administrateur

Re : PostgreSQL 8.1.11 & Encodage SQL_ASCII

Mon avis, c'est que vous n'avez pas démarré avec le bon répertoire data. Que vous dit un show data_directory ?


Guillaume.

Hors ligne

#9 15/10/2009 10:02:43

kalijames
Membre

Re : PostgreSQL 8.1.11 & Encodage SQL_ASCII

Effectivement, le data_directory n'était pas bon. Du coup, tout fonctionne correctement. Merci à tous pour votre aide !

Hors ligne

Pied de page des forums