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 26/04/2010 11:43:07

Olivier
Membre

Serveur muet

Bonjour,

Je suis sous debian Leny et postgres 8.3.

Mon serveur fonctionnait bien jusqu'à jeudi dernier, et depuis, sans manip de ma part celui ci est arrété et je n'ai plus de message d'erreur ni de log.
a tout hasard j'ai tenté un rboot de la machine, mais ca ne change rien.
si je fais un :

oxygene:~# /etc/init.d/postgresql-8.3 start
oxygene:~# ps aux | grep postgres
root      2370  0.0  0.0   1716   516 pts/0    S+   11:39   0:00 grep postgres
oxygene:~#

Comme vous voyez : pas de message d'erreur. J'ai beau chercher je ne trouve pas de logs.

Auriez vous une idée, une piste ?

D'avance merci pour vos lumières,
Olivier

Hors ligne

#2 26/04/2010 12:06:31

gleu
Administrateur

Re : Serveur muet

Essayer de le démarrer manuellement. Quelque chose du style :

postgres -D /var/lib/postgresql/8.3/main -c "logging_collector=off" -c "config_file=/etc/postgresql/8.3/main/postgresql.conf"

Vous devriez voir les traces directement sur la console.


Guillaume.

Hors ligne

#3 26/04/2010 12:10:53

etpaf
Membre

Re : Serveur muet

Bonjour,

Concernant les logs, je vous propose de jouer les commandes suivante :

mkdir /pghome/data/pg_log (pghome chez moi est /usr/local/pgsql)
chown postgres:postgres /pghome/data/pg_log -R

Et ajouter ceci dans la fin de votre fichier /pghome/data/postgresql.conf
#Paramètrage des logs
log_destination  = 'stderr'
redirect_stderr  = on
log_directory  = 'pg_log'
log_filename  = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age  = 1d
log_rotation_size  = 100MB
client_min_messages  = warning
log_connections  = on
log_disconnections  = on

Relancez ensuite postgres et postez le contenu du fichier qui sera dans le répertoire /pghome/data/pg_log il sera sans doute plus facile de vous répondre.

Hors ligne

#4 26/04/2010 13:50:40

Olivier
Membre

Re : Serveur muet

Merci pour cette bonne piste de recherche


Ma base n'est pas dans le répertoire par défaut, j'avais fait un :

/usr/lib/postgresql/8.3/bin/initdb -d /var/PG/DATABASES

Du coup j'ai essayé ta manip en modifiant les chemin d'accès comme ci-dessous

postgres@oxygene:/usr/lib/postgresql/8.3/bin$ ./postgres -D /var/PG/DATABASES/ -c "logging_collector=off" -c "config_file=/var/PG/DATABASES/postgresql.conf"
LOG:  database system was shut down at 2010-04-21 10:05:49 CEST
LOG:  autovacuum launcher started
LOG:  database system is ready to accept connections

Donc il semble que mon pb est que le lanceur postgres ne sait pas lancer ma base déplacée.

Avez vous une idée de ce qu'il faut que je modifie pour que le lanceur ci-dessous fonctionne ? (une variable d'environnement par ex ?)

/etc/init.d/postgresql-8.3 start

Hors ligne

#5 26/04/2010 13:58:42

gleu
Administrateur

Re : Serveur muet

Le problème n'est pas le lanceur du projet PostgreSQL, mais celui qu'impose Debian.

Je suppose que tu n'as pas fait un pg_createcluster pour créer ton cluster dans ton répertoire spécifique. Ça va te compliquer vraiment la vie (et on dit pas merci à Debian :-[ ).

Bref, les deux solutions "simples" sont :
* utiliser un autre script de démarrage
* renommer son répertoire de données, faire un pg_createcluster, puis virer le nouveau répertoire créé par le pg_createcluster pour le remplacer par son répertoire des données (sans oublier de déplacer les fichiers de configuration dans /etc/...)

Bon courage hmm


Guillaume.

Hors ligne

#6 26/04/2010 14:06:29

Olivier
Membre

Re : Serveur muet

Je te remercie.

Un nouveau script de démarrage fera bien l'affaire.

Il n'y aura que ceci :

/usr/lib/postgresql/8.3/bin/postgres -D /var/PG/DATABASES > /var/log/postgresql/postgres-main_8.3_stdout.log 2>&1 &

Sinon pour ma culture, quelle est la distrib "sans pb" pour postgres ?

Hors ligne

#7 26/04/2010 14:14:21

gleu
Administrateur

Re : Serveur muet

Debian est généralement bien mais ils ont cherché à faire trop bien, ce qui emmer^Wpose des problèmes à pas mal de gens. Personnellement, j'aime beaucoup les packages de Fedora (qu'on ne m'accuse pas de partialité, j'utilise une Ubuntu smile ).

Pour le script, je te conseille le script proposé par PostgreSQL dans les modules contrib. Pas sûr qu'il soit disponible dans le package contrib de Debian vu qu'ils en proposent un autre. Tu peux le récupérer ici :
http://git.postgresql.org/gitweb?p=post … ux;hb=HEAD


Guillaume.

Hors ligne

#8 26/04/2010 14:51:18

Marc Cousin
Membre

Re : Serveur muet

gleu, tu es injuste vis à vis de debian. Leur packaging est vraiment extrêmement pratique, même si non standard : ce qu'ils ont apporté permet de gérer de façon transparente et sans souci plusieurs clusters, dans plusieurs versions en même temps, avec le minimum d'ennuis. La seule contrainte est d'utiliser les outils fournis : pg_createcluster, pg_lscluster …

Bref, si on utilise debian, évidemment, il est préférable d'utiliser leur méthode.


Marc.

Hors ligne

#9 26/04/2010 14:54:01

gleu
Administrateur

Re : Serveur muet

Pratique mais buggé. Et ça modifie tellement le logiciel fourni que ça en devient ridicule. Je préfère de loin les packages Fedora. Mais bon, c'est mon avis perso. Chacun le sien smile


Guillaume.

Hors ligne

#10 26/04/2010 15:07:48

Olivier
Membre

Re : Serveur muet

Merci ce script est parfait !

Pour ceux qui repasseront par là, voici les params pour mon environnement :

## EDIT FROM HERE

# Installation prefix
prefix=/usr/lib/postgresql/8.3

# Data directory
PGDATA="/var/PG/DATABASES"

# Who to run the postmaster as, usually "postgres".  (NOT "root")
PGUSER=postgres

# Where to keep a log file
PGLOG="/var/log/postgresql/postgres-main_8.3_stdout.log"

Puis j'ai créé un petit alias dans mon .bashrc :


oxygene:~# alias
alias postgres='/etc/init.d/postgresql-8.3'
oxygene:~# postgres stop
Stopping PostgreSQL: pg_ctl: PID file "/var/PG/DATABASES/postmaster.pid" does not exist
Is server running?
oxygene:~# postgres start
Starting PostgreSQL: ok
oxygene:~#

Merci à etpaf pour sa solution que finalement je n'ai pas testé puisque la première m'a conduit à résoudre mon problème.
Et un grand merci à gleu.

Pour moi le sujet est clos.

Hors ligne

#11 26/04/2010 15:15:21

Marc Cousin
Membre

Re : Serveur muet

gleu : intéressante discussion. Quel(s) bug(s) rencontres tu ?


Marc.

Hors ligne

#12 26/04/2010 22:10:16

gleu
Administrateur

Re : Serveur muet

Marc : ajout une "include toto.conf" et tu verras qu'il te sera impossible de redémarrer PostgreSQL sous Debian. Fais-le sur n'importe quelle distrib et, ho, quelle surprise, ça fonctionne !


Guillaume.

Hors ligne

#13 27/04/2010 10:24:06

Marc Cousin
Membre

Re : Serveur muet

Effectivement. Je viens d'ouvrir un rapport de bug et de fournir un patch au mainteneur debian pour corriger ça. Tu aurais du te plaindre avant, plutôt que de dire du mal de Debian smile


Marc.

Hors ligne

#14 27/04/2010 10:56:57

Marc Cousin
Membre

Re : Serveur muet

En fait, le problème est déjà corrigé en squeeze (la debian testing). Le nouveau package présente aussi d'autres intérêts, comme de signaler que la machine a des disques dont le cache en écriture est activé.

Si tu as d'autres bugs à signaler, je pense que le projet Debian et le mainteneur seront très intéressés.


Marc.

Hors ligne

Pied de page des forums