Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 31/05/2012 17:23:57
- brse
- Membre
pg_dump, pg_restore sur schema différent
Bonjour,
Le sujet a peut être déjà été traité mais je n'ai rien trouvé.
Je fais un dump comme ci-dessous de l'un de mes schéma de ma base et je souhaite le réimporté sur un autre schéma (faire une duplication du schéma en gros). Sauf que dans mon dump, j'ai le nom de mon schéma avant mes tables et du coup l'import dans mon nouveau shéma ne fonctionne pas.
pg_dump -h localhost -p 5432 -U postgres -f EXPORT_FILENAME.dmp -Fc -x -O -n MON_SCHEMA MA_BASE
pg_restore -h localhost -p 5432 -U postgres -d MA_BASE -x -n MON_NOUVEAU_SCHEMA EXPORT_FILENAME.dmp
Il me faudrait soit qu'il n'y ai pas le nom de mon schéma dans mon dump, soit que je puisse dire d'importer le premier schéma dans le deuxième (comme sous Oracle FROMUSER=.... TOUSER=.... avec la fonction imp).
Connaissez-vous quelques chose pour ce problème
Précision : dans mon cas c'est sur la même base de données mais en réalité le dump viendra d'un schéma x d'une base vers un schéma y d'une autre base
Merci
Dernière modification par brse (31/05/2012 17:38:56)
Hors ligne
#2 31/05/2012 17:44:43
- rjuju
- Administrateur
Re : pg_dump, pg_restore sur schema différent
Bonjour,
il n'y a pas de solution toute faite.
Si vous faîtes le dump en mode plain, vous pouvez éditer votre fichier pour modifier le nom du schéma.
Le dump commence par créer le schéma, puis faire un set search_path sur ce schéma, la modification est donc très rapide.
En custom, si vous en avez la possibilité vous pouvez renommer votre schéma avant de le dumper, sinon le réimporter sur une autre base, le renommer et le redumper.
Dernière modification par rjuju (31/05/2012 17:48:07)
Julien.
https://rjuju.github.io/
Hors ligne
#3 31/05/2012 17:48:39
- brse
- Membre
Re : pg_dump, pg_restore sur schema différent
Si vous faîtes le dump en mode plain, vous pouvez éditer votre fichier pour modifier le nom du schéma.
Est-il possible du ne pas faire le dump en mode plein, c'est à dire en demandant d'exporter le schéma x mais sans mettre le nom du schéma dans le fichier ?
Hors ligne
#4 31/05/2012 18:03:12
- rjuju
- Administrateur
Re : pg_dump, pg_restore sur schema différent
Non, car l'outil n'est pas prévu pour ça.
Si la fichier est très volumineux, vous pouvez faire un mix avec un dump -s (uniquement la structure) pour modifier facilement le nom du schéma, et ensuite faire une procédure stockée qui copiera toutes les tables par des requêtes sql.
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1