Vous n'êtes pas identifié(e).
Pages : 1
Bonsoir à tous,
Un petit problème depuis que j'ai migré un serveur Debian de Lenny à Squeeze :
J'ai un cluster postgresql 8.3 qui est à l'état "down".
Lorsque je lance son démarrage, j'obtiens le message suivant :
Error: could not exec start -D /var/lib/postgresql/8.3/main -l /var/log/postgresql/postgresql-8.3-main.log -s -o -c config_file="/etc/postgresql/8.3/main/postgresql.conf" : Aucun fichier ou dossier de ce type
Le fichier postgresql.conf est bien-sûr toujours présent.
Si cela dit quelque-chose à quelqu'un, je vous remercie d'avance de votre aide.
Yves
Hors ligne
Bonjour,
Le répertoire data est-il toujours présent et non vide ? ( /var/lib/postgresql/8.3/main ) ? Ainsi que les binaires de postgresql 8.3 ?
Julien.
https://rjuju.github.io/
Hors ligne
bonjour,
La commande exacte est : pg_ctl start -D /var/lib/postgresql/8.3/main -l /var/log/postgresql/postgresql-8.3-main.log -s -o -c config_file="/etc/postgresql/8.3/main/postgresql.conf
C'est bien ce que vous avez fait ?
Cordialement,
Sébastien.
Hors ligne
Bonjour,
Merci à tous les deux pour vos réponses rapides.
Je ne me suis pas repenché sur le problème mais je vous tiendrai au courant ici.
Cela dit, pour répondre à Sebastien, il me semble que la commande était beaucoup plus courte du style :
pg_ctl start 8.3 postgresql ou pg_ctl start 8.3 main
Bien à vous
Yves
Hors ligne
Cela devait être pg_ctlcluster 8.3 main start.
Julien.
https://rjuju.github.io/
Hors ligne
Bonjour,
Je reviens sur ma bizarrerie Postgres
Je n'entrais peut-être pas une bonne commande l'autre jour...
Toujours est-il que maintenant si je tape :
pg_ctlcluster 8.3 main start
Message :
Error: You must run this program as the cluster owner (postgres)
Ok, donc su postgres
Mais là, si je retape la commande, toujours l'erreur :
Error: could not exec start -D /var/lib/postgresql/8.3/main -l /var/log/postgresql/postgresql-8.3-main.log -s -o -c config_file="/etc/postgresql/8.3/main/postgresql.conf" : Aucun fichier ou dossier de ce type
Le répertoire data est bien là, par contre, je ne sais pas où je suis censé trouver les binaires de postgres.
Pour Sébastien : la commande exacte me renvoit : bash: pg_ctl : commande introuvable
Par contre, si je tape :
pg_ctlcluster start -D /var/lib/postgresql/8.3/main -l /var/log/postgresql/postgresql-8.3-main.log -s -o -c config_file="/etc/postgresql/8.3/main/postgresql.conf, c'est à dire pg_ctlclsuter au lieu de pg_ctl, l'erreur renvoyée est :
Unknown option: d
Unknown option: l
Unknown option: s
Gasp... grand merci de votre aide
Hors ligne
Les binaires doivent se trouver dans "/usr/lib/postgresql/8.3/bin/". Sont-ils présents ?
Le message "Error: could not exec start -D ..." est toujours étrange, étant donné qu'il manque l'appel au binaire pg_ctl.
Julien.
https://rjuju.github.io/
Hors ligne
Bonsoir,
Les binaires semblent bien présents :
clusterdb
createdb
createlang
createuser
dropdb
droplang
dropuser
pg_dump
pg_dumpall
pg_restore
psql
reindexdb
vacuumdb
Pour la commande j'ai essayé ceci :
pg_ctlcluster start /var/lib/postgresql/8.3/main -o -c config_file="/etc/postgresql/8.3/main/postgresql.conf"
C'est à dire sans les "unknows" options
Résultat clair :
Error: specified cluster does not exist
Alors qu'il existe.
Aïe, aïe, aïe
Au pire, peut-on transférer facilement les ficher BD existant si je crée un autre cluster ?
Hors ligne
Bonjour,
dans la liste des binaires que vous fournissez, pg_ctl n'est pas présent. Est-ce un oubli ou est-il effectivement absent ?
Julien.
https://rjuju.github.io/
Hors ligne
Je crois bien en fait que les données ont disparues.
Pas super grave mais bon ..glups
Hors ligne
Bonjour,
dans la liste des binaires que vous fournissez, pg_ctl n'est pas présent. Est-ce un oubli ou est-il effectivement absent ?
Il est bien absent...
Hors ligne
C'est donc la cause de votre soucis. Réinstaller le paquet postgresql-client-8.3 devrait résoudre votre soucis, si celui-ci est encore disponible. Sinon, il reste possible de télécharger les binaires de votre version mineure depuis postgresql.org et de copier le fichier pg_ctl au bon endroit.
Julien.
https://rjuju.github.io/
Hors ligne
Merci pour le tuyau mais j'ai l'impression effectivement que trouver le bon paquet obsolète correspondant n'est pas si évident.
Je vais peut-être alors essayer de réinstaller le postgresql 8.4 correspondant à Squeeze mais je ne vois plus trop où sont les répertoires correspondant aux données elles-mêmes de la base mais bon comme je disais plus haut, si cela se trouve, c'est peut-être perdu...
Hors ligne
A tous, je vous donne l'info.
J'ai enfin réussi à créer un nouveau cluster 8.4 sur le serveur et à y accéder depuis mon poste.
Pour les débutants comme moi qui passeraient par là : fichiers mis en jeu dans le répertoire /etc/postgresql/8.4/postgres (8.4 c'est la version, postgres c'est le nom du cluster) : postgresql.conf, section listen_adresses où l'on peut mettre '*' j'imagine puisque que l'on a le filtre de sécurité de l'autre fichier de config pg_hba.conf
Je n'ai plus qu'à transférer les données car (ouf !) il semble bien y avoir des choses dans /var/lib/postgresql/8.3/main/base
Après essayer de virer la 8.3 du port 5432 et y mettre le nouveau cluster 8.4 (actuellement en 5433).
Oui ! Je suis exigeant.
En tout cas grand merci de votre aide très réactive (<24h !!!)
Yves
Hors ligne
Comment avez-vous transféré les données ? Les fichiers stockées dans /var/lib/postgresql/8.3/base ne peuvent être utilisés avec des binaires en 8.4.
Julien.
https://rjuju.github.io/
Hors ligne
Aïe, je ne l'ai pas encore fait.
Merci de votre réaction et cela signifie donc que l'on ne peut pas le faire par simple copie de fichier (glups, c'est tordu)
Hors ligne
I am having exactly the same troubles and you are the only one who shares this with me. Is somebody, please, ok with summarizing the solution for me too? Thousands of thanks!
Hors ligne
Pages : 1