J'ai une base de données nommée "A" qui a deux schémas "B" et "C". Je veux sauvegarder et restaurer le schéma "B" sur un autre serveur? Je ne sais pas comment faire cela, car je suis nouveau à Postgres. Dois-je créer une nouvelle base de données sur un nouveau serveur portant le nom "A", puis restaurer le schéma "B" dessus. pls aider avec les commandes.
--- informations tirées du commentaire sur la réponse de Peter:
Je souhaite sauvegarder et restaurer les données du schéma "B" +. Deuxièmement, j'ai oublié de mentionner que Postgresql 9.1 fonctionnant sur Ubuntu 12.04
la source
-b
option pour vider les blobs. Notez que-b
tous les blobs sont ajoutés non seulement pour un seul schéma.Vous pouvez ajouter un paramètre
-n [schema name]
Le commentaire de ce paramètre est dit:la source
* Exemple de base:
Je crée des fichiers "dump.bat" et "restore.bat" dans la fenêtre pour vider / restaurer
1 / Sauvegarde:
Résultats:
* Remarque: quelques options importantes:
2 / Restaurer:
"C:\Program Files\PostgreSQL\9.1\bin\pg_restore.exe" --host localhost --port 5432 --username "postgres" --dbname "any_database" --no-password --no-owner --no-privileges --schema name_schema_B --verbose "C:\dump_resul.sql"
(**)(**) En réalité, si votre fichier de format est * .sql, vous pouvez utiliser pgAdmin (ou psql) pour restaurer. Vous devez utiliser pg_restore pour restaurer un fichier .tar ( .bakup ...)
la source
--schema-only
, les données doivent être dans le vidage ou vous ne pouvez pas avoir le privilège de sélectionner le contenu de la table.J'ai écrit un script qui rend cela trivial. Exportation facile des fonctions SQL et des schémas de table dans des
*.sql
fichiers individuels . Facilite la gestion, la sauvegarde et le contrôle des sources:https://gist.github.com/dantheman213/aff70ee42a11f2d1fa46983878cd62e1
la source
Cela peut être utilisé pour effectuer une sauvegarde de schéma
Cela peut être utilisé pour restaurer la base de données
la source