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 04/03/2010 11:59:29

mortimer.pw
Membre

FATAL: the database system is shutting down

Bonjour,

Je travaille sur une version 8.4.2 sous Cent-OS 5.2.

Je viens de lancer la commande : pg_ctl stop et ............. failed
pg_ctl: server does not shut down

Dans le fichier de log, j'ai ces lignes :
2623 2010-03-04 10:16:25 CET 2 LOG: received smart shutdown request
2629 2010-03-04 10:16:25 CET 2 LOG: autovacuum launcher shutting down
[local] 23938 2010-03-04 10:28:21 CET /usr/local/pgsql/bin/postmaster 1 FATAL: the database system is shutting down
[local] 23943 2010-03-04 10:28:48 CET /usr/local/pgsql/bin/postmaster 1 FATAL: the database system is shutting down

J'essaye de me connecter : psql template1 : psql: FATAL: the database system is shutting down

Je fais un pg_ctl status : pg_ctl: server is running (PID: 2623)

Quelqu'un à t'il déjà rencontré ce problème ?

Que faut-il faire ?

Merci pour vos réponses.

Hors ligne

#2 04/03/2010 12:16:24

Marc Cousin
Membre

Re : FATAL: the database system is shutting down

Bonjour,
Vous avez fait une demande d'extinction propre de la base, qui n'arrive pas à se terminer. C'est très rare, et je ne pense pas qu'en trouver la cause vous intéresse particulièrement.

Le plus simple pour vous, c'est d'éteindre brutalement la base :
pg_ctl -m immediate stop
Le -m immediate tue les processus PostgreSQL.

Vous ne perdrez aucune donnée, tout étant journalisé. Le redémarrage prendra simplement quelques secondes supplémentaires, le temps que PostgreSQL réapplique les journaux en cours.


Marc.

Hors ligne

#3 04/03/2010 12:24:02

mortimer.pw
Membre

Re : FATAL: the database system is shutting down

Bonjour Marc,

J'ai fait le pg_ctl -m immediate stop, puis redémarrer le serveur. Tout va bien. Merci.

Faut-il s'inquiter ? étes-vous sûr qu'en aucun cas il n'y a de perte de données ? y-a-t'il un Bug ? la version 8.4.2 ?

Merci pour votre réponse.

Hors ligne

#4 04/03/2010 12:42:32

gleu
Administrateur

Re : FATAL: the database system is shutting down

Sans option, le « pg_ctl stop » demande un arrêt intelligent à PostgreSQL. Ce qui signifie que PostgreSQL va interdire les nouvelles connexions mais attendre gentiment que les connexions en cours s'arrêtent d'elles-même. Tant qu'elles ne le font pas, le moteur ne peut pas s'arrêter.

Généralement, le mode smart ne doit pas être utilisé. On lui préférera le mode fast (rapide). Dans ce cas, PostgreSQL coupe les connexions clients et s'arrête proprement.

Si vous utilisez le mode immediate (comme l'a proposé à tort Marc smile ), PostgreSQL coupe les connexions et s'arrête brutalement. Autrement dit, tout ce qui se trouvait modifié dans la mémoire cache de PostgreSQL n'est pas placé dans les fichiers de données. Il n'y a pas non plus de CHECKPOINT dans le journal de transactions courant. Si bien qu'au démarrage, PostgreSQL découvre l'état incohérent et va relire les journaux de transactions pour remettre d'aplomb les fichiers de données.

Tout ça pour dire que le mode smart n'est généralement pas à utiliser. Vous l'avez utilisé, ce n'est pas grave, mais ça explique pourquoi PostgreSQL n'a pas pu s'arrêter immédiatement comme vous le pensiez. Vous auriez dû faire un arrêt en mode fast pour que l'arrêt soit rapide et propre.

Bref, pour répondre simplement à vos questions :

faut-il s'inquiéter ? Non.
étes-vous sûr qu'en aucun cas il n'y a de perte de données ? Oui.
y-a-t'il un Bug ? Non.
la version 8.4.2 ? est certainement une version très stable et très performante.


Guillaume.

Hors ligne

#5 04/03/2010 12:44:30

Marc Cousin
Membre

Re : FATAL: the database system is shutting down

Aucune inquiétude à avoir. En aucun cas il n'y a perte de données. Quand PostgreSQL vous dit qu'il a commité, la donnée est dans les journaux et ne peut plus être perdue.

Habituellement ce que vous avez eu se produit parce que postgresql attend gentiment que tout ce qu'il fait se termine. Il devait y avoir une opération en cours qui le bloquait.

Par ailleurs, le mode par défaut (smart) attend que toutes les sessions se soient déconnectées avant de fermer, il suffit que vous en ayez eu une en cours pour avoir le problème. C'est d'ailleurs pour cela qu'il y a le mode fast, qui fait une extinction 'propre' mais sans attendre que les sessions se soient déconnectées.


Marc.

Hors ligne

#6 04/03/2010 12:45:34

Marc Cousin
Membre

Re : FATAL: the database system is shutting down

Il est trop rapide ce gleu smile


Marc.

Hors ligne

#7 04/03/2010 13:22:03

mortimer.pw
Membre

Re : FATAL: the database system is shutting down

Merci messieurs pour votre rapidité et les explications claires.

Hors ligne

#8 04/03/2010 16:48:41

mich30
Membre

Re : FATAL: the database system is shutting down

et bien bravo vous lui avez enlever une grosse épine aux pieds

Hors ligne

Pied de page des forums