2009-02-09 8 views
3

J'ai un problème très étrange avec mon application, parfois je reçois erreur suivante lors de la connexion à postgres. Cela arrive sans aucun schéma, arrive souvent lorsque je fais des tests de sélénium étendus.Problèmes de connexion PostgreSQL

Attention: pg_connect() [function.pg-connect]: Impossible de se connecter au serveur PostgreSQL: le serveur a fermé la connexion de manière inattendue Cela signifie probablement que le serveur s'est arrêté anormalement avant ou pendant le traitement de la requête.

Les journaux Postgres ne présentent aucune anomalie. Les autres applications exécutées sur la même instance postgres ne présentent aucun problème.

Mon Postgres est 8.2.9, en cours d'exécution sur Windows 2008 serveur

Tous les conseils?

+1

Veuillez marquer correctement vos questions. –

Répondre

0

Une estimation aléatoire. Utilisez-vous des connexions persistantes?

+0

Le problème semble être aléatoire;), j'utilise 'pg_connect', pas pg_pconnect donc je crois que la connexion n'est pas persistante – CountZero

+0

Quel est le délai de connexion défini? Vos demandes nécessitent-elles des opérations plus longues que les applications qui n'ont aucun problème? – duffymo

+0

Mes demandes ne sont pas différentes de la demande d'une autre application, demandes de page Web standard. En ce qui concerne le délai d'attente de connexion, je ne le définis pas explicitement. J'ai regardé dans le fichier de configuration de postgres et n'y vois aucun paramètre de délai, je ne sais pas où le chercher – CountZero

1

"Le serveur a fermé la connexion de manière inattendue" la plupart du temps signifie que le backend s'est bloqué. Si c'est le cas, il devrait y avoir quelques lignes dans le journal du serveur.

Et en passant la dernière version dans la branche 8.2 est 8.2.12. Mettre à niveau, tester, signaler.

+0

Le serveur ne plante pas. Il exécute d'autres applications et ne signale pas les plantages, les logs sont également propres. Je suis absolument désemparé. – CountZero

0

Vous montrez seulement l'erreur du client. Comme cela signifie que quelque chose s'est passé dans le backend, vous devrez rechercher dans les journaux de votre serveur ce qui s'est réellement passé. (Les journaux postgres et/ou le journal des événements - vérifiez les deux)

Une raison typique pour que ces choses se produisent est si vous exécutez un logiciel antivirus sur le serveur. Si c'est le cas, essayez de le désinstaller (pas seulement de le désactiver) et de voir si le problème disparaît.