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

Comment puis-je prendre un niveau de schéma de sauvegarde dans la base de données PostgreSQL et restaurer sur l'autre base de données? Est-il une seule commande pour ça? Par exemple, puis-je utiliser pg_dump et restaurer en une seule ligne?

22
demandé sur MatthewMartin 2012-09-24 16:07:39

3 réponses

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

ou

en simple commande vous pouvez faire par ceci

pg_dump oldDB --schema masters  | psql -h localhost newDB;
28
répondu solaimuruganv 2012-09-24 12:08:21

schéma de Sauvegarde et de restauration du système pour postgresql en tant que ci-dessous:

Dump de schéma de base de données

pg_dump -s database_name > db.sql

Dump schéma spécifique de la table

pg_dump -s database_name -t table_name > db.sql 

restaurer le schéma sauvegardé en utilisant la commande ci-dessous

psql -d database_name -h localhost -U postgres < path/db.sql
20
répondu Sumit Munot 2014-05-13 21:29:15

Qu'est-ce qui ne va pas avec le documentation?

exemple du manuel:

pour balancer tous les schémas dont le nom commence par l'est ou l'ouest et se termine par gsm, à l'exclusion de tout schéma dont le nom contient le mot test:

$ pg_dump -n '- orient*gsm' -n 'ouest*gsm' -N ' test' mydb > db.sql

1
répondu Frank Heikens 2012-09-24 12:24:28