查看postgresql转储文件的简便方法?

时间:2013-04-25 20:26:30

标签: database postgresql-9.1 pg-dump

我有大量的postgresql转储文件,我需要仔细阅读数据。我是否必须逐个安装Postgresql并将其中的每一个“恢复”到新的数据库中?或者我希望有一个postgresql客户端可以简单地打开它们,我可以查看数据,甚至可以运行一个简单的SQL查询?

转储文件全部来自Postgresql v9.1.9服务器。

或许有一种工具可以轻松地使数据库与转储文件“连接”?

更新 :这些不是文本文件。它们是二进制。它们来自Heroku的备份机制,这是what Heroku says about how they create their backups

  

PG备份使用本机pg_dump PostgreSQL工具来创建它   备份文件,使得导出到其他PostgreSQL变得微不足道   安装。

6 个答案:

答案 0 :(得分:49)

这就是我想要的:

pg_restore db.bin > db.sql

谢谢@andrewtweber

答案 1 :(得分:28)

尝试使用文本编辑器打开文件 - 默认转储格式为纯文本。

如果转储不是纯文本 - 请尝试使用pg_restore -l your_db_dump.file命令。它将列出数据库转储中的所有对象(如表,索引......)。

另一种可能的方法(可能无效,尚未尝试过)是grep通过pg_restore your_db_dump.file命令的输出。如果我理解正确的手册 - pg_restore的输出只是一系列SQL查询,那将重建数据库。

答案 2 :(得分:9)

我有同样的问题,我最终这样做了:

  1. 安装Postgresql和PGAdmin3。
  2. 打开PGAdmin3并创建数据库。
  3. 右键单击数据库,然后单击“还原”。
  4. 忽略文件类型。
  5. 从Heroku中选择数据库转储文件。
  6. 单击“还原”。

答案 3 :(得分:0)

转储文件通常是文本文件,如果不是压缩文件,则可以使用文本编辑器打开它们。在里面你会发现所有允许重建数据库的查询......

答案 4 :(得分:0)

如果在Windows上使用pgAdmin,只能将文件备份为纯文本,在命令行提示符下执行备份而不是pg_dump时有一个选项。

答案 5 :(得分:0)

在较新的版本中,您需要为标准输出指定-f标志,并使用文件名或'-'

pg_restore dump_file.bin -f -