Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 07/09/2009 22:53:24
- philippen
- Membre
postgresql ne fonctionne plus
bonsoir
je suis sous ubuntu9.04 et je n'ai plus accès à mes données ni avec pgadmin ni avec phppgadmin
postgresql-8.3-main.log dit ceci :
2009-09-06 22:16:55 CEST LOG: paquet de démarrage incomplet
2009-09-06 22:16:55 CEST LOG: a reçu une demande d'arrêt rapide
2009-09-06 22:16:55 CEST LOG: annulation des transactions actives
2009-09-06 22:16:55 CEST LOG: arrêt du processus autovacuum
2009-09-06 22:16:55 CEST LOG: arrêt en cours
2009-09-06 22:16:56 CEST LOG: le système de base de données est arrêté
2009-09-07 21:01:18 CEST LOG: n'a pas pu charger le fichier du certificat racine « root.crt » : aucun code d'erreur SSL rapporté
2009-09-07 21:01:18 CEST DÉTAIL: Ne vérifiera pas les certificats du client.
2009-09-07 21:01:18 CEST LOG: le système de bases de données a été arrêté à 2009-09-06 22:16:56 CEST
2009-09-07 21:01:18 CEST LOG: paquet de démarrage incomplet
2009-09-07 21:01:18 CEST LOG: lancement du processus autovacuum
2009-09-07 21:01:18 CEST LOG: le système de bases de données est prêt pour accepter les connexions
2009-09-07 21:47:22 CEST LOG: paquet de démarrage incomplet
2009-09-07 21:47:22 CEST LOG: a reçu une demande d'arrêt rapide
2009-09-07 21:47:22 CEST LOG: annulation des transactions actives
2009-09-07 21:47:22 CEST LOG: arrêt du processus autovacuum
2009-09-07 21:47:22 CEST LOG: arrêt en cours
2009-09-07 21:47:22 CEST LOG: le système de base de données est arrêté
2009-09-07 21:53:52 CEST LOG: n'a pas pu charger le fichier du certificat racine « root.crt » : aucun code d'erreur SSL rapporté
2009-09-07 21:53:52 CEST DÉTAIL: Ne vérifiera pas les certificats du client.
2009-09-07 21:53:52 CEST LOG: le système de bases de données a été arrêté à 2009-09-07 21:47:22 CEST
2009-09-07 21:53:52 CEST LOG: paquet de démarrage incomplet
2009-09-07 21:53:52 CEST LOG: lancement du processus autovacuum
2009-09-07 21:53:52 CEST LOG: le système de bases de données est prêt pour accepter les connexions
Merci de votre aide.
Hors ligne
#2 08/09/2009 07:24:40
- Marc Cousin
- Membre
Re : postgresql ne fonctionne plus
Donc à priori la base est démarrée et fonctionne bien.
Y a t'il d'autres messages d'erreur ?
Marc.
Hors ligne
#3 08/09/2009 07:29:23
- gleu
- Administrateur
Re : postgresql ne fonctionne plus
Il n'y a aucun message d'erreur là-dedans. Juste des informations indiquant que le système démarre, et quelques temps après qu'il s'arrête.
Guillaume.
Hors ligne
#4 08/09/2009 19:52:49
- philippen
- Membre
Re : postgresql ne fonctionne plus
j'ai lu qu'il y a un paquet incomplet au démarrage
j'ai fait le tour des paquets installés (entre autres)
postgresql 8.3.7-1
postgresql-client-8.3
postgresql-common
postgresql-8.3
et dans la catégorie "non-installés"
postgresql-server-dev-8
qu'en pensez-vous ?
merci
Hors ligne
#5 08/09/2009 20:34:24
- Marc Cousin
- Membre
Re : postgresql ne fonctionne plus
Un paquet incomplet, il s'agit de paquet réseau et c'est un message habituel sous postgres et sans importance.
Quel est le message d'erreur lors de la connexion ?
Marc.
Hors ligne
#6 08/09/2009 20:50:39
- philippen
- Membre
Re : postgresql ne fonctionne plus
server doesn't listen
the server doesn't accept connections : the connection library reports
could not connect to server : connexion terminée par expiration du délai d'attente. Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432 ?
If you encounter this message please check if the server you're trying to contact is actually running Postgresql on the given port. Test if you have network connectivity from your client to the server host using ping or equivalent tools. Is your network /VPN/SSH tunnel / firewall configured correctly ?
suivent quelques conseils ou informations
A priori je n'ai touché à rien dans la config.
mais j'ai enlevé les paquets mysql sur la machine (à priori pas de lien mais va savoir)
Hors ligne
#7 08/09/2009 22:25:46
- Marc Cousin
- Membre
Re : postgresql ne fonctionne plus
Bizarre le fait qu'il parle de session qui part en timeout… pour commencer, est ce que postgres écoute sur son port ? De ce que je vois c'est un linux, ce qui va donc nous intéresser c'est le résultat de ces deux commandes (passées en tant que root)
* netstat -anpt (pour vérifier si postgres écoute)
* iptables -L -n (pour vérifier qu'il n'y a pas de règle de firewall)
Marc.
Hors ligne
#8 09/09/2009 09:09:25
- philippen
- Membre
Re : postgresql ne fonctionne plus
réponse netstat
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:33163 0.0.0.0:* LISTEN 2195/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2173/portmap
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3044/cupsd
tcp 0 0 0.0.0.0:55415 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2474/postgres
tcp 0 0 0.0.0.0:46815 0.0.0.0:* LISTEN 2703/rpc.mountd
tcp6 0 0 :::139 :::* LISTEN 2731/smbd
tcp6 0 0 :::445 :::* LISTEN 2731/smbd
réponse iptables
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Hors ligne
#9 09/09/2009 10:25:30
- Marc Cousin
- Membre
Re : postgresql ne fonctionne plus
Donc il faut passer "listen_adresses" à * dans le postgresql.conf. Ça n'a jamais pu marcher autrement qu'en local si la conf était comme ça.
Je te conseille la lecture de ceci : http://blog.postgresql.fr/index.php?pos … PostgreSQL
Marc.
Hors ligne
#10 09/09/2009 10:39:04
- philippen
- Membre
Re : postgresql ne fonctionne plus
oui mais je n'ai jamais cherché autre chose qu'à fonctionner en local
et actuellement cela ne fonctionne même plus en local.
je fais la modif conseillée.
Hors ligne
#11 09/09/2009 11:14:40
- philippen
- Membre
Re : postgresql ne fonctionne plus
en dé-commentant la ligne listen_adresses='localhost' j'ai retrouvé mes données.
je lis le document conseillé.
merci pour l'aide
Hors ligne
#12 09/09/2009 11:25:13
- Marc Cousin
- Membre
Re : postgresql ne fonctionne plus
En local, c'était bien via 127.0.0.1 ? parce que si c'est en local mais sur l'ip publique du serveur, ça ne marche pas.
Marc.
Hors ligne
#13 09/09/2009 21:42:43
- philippen
- Membre
Re : postgresql ne fonctionne plus
l'affaire se complique (ou alors explique la phrase : parce que si c'est sur l'IP publique....qui est un peu obscure pour moi).
d'abord les faits
nouvel allumage de l'ordinateur
plus de connexion internet
mais je peux me connecter à postgresql
si je fais
dhclient eth0
je retrouve ma connexion internet
et je perds l'accès à postgresql
dans postgresql.conf listen_addresses = 'localhost' n'est pas de-commentée.
Hors ligne
#14 09/09/2009 22:10:04
- Marc Cousin
- Membre
Re : postgresql ne fonctionne plus
le listen_addresses doit être décommenté et valoir '*'
Marc.
Hors ligne
#15 10/09/2009 11:37:47
- philippen
- Membre
Re : postgresql ne fonctionne plus
pardon, j'ai écrit le contraire de ce que j'ai fait
la ligne est bien décommentée.
Je remplace 'localhost' par '*'
Hors ligne
#16 10/09/2009 11:52:00
- philippen
- Membre
Re : postgresql ne fonctionne plus
le réglage de postgresql.conf sur listen_adresses='*' ne résout rien
toujours impossible de se connecter
réponse
server doesn't listen
could not connect to server : connexion refusée Is the server running on host "127.0.0.1" and accepting TC/IP connection on port 5432 ?
pour le port 5432 la réponse est oui
server running sur localhost : je ne saurais dire mais si la question a été posée à l'installation j'ai très certainement répondu oui.
mais il ya certainement une commande ou un fichier permettant de le vérifier.
Hors ligne
#17 10/09/2009 18:36:20
- Marc Cousin
- Membre
Re : postgresql ne fonctionne plus
maintenant que le paramètre a été changé dans postgresql.conf, pouvez vous refaire le netstat ?
Marc.
Hors ligne
#18 10/09/2009 20:15:29
- philippen
- Membre
Re : postgresql ne fonctionne plus
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
tcp 0 0 0.0.0.0:44449 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2157/portmap
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3042/cupsd
tcp 0 0 0.0.0.0:59483 0.0.0.0:* LISTEN 2179/rpc.statd
tcp 0 0 0.0.0.0:35679 0.0.0.0:* LISTEN 2680/rpc.mountd
tcp 0 0 192.168.0.10:50349 209.85.229.138:80 ESTABLISHED 5670/firefox
tcp 0 0 192.168.0.10:49581 209.85.229.103:80 ESTABLISHED 5670/firefox
tcp 0 0 192.168.0.10:45911 209.85.229.138:80 ESTABLISHED 5670/firefox
tcp 0 0 192.168.0.10:34112 209.85.229.104:80 ESTABLISHED 5670/firefox
tcp 0 0 192.168.0.10:47031 209.85.229.113:80 ESTABLISHED 5670/firefox
tcp6 0 0 :::139 :::* LISTEN 2708/smbd
tcp6 0 0 :::445 :::* LISTEN 2708/smbd
Hors ligne
#19 10/09/2009 21:01:13
- Marc Cousin
- Membre
Re : postgresql ne fonctionne plus
Postgresql ne semble pas démarré (il n'écoute plus du tout sur le réseau). Est il visible dans la liste des processus ?
Marc.
Hors ligne
#20 10/09/2009 21:22:29
- philippen
- Membre
Re : postgresql ne fonctionne plus
dans les services le serveur postgresql est lancé au démarrage
mais il n'apparait pas dans les processus
Hors ligne
#21 12/09/2009 21:17:21
- philippen
- Membre
Re : postgresql ne fonctionne plus
la commande /etc/init.d/postgresql-8.3 start
m'a ressorti l'erreur suivante
* Starting PostgreSQL 8.3 database server
* The PostgreSQL server failed to start. Please check the log output:
2009-09-12 09:53:40 CEST LOG: n'a pas pu charger le fichier du certificat racine « root.crt » : aucun code d'erreur SSL rapporté
2009-09-12 09:53:40 CEST DÉTAIL: Ne vérifiera pas les certificats du client.
2009-09-12 09:53:40 CEST FATAL: n'a pas pu créer le segment de mémoire partagée : Argument invalide
2009-09-12 09:53:40 CEST DÉTAIL: L'appel système qui a échoué était shmget(clé=5432001, taille=53796864, 03600).
2009-09-12 09:53:40 CEST ASTUCE : Cette erreur signifie habituellement que la demande de PostgreSQL pour un
segment de mémoire partagée a dépassé le paramètre SHMMAX de votre noyau.
Vous pouvez soit réduire la taille de la requête soit reconfigurer le noyau
avec un SHMMAX plus important. Pour réduire la taille de la requête
(actuellement 53796864 octets), réduisez le paramètre de shared_buffers de
PostgreSQL (actuellement 6144) et/ou le paramètre max_connections
(actuellement 13).
Si la taille de la requête est déjà petite, il est possible qu'elle soit
moindre que le paramètre SHMMIN de votre noyau, auquel cas, augmentez la
taille de la requête ou reconfigurez SHMMIN.
La documentation de PostgreSQL contient plus d'informations sur la
configuration de la mémoire partagée.
...fail!
j'ai réduit la valeur de la ligne suivante dans postgreql.conf
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------
# - Memory -
shared_buffers = 24MB
et je peux accéder à nouveau au serveur (modification de la ligne lisen_adresses='*' incluse)
merci pour la patience
Hors ligne
#22 13/09/2009 08:56:03
- Marc Cousin
- Membre
Re : postgresql ne fonctionne plus
OK. Par contre 24 Mo de shared buffers, c'est faible s'il s'agit d'un serveur de production
Marc.
Hors ligne
#23 13/09/2009 18:59:17
- philippen
- Membre
Re : postgresql ne fonctionne plus
c'est lors de votre demande de modifier la ligne listen_adresse que j'ai lu ce fichier et augmenter le shared_buffers en me disant que ma machine (2G0 de RAM, duo core 2x1,7Ghz) pouvait accepter plus.
Comme quoi quand on a des ennuis ne pas rajouter des variables supplémentaires.
Cependant, si je reviens au tout début du problème je ne comprend pas pourquoi avec la config cela a marché pendant des mois et que tout d'un coup le système s'est aperçu que listen_adresses était à localhost.
Hors ligne
#24 13/09/2009 19:51:33
- Marc Cousin
- Membre
Re : postgresql ne fonctionne plus
Comme ça après coup, ça va être difficile…
Marc.
Hors ligne
#25 13/09/2009 19:53:55
- gleu
- Administrateur
Re : postgresql ne fonctionne plus
Pour revenir deux secondes au problème de shared_buffers, il faut bien penser à augmenter le shmmax pour que Linux accepte qu'une application dispose d'autant de mémoire partagée (/proc/sys/kernel/shmmax pour la valeur actuelle, et /etc/sysconf.conf pour la configurer autrement).
Guillaume.
Hors ligne