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 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… smile


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

Pied de page des forums