Dupliquer un schéma complet dans PostgreSQL, dans la même base de données

La problématique est simple :

Votre base de données comporte un schéma avec plusieurs tables, et pour une raison qui vous est propre vous souhaitez la dupliquer au sein de la même base.

Voici une solution simple :

Elle consiste tout d’abord à exporter le schéma concerné comme ceci :

pg_dump nom_base -n nom_schema -s -f nom_fichier.pgsql

Ou comme cela :

pg_dump nom_base -n nom_schema -f nom_fichier.pgsql

(La première commande exporte le schéma sans les données, tandis que la seconde exporte le schéma et son contenu.)

Ensuite, changer le nom du schéma dans le fichier obtenu :

sed -i s/nom_schema/nom_nouveau_schema/g nom_fichier.pgsql

Attention : Vérifiez quand même qu’il n’y a pas dans votre base des données comportant la chaîne de caractère « nom_schema », auquel cas il faudra être un peu plus subtile.

Enfin, réimporter le fichier :

spsql nom_base -f filename.pgsql

Source.

Ce contenu a été publié dans Astuces, Informatique, Internet. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>