如何在PostgreSQL数据库中进行模式级备份并在另一个数据库上进行还原?有没有可用的单一命令?例如,我可以pg_dump并以单行恢复吗?
答案 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