web-dev-qa-db-fra.com

Comment faire une sauvegarde et une restauration de schéma uniquement dans PostgreSQL?

Comment effectuer une sauvegarde de niveau schéma dans la base de données PostgreSQL et la restaurer sur une autre base de données? Existe-t-il une seule commande disponible pour cela? Par exemple, puis-je pg_dump et restaurer en une seule ligne?

28
user1671630
pg_dump --schema=masters oldDB > masters1.sql
cat masters1.sql | psql newDB

ou

en une seule commande, vous pouvez le faire

pg_dump oldDB --schema masters  | psql -h localhost newDB;
36
solaimuruganv

Sauvegardez le schéma et restaurez-le sur le système pour postgresql comme ci-dessous:

Schéma de vidage pour la base de données

pg_dump -s database_name > db.sql

Schéma de vidage pour une table spécifique

pg_dump -s database_name -t table_name > db.sql 

Restaurer le schéma sauvegardé à l'aide de la commande ci-dessous

psql -d database_name -h localhost -U postgres < path/db.sql
27
Sumit Munot

Quel est le problème avec documentation ?

Exemple du manuel:

Pour vider tous les schémas dont les noms commencent par est ou ouest et se terminent par gsm, à l'exclusion de tous les schémas dont les noms contiennent le test Word:

$ pg_dump -n 'east * gsm' -n 'west * gsm' -N ' test ' mydb> db.sql

3
Frank Heikens