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 06/07/2010 12:06:59

gngassam
Membre

pgbouncer datestyle

bonjour,

j'ai un soucis avec pgbouncer: le datestyle par defaut de mon serveur postgresql 8.4 est ISO, Europeen. en connexion directe sur le port de postgresql (sans pgbouncer) j'ai la bonne date. cependant, lorsque je passe en connexion via pgbouncer, j'ai la date de toute mes base au format americain (MDY). Le date style change.

J'ai l'impression que pgbouncer impose son datestyle (ISO).

Comment faire pour le changer?

Merci d'avance

ps: je suis sous linux, redhat.

Dernière modification par gngassam (06/07/2010 12:07:38)

Hors ligne

#2 06/07/2010 14:16:01

Marc Cousin
Membre

Re : pgbouncer datestyle

Le datestyle n'est pas forcé dans la configuration de pgbouncer ?

C'est un des principaux exemples donnés dans la doc : http://pgbouncer.projects.postgresql.or … onfig.html


Marc.

Hors ligne

#3 06/07/2010 15:55:13

gngassam
Membre

Re : pgbouncer datestyle

Si , cependant dans la doc on donne comme exemple "datestyle=ISO", or je souhaiterai plutot avoir un format ISO, European. Le soucis est que le datestyle diffère selon que je me connecte via le port pgbouncer ou directement sur le port d'une instance postgresql pour une meme base de données.

Hors ligne

#4 06/07/2010 16:15:52

Marc Cousin
Membre

Re : pgbouncer datestyle

Quel datestyle avez vous positionné dans la conf de pgbouncer ?

Dans la doc, ils donnent un exemple. rien ne vous interdit de positionner datestyle à ce que vous voulez.


Marc.

Hors ligne

#5 06/07/2010 17:24:42

gngassam
Membre

Re : pgbouncer datestyle

datestyle=ISO, ce pendant quant je change datestyle=ISO,European (ex:  mydb= host=10.1.132.39 dbname=mydb port=5436 datestyle=ISO,European), ca ne change pas en base. Je me demande si c'est la bonne notation?

Dernière modification par gngassam (06/07/2010 17:28:10)

Hors ligne

#6 06/07/2010 17:40:17

Marc Cousin
Membre

Re : pgbouncer datestyle

datestyle=ISO n'est pas pris en compte non plus ?


Marc.

Hors ligne

#7 06/07/2010 18:07:51

gngassam
Membre

Re : pgbouncer datestyle

c'est la valeur par defaut quant je me connecte à la base par le port de pgbouncer.

Hors ligne

#8 06/07/2010 18:16:52

Marc Cousin
Membre

Re : pgbouncer datestyle

Ce n'est pas ce que vous dites dans le premier post. Vous dites que les bases sont en MDY. Pouvez vous reexpliquer l'ensemble ?


Marc.

Hors ligne

#9 06/07/2010 22:58:14

gngassam
Membre

Re : pgbouncer datestyle

si, juste que:

Il sagissait de faire une migration du serveur de production (postgresql 8.1.15 sur redhat el5 linux). Le temps de reprise d'activité accordé était de 5mn (perte de données à 0%). Cependant une migration complète des bases de prod m'aurait pris pas moins de 4 heures.

Alors, j'ai dumpé les bases 8.1.15, et je les ai restaurées sur un serveur de PRA en 8.4.

J'ai ensuite configurer pgbouncer sur le serveur de prod en utilisant le port de l'ancienne 8.1.15 (5436) en le redirigent vers le serveur de PRA (8.4). Ma durée d'indisponibilité a ainsi pris le temps de stopper l'instance 8.1.15 et de démarrer pgbouncer (soit 1mn). Ainsi je n'ai pas été forcé de reparamétrer et de recompiler mes applis.

Au final, j'ai pu reinstaller en toute quietude la 8.4 en prod et le mettre a jour avec slony (master: serveur de PRA, slave:serveur de prod), et ensuite j'ai fait la bascule en prod (en arretant pgbouncer, et desactivant slony), ceci sans toucher à mes applis, la restauration de plusieurs centaines de GIGA de données a donc semblé prendre 3mn (au vu des utilisateurs).

OK, maintenant que tout est claire le soucis qu'ont rencontré les applis pendant que pgbouncer était actif (sur la prod), est que, lorsque je me connectais sur la prod, donc à partir du port de pgbouncer (comme le font les applis), j'avais un problème d'INSERT des dates (incompatibilité de format). Show datestyle me donnait ISO,MDY, et à partir du serveur de PRA(configuré en ISO,European) SHOW datestyle me donnait ISO,DMY. Pourquoi ces différences pour une meme base?  sachant que le datestyle de pgbouncer était ISO (je ne sais pas comment en configurer d'autre)?

Voila Marc,

c'est important pour moi de comprendre vu que j'ai quatre autre migration à faire!

Hors ligne

#10 07/07/2010 16:04:23

Marc Cousin
Membre

Re : pgbouncer datestyle

Je viens de tenter de reproduire ce problème sans succès. Je n'ai jamais eu MDY, sauf à le forcer explicitement.

Si tu veux éviter tout problème, tu peux toujours forcer datestyle=ISO,DMY dans la ligne de déclaration de base dans pgbouncer.


Marc.

Hors ligne

#11 07/07/2010 21:18:52

gngassam
Membre

Re : pgbouncer datestyle

Merci marc,

peut etre est-ce parceque j'ai modifié le datestyle dans le postgresql.conf et que j'ai reloadé la conf de postgresql sans relancer pgbouncer. Qu'en pense tu, pgbouncer a t'il besoin d'être redémarré pour prendre en compte la nouvelle conf de postgresql?

je ne peux pas faire ces essais en prod.

Hors ligne

#12 08/07/2010 08:43:24

Marc Cousin
Membre

Re : pgbouncer datestyle

Très possible : je ne pense pas que le reload modifie le datestyle des sessions déjà montées. Ce qui entraîne que les sessions que pgbouncer a déjà dans son pool garderaient leur paramétrage.


Marc.

Hors ligne

#13 08/07/2010 10:05:09

gngassam
Membre

Re : pgbouncer datestyle

Ok, merci marc,

je fais un ticket à l'exploit pour le redémarrage de pgbouncer et je te tiens informé.

Hors ligne

#14 08/07/2010 15:45:20

gngassam
Membre

Re : pgbouncer datestyle

Marc,

c'était tout à fait ca, après avoir redémarré pgbouncer, il a effectivement récupéré les paramètres de postgresql.

Merci pour ta réactivité.

Hors ligne

Pied de page des forums