Schema 仅使用文本格式转储恢复到新的 postgreSQL DB
Posted
技术标签:
【中文标题】Schema 仅使用文本格式转储恢复到新的 postgreSQL DB【英文标题】:Schema only restore to new postgreSQL DB with a text format dump 【发布时间】:2015-01-26 04:36:03 【问题描述】:psql --version
psql (PostgreSQL) 9.3.5
我正在尝试仅恢复架构。我尝试了以下命令:
pg_restore -s -d rh /path/to/dump.sql
pg_restore: [archiver] input file appears to be a text format dump. Please use psql.
我已尝试查看 psql 的文档,但没有找到仅模式标志。
如果您知道任何其他技术来实现这一点,我将非常感激。
如果对我有帮助,我正在使用 OSX 版本 10.10
【问题讨论】:
这就是“纯文本”转储的问题。仅当您使用pg_dump -Fc
创建“自定义”转储时,才可能使用“仅模式”选项
【参考方案1】:
您可以使用 -s 生成文本转储文件,以仅生成模式转储,如下所示:
pg_dump -s <database name> > pg_dump_text_filename
您应该使用 psql 命令连接到您的数据库:
psql -U <username> -d <databasename>
然后在 psql 提示符下使用:
\i <pg_dump_text_file_path>
也可以使用pg_dump的归档文件格式:
pg_dump -Fc -f <archive file> <database name>
然后 pg_restore 仅模式:
pg_restore -d <database name> -s <archive file>
【讨论】:
这只会做架构而不做数据吗? 我使用 pg_dump 选项编辑了我的帖子以排除数据。以上是关于Schema 仅使用文本格式转储恢复到新的 postgreSQL DB的主要内容,如果未能解决你的问题,请参考以下文章