43

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

4

4 回答 4

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

或者

在单个命令中,您可以这样做

pg_dump oldDB --schema masters  | psql -h localhost newDB;
于 2012-09-24T12:08:21.107 回答
38

备份模式并在系统上为 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
于 2014-05-13T21:29:15.167 回答
5

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

于 2019-10-11T06:10:12.743 回答
4

文档有什么问题?

手册中的示例:

要转储名称以东或西开头并以 gsm 结尾的所有模式,不包括名称包含单词 test 的任何模式:

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

于 2012-09-24T12:24:28.437 回答