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 Re : Général » pg_restore: erreur sur la modification du schéma » 09/07/2009 14:24:09

Effectivement, c'était simple mais je bloquais smile

Merci pour ta réponse. Merci en règle générale pour les posteurs réguliers ici qui répondent rapidement à toutes nos questions (même idiotes).

#2 Re : Général » pg_restore: erreur sur la modification du schéma » 09/07/2009 11:51:04

Si je fait ces opérations avec le user postgres, les objets seront créés sous le nom de postgres non ? J'aimerais bien que toute la base et ce qui la compose appartiennent au user que j'ai associé à la base. En règle générale, je n'utilise le user postgres que pour des opération d'administration.

#3 Général » pg_restore: erreur sur la modification du schéma » 09/07/2009 10:44:04

Remigio
Réponses : 4

Bonjour à tous.

Voilà le souci:

Je dispose d'une base A de prod et d'une base B de recette.Chaque jour, je souhaite alimenter la base B de recette avec les données de la base A. Je souhaite tout charger: données et objets, et effacer l'existant sur la base B.Chacune des deux bases est gérée par un user différent.

Pour cela, j'exécute une pg_dump sur la base A en utilisant l'option -O pour ne pas attribuer de droit aux objets dans les scripts:

pg_dump -f fichier.tar -F t -O -UuserA baseA

et un pg_restore sur la base B avec l'option -O pour ne pas réattribuer de droit, l'option -c pour effacer l'existant et recréer et l'option -x pour empêcher la restauration des droits d'accès.


pg_restore -dbaseB -UuserB-O -c -x fichier.tar

Mon souci, c'est que la base a été créée avec postgres avec l'option owner userB et le schéma public appartient à postgres. Et pg_restore essaye de supprimer le schéma, de le recréer et de le commenter mais userB n'a apparemment pas les droits pour le faire.

pg_restore: [programme d'archivage (db)] Erreur pendant le traitement de la TOC (« PROCESSING TOC ») :
pg_restore: [programme d'archivage (db)] Erreur à partir de l'entrée TOC 6 ; 2615 2200 SCHEMA public postgres
pg_restore: [programme d'archivage (db)] could not execute query: ERREUR:  doit être le propriétaire du schéma public
    Command was: DROP SCHEMA public;
pg_restore: [programme d'archivage (db)] could not execute query: ERREUR:  le schéma public existe déjà
    Command was: CREATE SCHEMA public;
pg_restore: [programme d'archivage (db)] Erreur à partir de l'entrée TOC 1975 ; 0 0 COMMENT SCHEMA public postgres
pg_restore: [programme d'archivage (db)] could not execute query: ERREUR:  doit étre le propriétaire du schéma public
    Command was: COMMENT ON SCHEMA public IS 'standard public schema';
ATTENTION : erreurs ignorées lors de la restauration : 3

J'ai bien fait un GRANT ALL ON SCHEMA PUBLIC TO userB, mais ça ne change rien.

Quelqu'un aurait une idée pour résoudre ce problème ou le contourner (hormis les 3 erreurs, les données s'importent très bien, tout fonctionne).


Merci

#4 Re : Général » Problème d'encodage » 30/06/2009 09:19:52

Ok merci, ça marche aussi très bien chez moi. smile

#5 Re : Général » Problème d'encodage » 29/06/2009 23:11:31

Merci gleu.

Et comment as tu procédé ? La base est encodée en UTF-8 et le client en iso8859-1 ?

#6 Re : Général » Problème d'encodage » 29/06/2009 11:54:44

Formidable Marc Cousin, ça marche parfaitement !

Et ça me parait tout à fait logique en plus big_smile

Super merci beaucoup.

#7 Re : Général » Archivage wal dans 2 répertoires » 29/06/2009 11:38:36

Dans une logique de centralisation des backup, il me semble préférable de gérer la sauvegarde via un outil tiers.

Moi j'utilise backup manager pour faire mes dumps quotidien et sauvegarder les logs etc sur un ftp distant.

#8 Re : Général » Problème d'encodage » 29/06/2009 11:35:23

Merci pour ta réponse.

C'est clair que si on suit la logique, c'est au client de s'adapter au serveur. Mais fluxbb, malgré les demandes incessantes des utilisateurs et les version qui défilent est exclusivement codé en iso8859-1 hmm
J'ai consulté différents fils pour basculer en UTF-8 mais c'est très bancal et non recommandé...

D'ailleurs, je ne sais pas comment ce forum fluxbb ici présent fonctionne, si c'est avec une base 8.3, quel encodage ...

#9 Re : Général » Problème d'encodage » 29/06/2009 10:24:38

Bonjour à tous.

Je me permets de remonter ce topic parce que je me trouve dans le même cas et je souhaiterais savoir s'il y a eu des évolutions.
J'expose un peu mieux mon souci:


Dans le passé, sur une debian, j'ai installé postgres 8.2
J'ai installé un forum fluxbb également. Mais comme celui-ci doit être encodé en iso8859-1, j'ai donc créé une base spécifique avec l'option d'encodage latin1


Hier, j'ai réinstallé mon serveur. J'ai fait un dump de ma base. J'en ai profité pour upgrader postgres et passer en version 8.3.7.
Seulement, lorsque j'essaye de créer une nouvelle base en encodage latin1 j'ai droit à la même erreur que naunau.

Mes locales sont configurées en UTF-8 (pour des raisons évidentes, j'ai pas envie d'en changer) et un show LC_CTYPE me donne  fr_FR.UTF-8


J'ai bien l'impression d'être dans une impasse. Même sans la problématique de récupération de données, je crois bien que l'installation d'un forum fluxbb est incompatible avec postgres 8.3 ...


La solution serait peut être de changer LC_CTYPE pour la mettre à C ou POSIX ?... Comment faire, il faut réinitialiser la base ? Je peux le faire à partir de maintenant sans réinstaller postgres (je me fous de perdre les données pour le moment, il n'y a rien dessus).


Merci merci smile

Pied de page des forums

Propulsé par FluxBB