Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
suite à une réparation système, je ne peux plus lancer mon serveur pg8.2 sous windows XP pro. J'ai re-créé un compte postgres qui n'existait plus.
Lorsque je veux lancer le service depuis le contrôleur de services (services.msc.exe), le service commence à démarrer puis j'ai le mesage d'erreur suivant:
Le service pgsql 8.2 a démarré puis s'est arrêté. Certains services peuvent s'arrêter automatiquement s'ils n'ont aucune tâche à effectuer [...].
Lorsque je lance le serveur en ligne de commande par pg_ctl, j'ai l'erreur suivante:
could not write to file "global\config_exec_params.new": permission denied
(j'ai pourtant vérifié les droits en lecture/écriture sur ce fichier pour le compte postgres)
Pouvez-vous m'aider?
Merci
G.
Hors ligne
Le répertoire global existe bien ? il a les bons droits ? à mon avis, il va falloir vérifier que le contenu de c:\program files\postgresql\8.2\data soit bien complet et avec les bons droits.
Guillaume.
Hors ligne
Merci pour votre réponse;
Comment savoir si tous les composants sont présents?
Je vais essayer en accordant les droits lecture/écriture à l'intérieur du dossier data, pour l'utilisateur postgres.
G.
Hors ligne
Il n'y a pas vraiment de moyen. Il faut lancer PostgreSQL et ce dernier se plaindra dans son fichier de traces si quelque chose manque.
Guillaume.
Hors ligne
Tu peux peut être faire une sauvegarde tes bases et fait une réinstallation ?
Hors ligne
Comment faire une sauvegarde si mon serveur ne se lance pas?
Est-il possible de réinstaller un serveur sur un répertoire data déjà existant (sans passer par un dump par exemple)?
Hors ligne
Si le serveur est arrêté, il n'est pas possible d'utiliser pg_dump. Par contre, il est possible de sauvegarder les fichiers sur le disque.
Guillaume.
Hors ligne
Si le serveur est arrêté, il n'est pas possible d'utiliser pg_dump. Par contre, il est possible de sauvegarder les fichiers sur le disque.
D'où ma question:
Est-il possible de réinstaller un serveur sur un répertoire data déjà existant (sans passer par un dump par exemple)?
Merci d'avance
G.
Hors ligne
Si le répertoire contient déjà des données, ces dernières seront soit écrasées soit ignorées. De toute façon, le seul état final possible est de redémarrer avec toutes les données de l'ancien serveur. Autrement dit, il n'est pas possible de copier seulement une base ou une table. Les journaux de transactions doivent aussi être recopiés.
Donc possible, mais avec un moteur arrêté et pour le cluster complet.
Guillaume.
Hors ligne
Euh... je commence à être perdu. En fait je veux savoir si je peux récupérer mes données même si je n'arrive pas à relancer mon serveur, c'est-à-dire en faisant une nouvelle installation. Ceci est possible grâce aux journaux de transaction?
Hors ligne
Si vous voulez les récupérer sur un autre serveur PostgreSQL, vous copiez tout le répertoire des données de PostgreSQL (comprenant entre autres les fichiers de données et les journaux de transactions) sur un autre serveur disposant de PostgreSQL (même version stable). Il faut ensuite s'assurer que le propriétaire des fichiers est bien l'utilisateur postgres et qu'il est bien le seul à avoir le droit de lire et écrire dans ces fichiers. Et cela devrait fonctionner.
Guillaume.
Hors ligne
cool, c'est ce que je voulais entendre (lire) !!
Je teste et vous tiens au courant.
Merci,
G.
Hors ligne
Au passage, il n'y avait pas de tablespace dans la base postgres ? sinon ca peut devenir un peu bizarre après une sauvegarde/restauration , à cause des reparse points windows. Ca n'empechera pas la manoeuvre, mais si c'est le cas, merci de le dire, histoire qu'on avise sur quoi faire ensuite ...
Marc.
Hors ligne
Au final, j'ai essayé de réinstaller un serveur 8.3, sans succès. J'ai laissé tomber, soit ils formateront l'ordi, soit ils installeront le serveur sur un autre poste... ce n'est plus de mon ressort, je faisais cette assistance gracieusement mais là j'ai estimé que je pouvais m'arrêter.
Mais je veux quand même bien savoir ce que sont les tablespace et les reparse points
Merci en tout cas.
G.
Hors ligne
Un tablespace dans postgres, c'est un espace de stockage (des tables et index). Ca permet de répartir les données dans plusieurs systèmes de fichiers différents.
Les reparse points, c'est l'équivalent windows des liens symboliques unix (un fichier ou répertoire qui pointe vers un autre fichier ou répertoire). Le problème étant que les reparse points windows sont beaucoup moins bien intégrés que les liens symboliques unix : il y a peu de logiciels de sauvegardes qui les gèrent correctement (je n'ai trouvé que ntbackup qui ne se plante pas)
Marc.
Hors ligne
Pages : 1