如何在PostgreSQL中进行仅架构备份和还原?

时间:2012-09-24 12:07:39

标签: postgresql pg-dump

如何在PostgreSQL数据库中进行模式级备份并在另一个数据库上进行还原?有没有可用的单一命令?例如,我可以pg_dump并以单行恢复吗?

4 个答案:

答案 0 :(得分:34)

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

在单一命令中,您可以通过此

完成
pg_dump oldDB --schema masters  | psql -h localhost newDB;

答案 1 :(得分:23)

备份架构并在系统上将其恢复为postgresql,如下所示:

数据库的转储架构

pg_dump -s database_name > db.sql

特定表的转储模式

pg_dump -s database_name -t table_name > db.sql 

使用以下命令恢复备份架构

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

答案 2 :(得分:2)

documentation出了什么问题?

手册中的示例:

  

转储名称以east或west开头并以其结尾的所有模式   gsm,不包括名称中包含单词test:

的任何模式      

$ pg_dump -n'east * gsm'-n'west * gsm'-N' test 'mydb&gt; db.sql

答案 3 :(得分:1)

-s--schema-only从转储中排除数据 Documentation