Re: Copy from : ERROR: date/time field value out of range
Re,
> Merci à tous
De rien.
> après cette commande le chargement se passe correctement :
> *set datestyle to 'dmy';*
Oui.
> pg_bench=# select name, setting from pg_settings where name ~* 'lc';
> name | setting
> -------------+-------------
> lc_collate | en_US.UTF-8
> lc_ctype | en_US.UTF-8
> lc_messages | en_US.UTF-8
> lc_monetary | en_US.UTF-8
> lc_numeric | en_US.UTF-8
> lc_time | en_US.UTF-8
> (6 rows)
Voilà, par défaut votre serveur s'attend a avoir des utilisateurs qui
parlent la langue l'anglais (US) et qui expriment les dates, nombres et
valeurs monétaires selon le système en vigueur là-bas, et plus
généralement, selon leurs habitudes.
Par exemple:
jpargudo=# set lc_monetary TO 'C';
SET
jpargudo=# select '1000'::money;
money
-----------
$1,000.00
(1 ligne)
jpargudo=# set lc_monetary TO 'fr_FR.UTF8';
SET
jpargudo=# select '1000'::money;
money
-------------
€1 000,00
(1 ligne)
Notez l'espace en tant que séparateur de milliers, et la virgule comme
séparateur décimal pour l'euro, en lieu et place de la virgule et point,
respectivement, pour les $.
De la même façon, les clauses de tri (ORDER BY) se font selon ces mêmes
normes.
À noter que vous ne pouvez changer (et à plusieurs niveau: pour toutes
les bases PostgreSQL d'un serveur, pour une base de données
particulière, pour un utilisateur particulier et pour une transaction
donnée), que les paramètres suivants:
lc_messages (comment le serveur communique: messages logs, user)
lc_monetary (expression des monétaires)
lc_numeric (expression des numériques)
lc_time (expression du temps)
En revanche, deux ne sont jamais modifiables, et dépendent de
l'«initdb», soit:
lc_collate
lc_ctype
...ce qui peux être problématique dans certains cas...
Cordialement,
--
Jean-Paul Argudo
www.dalibo.com
www.PostgreSQLFr.org
Home |
Main Index |
Thread Index