架构仅恢复到具有文本格式转储的新postgreSQL DB

时间:2014-11-27 14:33:58

标签: postgresql schema restore

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

1 个答案:

答案 0 :(得分:4)

您可以使用-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>