Vous n'êtes pas identifié(e).
Pages : 1
hello ,
y'a t'il un grand difference si je crée ma base de donnée de cette façon
createdb -h HOST -U postgres -W Base_dev
ou
CREATE DATABASE "Base_dev" WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'French_France.1252' LC_CTYPE = 'French_France.1252';
Est ce que avec le premier syntaxe j'aurai les mémes paramètres de collation et encodage
merci pour vos retour d'experience
Hors ligne
bonjour,
la différence c'est que si vous ne spécifiez pas les paramètres de type "encoding, lc_collate" avec l'une ou l'autre des 2 commandes, la valeur prise sera celle de la base par défaut : template1.
Sinon, aucune différence.
Dans votre cas avec vos exemples :
- la commande creatdb va créer une base avec comme modèle template1 (identique à celle-ci)
- la commande create database va créer une database avec comme modèle template0 et des encoding, locales spécifique (puisque vous lui demandez).
Cordialement,
Sébastien.
Hors ligne
Plus précisément utiliser template0 est la seule possibilité si vous voulez créer une base avec un encodage différent de celui définit lors de l'utilisation du cluster. Vous pouvez évidemment le faire mais vous risquez des surprises , surtout sur windows.
Julien.
https://rjuju.github.io/
Hors ligne
Salut
Vous pouvez évidemment le faire mais vous risquez des surprises , surtout sur windows.
Pouvez-vous être plus précis. Cela aide vraiment la communauté autour de PostgreSQL.
Certains raccourcis donnent une multitude d’interprétations qui souvent font que certaines solutions sont rejeté juste par "on dit...".
@+
Hors ligne
Quand PostgreSQL crée une base, il copie les fichiers du template vers la nouvelle base. Il ne fait aucune interprétation, aucun traitement, juste de la copie pure. Donc si vous avez des données texte dans un certain encodage dans votre base template, et que vous demandez la création d'une base dans un autre encodage, vous vous trouverez avec les données initiales du template dans l'ancien encodage et les nouvelles données dans le nouvel encodage. Bref, un beau bazar. Ça ne peut pas arriver avec template0 vu qu'il est impossible (par défaut) de s'y connecter et encore plus d'y ajouter des données.
Guillaume.
Hors ligne
Salut
rjuju a écrit :Vous pouvez évidemment le faire mais vous risquez des surprises , surtout sur windows.
Pouvez-vous être plus précis. Cela aide vraiment la communauté autour de PostgreSQL.
Certains raccourcis donnent une multitude d’interprétations qui souvent font que certaines solutions sont rejeté juste par "on dit...".
@+
Effectivement, plus de détails serait utile ici.
Je ne suis pas certain de me rappeler, ni connaître, tout ce qui pourrait poser problème, mais au minimum (et en plus de la précision de Guillaume) cela peut poser des soucis dans les logs. En effet, si vous avez des bases avec des encodages différents, vous risquez d'avoir différents messages dans des encodages différents, et ce dans un même fichier. Il est techniquement possible d'extraire les différentes traces dans différents fichiers pour pouvoir les traiter, mais vous aurez à faire ce traitement manuellement (je ne connais pas d'outil pour faire ça). Si vous avez quelques giga de logs, je vous laisse imaginer le temps pour traiter le fichier.
Pour le "surtout sur windows", je vois énormément de personnes ayant des problèmes d'encodage (à priori à cause de l'encodage natif win1252 de windows, contre utf8 pour le reste du monde). Ajouter un mix d'encodage dans ce problème ne risque pas de simplifier les choses.
Julien.
https://rjuju.github.io/
Hors ligne
Salut et merci des éclaircissements
Pour le "surtout sur windows", je vois énormément de personnes ayant des problèmes d'encodage (à priori à cause de l'encodage natif win1252 de windows, contre utf8 pour le reste du monde)...
Windows est en UNICODE par défaut. Pour les tris et le jeux de caractères c'est la région géographique par défaut mais (pour une colonnes) il est possible de choisir dans ICU (je ne vous apprends rien ).
@+
Hors ligne
Windows est en UNICODE par défaut. Pour les tris et le jeux de caractères c'est la région géographique par défaut mais (pour une colonnes) il est possible de choisir dans ICU (je ne vous apprends rien ).
@+
Je parlais surtout pour l'utilisation de psql, car la console est je crois toujours en CP1252 ou quelque chose du genre.
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1