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 09/02/2011 17:52:16

genio
Membre

message de ma log

Bonsoir...
Ma log 'vomit' toutes les 5 secondes environ, des messages de type :
2011-02-09 16:29:05 CET;DatabaseA;WARNING:  nonstandard use of \' in a string literal at character 1075
2011-02-09 16:29:05 CET;DatabaseA;HINT:  Use '' to write quotes in strings, or use the escape string syntax (E'...').

ce midi alors qu'il n'y avait pas de transaction active (toutes en IDLE) sur le serveur, la log continuait à cracher ces deux lignes...

Qu'est-ce que cela peut bien vouloir dire ?

Avec vous une idée ?

Hors ligne

#2 09/02/2011 17:56:29

Marc Cousin
Membre

Re : message de ma log

C'est lié à 'escape_string_warning'
http://docs.postgresql.fr/9.0/runtime-c … tible.html


Marc.

Hors ligne

#3 09/02/2011 18:20:35

genio
Membre

Re : message de ma log

Merci je vais le escape_string_warning à off  ...
mais ce que je n'arrive pas à comprendre c'est qu'il crache quand même alors qu'apparemment, il n'y a pas de thread actifs ...

Bizarre hein ?

Hors ligne

#4 09/02/2011 18:21:27

Marc Cousin
Membre

Re : message de ma log

Non, c'est que les threads sont actifs, mais que vous ne le voyez pas. Les requêtes les plus courtes durent habituellement dans les 20µs. Vous ne les verrez jamais se produire.


Marc.

Hors ligne

#5 09/02/2011 18:29:45

genio
Membre

Re : message de ma log

Merci Marc...

Hors ligne

#6 10/02/2011 12:31:18

genio
Membre

Re : message de ma log

Bonjour à tous...
j'ai aussi ce genre de message dans ma log :
2011-02-10 11:19:01 CET;databaseA;ERROR:  character 0xe38090 of encoding "UTF8" has no equivalent in "LATIN1"
2011-02-10 11:19:01 CET;databaseA;ERROR:  character 0xe282ac of encoding "UTF8" has no equivalent in "LATIN1"
2011-02-10 11:19:02 CET;databaseA;ERROR:  character 0xe2808f of encoding "UTF8" has no equivalent in "LATIN1"
2011-02-10 11:19:02 CET;databaseA;ERROR:  character 0xc593 of encoding "UTF8" has no equivalent in "LATIN1"
Qu'est-ce que cela veut dire et comment trouver l'encodage de ma database (j'ai recherché sur postgrès.conf et je n'ai pas trouvé, à part les lc_messages, lc_monetary, lc_numeric et lc_time qui ont la valeur : en_US.UTF-8)..
Pouvez-vous m'expliquer ?

Hors ligne

#7 10/02/2011 12:46:17

Marc Cousin
Membre

Re : message de ma log

Il suffit de faire psql -l pour obtenir la liste des bases et de leur encoding. C'est aussi affiché dans les propriétés de la base, dans pgadmin.


Marc.

Hors ligne

#8 10/02/2011 16:46:45

genio
Membre

Re : message de ma log

Merci Marc...
effectivement ma base est encodée en  'LATIN1'...

N'aurait-il pas été plus judicieux par exemple de créer la database en LATIN9 (LATIN1 avec euro et les accents !) ?
car visiblement elle n'arrive pas à comprendre tous les caractères du client...
Comment puis-je voir ce que veut dire : 0xe38090 ?

Merci d'avance...

Hors ligne

#9 10/02/2011 16:49:50

gleu
Administrateur

Re : message de ma log

Tout dépend de votre système. Si ce dernier n'a pas le support de l'encodage latin9, vous ne pouvez pas le faire. De toute façon, le mieux reste UTF-8.


Guillaume.

Hors ligne

#10 10/02/2011 16:59:26

Marc Cousin
Membre

Re : message de ma log

Le plus efficace aurait été de créer la base en UTF8. Comme ça pas de risque de ne pas pouvoir stocker quelque chose dans la base.



Sinon le caractère unicode représenté, je n'ai pas réussi à trouver ce que ça peut bien être. On dirait un caractère réservé mais non alloué pour le moment. Bref ça sent le bug côté client (de toutes façons c'est souvent louche quand il y a plus de deux octets, pour une langue européenne).


Marc.

Hors ligne

Pied de page des forums