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 16/10/2009 13:48:22

casasniper
Membre

Problème de restauration de BDD postgres sous AIX 5.3

Bonjour,
J'ai fait un dump (sauvegarde) d'une base de donnée postgres sous linux Centos et j'ai essayé de la restaurer sous la machine AIX 5.3 mais sans succès, voici comment j'ai procédé :

1) Avec PgAdmin.
Restauration de la base postgres sous aix avec l'utilitaire PgAdmin :
-> Après 4heures de la procédure de restauration le programme PgAdmin plante

2) Avec Webmin
Restauration de la base de donnée postgres sous aix avec l'interface d'administration Webmin déjà installé sous AIX.
->Après 1heure de la procédure de restauration j'ai eu le message d'erreur suivant :

Encodage de forme spécifique de donnée attendu mais obtention d'un encodage normal

S'il vous plaît quelqu'un peut me dire ce que cela veut dire ?

Sachant que l'encodage de ma base de donnée est en UTF-8.

Voici l'encoding de mes machines Linux et AIX :


Linux:
# locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=


AIX:
# locale
LANG=FR_FR.UTF-8
LC_COLLATE="FR_FR.UTF-8"
LC_CTYPE="FR_FR.UTF-8"
LC_MONETARY="FR_FR.UTF-8"
LC_NUMERIC="FR_FR.UTF-8"
LC_TIME="FR_FR.UTF-8"
LC_MESSAGES="FR_FR.UTF-8"
LC_ALL=FR_FR.UTF-8

Merci

Hors ligne

#2 16/10/2009 14:23:01

Marc Cousin
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

Le mieux pour avoir le vrai message d'erreur serait d'essayer de restaurer avec psql si le dump est en format plain, ou pg_restore, si c'est un format tar ou custom.


Marc.

Hors ligne

#3 16/10/2009 16:01:15

casasniper
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

Bonjour,

Merci "Marc Cousin"  pour votre réponse.

Voici le message d'erreur que j'ai eu quand je lance le restore à partir de psql :

psql:/var/prog/13Octobre2009.backup:5906: invalid command \}¤Op^w,8@/eًiأُك=B(َيصخ@­~ع'Gب,ٍ5ْP؛ٌ~M|uِض
psql:/var/prog/13Octobre2009.backup:5911: \q: extra argument "َن؛" ignored
psql:/var/prog/13Octobre2009.backup:5911: ERROR:  invalid byte sequence for encoding "UTF8": 0xaa
HINT:  This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".

Que dois je faire par la suite svp ?

Hors ligne

#4 16/10/2009 16:10:03

Marc Cousin
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

le fichier .backup a été généré comment ? ça ressemble à un export au format custom ou tar…


Marc.

Hors ligne

#5 16/10/2009 16:29:55

casasniper
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

Le fichier 13Octobre2009.backup a été généré par PgAdminIII sous windows.

Sous PgAdminIII j'ai fait bouton droit sur ma base de donnée puis sauvegarder

Hors ligne

#6 16/10/2009 16:40:53

Marc Cousin
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

Ok, donc par défaut c'est un format 'compress'. Ca se restaure donc avec la commade pg_restore

http://docs.postgresql.fr/8.4/app-pgrestore.html

(il y a des exemples à la fin de la page)

Dernière modification par Marc Cousin (16/10/2009 16:41:45)


Marc.

Hors ligne

#7 20/10/2009 17:11:34

casasniper
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

J'ai lancé le pg_restore de cette façon :
/usr/local/pgsql/bin/pg_restore  /var/prog/13Octobre2009.backup -d mabase -U toto

et à la fin de la restauration qui a pris beaucoup de temps j'ai ce message :


--
-- Name: public; Type: ACL; Schema: -; Owner: toto
--

REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO PUBLIC;


--
-- PostgreSQL database dump complete
--

Ma question pourquoi j'ai lancé la commande pg_restore et à la fin j'ai un message comme si j'ai lancé un dump, sachant que ma base n'a pas été restauré ?

Dernière modification par casasniper (20/10/2009 17:11:56)

Hors ligne

#8 20/10/2009 18:16:25

Marc Cousin
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

Aucun autre message avant ?


Marc.

Hors ligne

#9 20/10/2009 18:48:34

casasniper
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

Si se sont des ALTER mais je n'ai pas tout noté, tout ce que j'ai noté c'est ça :

--
-- Name: fkey; Type: FK CONSTRAINT; Schema: schema; Owner: toto
--

ALTER TABLE ONLY trace_correction_detail
    ADD CONSTRAINT fkey FOREIGN KEY (tc_id) REFERENCES trace_correction(tc_id);


--
-- Name: public; Type: ACL; Schema: -; Owner: toto
--

REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO PUBLIC;


--
-- PostgreSQL database dump complete
--


Je viens de lancer une autre commande pg_restore comme suite et j'ai eu le message d'erreur suivant:
/usr/local/pgsql/bin/pg_restore -i -h aixserver -p 5432 -U toto -d mabase -v "/var/prog/13Octobre2009.backup"


le message d'erreur :
.
.
.
pg_restore: setting owner and privileges for INDEX index_associe
pg_restore: setting owner and privileges for INDEX index_bilan2_bilid
pg_restore: setting owner and privileges for INDEX index_bilid
pg_restore: setting owner and privileges for INDEX index_dirigeant
pg_restore: setting owner and privileges for INDEX index_entreprise
pg_restore: setting owner and privileges for INDEX index_historique_dirigeant
pg_restore: setting owner and privileges for INDEX index_historique_entreprise
pg_restore: setting owner and privileges for INDEX index_mvt_associe
pg_restore: setting owner and privileges for INDEX index_photo_associe
pg_restore: setting owner and privileges for INDEX index_photo_dirigeant
pg_restore: setting owner and privileges for INDEX index_photo_entreprise
pg_restore: setting owner and privileges for INDEX index_ratios_sectoriel
pg_restore: setting owner and privileges for FK CONSTRAINT F_REFERENCE_ANNONC
pg_restore: setting owner and privileges for FK CONSTRAINT fkey
WARNING: errors ignored on restore: 269

Merci d'avance pour ton soutien

Dernière modification par casasniper (20/10/2009 19:06:22)

Hors ligne

#10 20/10/2009 19:13:05

Marc Cousin
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

Peux tu recommencer la restauration avec un -e, qu'on ait le premier message d'erreur, et copier coller tous ce que retourne la commande ?


Marc.

Hors ligne

#11 20/10/2009 19:58:16

gleu
Administrateur

Re : Problème de restauration de BDD postgres sous AIX 5.3

Quand on ne donne que le nom du backup (et donc pas l'option -d avec le nom de la base), on obtient le script SQL. Donc j'ai un doute sur ce que vous avez exécuté réellement. S'il vous envoie sur la sortie standard le script SQL correspondant à la sauvegarde, c'est que vous n'avez pas spécifié le « -d mabase ».

Quant aux messages du type « pg_restore: setting owner and privileges for INDEX index_associe », ce ne sont pas des messages d'erreur. C'est juste la progression du travail de pg_restore. Par contre, il vous indique bien 269 erreurs pour la restauration. Mais on ne sait toujours pas sur quoi...


Guillaume.

Hors ligne

#12 21/10/2009 16:48:38

casasniper
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

Bonjour,

Après vérification sur la source du waring que j'ai annoncé précédemment dont je rappel son contenu c'était à cause de l'espace disque qui a atteint le 100% :

le message d'erreur :
.
.
.
pg_restore: setting owner and privileges for INDEX index_associe
pg_restore: setting owner and privileges for INDEX index_bilan2_bilid
pg_restore: setting owner and privileges for INDEX index_bilid
pg_restore: setting owner and privileges for INDEX index_dirigeant
pg_restore: setting owner and privileges for INDEX index_entreprise
pg_restore: setting owner and privileges for INDEX index_historique_dirigeant
pg_restore: setting owner and privileges for INDEX index_historique_entreprise
pg_restore: setting owner and privileges for INDEX index_mvt_associe
pg_restore: setting owner and privileges for INDEX index_photo_associe
pg_restore: setting owner and privileges for INDEX index_photo_dirigeant
pg_restore: setting owner and privileges for INDEX index_photo_entreprise
pg_restore: setting owner and privileges for INDEX index_ratios_sectoriel
pg_restore: setting owner and privileges for FK CONSTRAINT F_REFERENCE_ANNONC
pg_restore: setting owner and privileges for FK CONSTRAINT fkey
WARNING: errors ignored on restore: 269

Bref, après l’augmentation de l’espace disque de la partition /var  j'ai retapé la même commande c'est à dire :
/usr/local/pgsql/bin/pg_restore -i -h aixserver -p 5432 -U toto -d mabase -v "/var/prog/13Octobre2009.backup"
Et la restauration s'est bien passé sans aucun problème ou message d'erreur.

Ma seule remarque c'était pourquoi je n'avais pas un message à la fin de la restauration me disant que : PostgreSQL database restore complete par exemple

Ce que j'avais à la fin de la restauration c'est le prompt # comme suite :

pg_restore: setting owner and privileges for INDEX index_photo_associe
pg_restore: setting owner and privileges for INDEX index_photo_dirigeant
pg_restore: setting owner and privileges for INDEX index_photo_entreprise
pg_restore: setting owner and privileges for INDEX index_ratios_sectoriel
pg_restore: setting owner and privileges for FK CONSTRAINT F_REFERENCE_ANNONC
pg_restore: setting owner and privileges for FK CONSTRAINT fkey
#
#

Je me suis dis que peut être ils avaient des messages d'erreurs mais postgres les a camouflé et c'est par la suite que j'ai relancé une autre restauration avec pg_restore en ajoutant l'option -e comme "Marc Cousin" m'a demandé de faire pour afficher les messages d'erreurs

Voici la commande pg_restore que j'ai utilisé:
/usr/local/pgsql/bin/pg_restore -i -e -h aixserver -p 5432 -U toto -d mabase -v "/var/prog/13Octobre2009.backup"

La restauration s'est bien passé sans aucun problème ou message d'erreur avec l'affichage du prompt # à la fin de la restauration.

Et pour me rassurer encore plus j'ai fait un dump (sauvegarde) de la base que je viens de restaurer pour voir si tout se passera bien avec la commande suivante :
/usr/local/pgsql/bin/pg_dump -i -h aixserver  -p 5432 -U postgres -F c -b -v mabase > /var/prog/21Octobre2009AIX.backup

Le dump aussi s'est bien passé sans erreurs avec l'affichage du prompt # à la fin du dump comme suite :
pg_dump: dumping contents of table ufs
pg_dump: dumping contents of table uniforme
pg_dump: dumping contents of table utilisateur
pg_dump: dumping contents of table visiteur
pg_dump: dumping contents of table client
#
#


Ma question est ce que c'est normale que le pg_dump et pg_restore n'affichent pas les message de fin de traitement c'est à dire :
PostgreSQL database restore complete
ou
PostgreSQL database dump complete ?

Dernière modification par casasniper (21/10/2009 16:50:35)

Hors ligne

#13 21/10/2009 19:03:08

gleu
Administrateur

Re : Problème de restauration de BDD postgres sous AIX 5.3

Oui, c'est normal. Normal dans le sens où pg_dump et pg_restore n'affichent pas de message de fin de traitement. Si aucune erreur n'a été affichée, c'est que l'opération a réussi.

Vous pouvez aussi faire un « echo $? » sous Linux. Cela affichera 0 s'il n'y a pas eu d'erreurs.


Guillaume.

Hors ligne

#14 22/10/2009 17:18:21

casasniper
Membre

Re : Problème de restauration de BDD postgres sous AIX 5.3

Merci pour vos réponse je suis rassuré maintenant

Hors ligne

Pied de page des forums