我有大量的postgresql转储文件,我需要仔细阅读数据。我是否必须逐个安装Postgresql并将其中的每一个“恢复”到新的数据库中?或者我希望有一个postgresql客户端可以简单地打开它们,我可以查看数据,甚至可以运行一个简单的SQL查询?
转储文件全部来自Postgresql v9.1.9服务器。
或许有一种工具可以轻松地使数据库与转储文件“连接”?
更新 :这些不是文本文件。它们是二进制。它们来自Heroku的备份机制,这是what Heroku says about how they create their backups:
PG备份使用本机pg_dump PostgreSQL工具来创建它 备份文件,使得导出到其他PostgreSQL变得微不足道 安装。
答案 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)
我有同样的问题,我最终这样做了:
答案 3 :(得分:0)
转储文件通常是文本文件,如果不是压缩文件,则可以使用文本编辑器打开它们。在里面你会发现所有允许重建数据库的查询......
答案 4 :(得分:0)
如果在Windows上使用pgAdmin,只能将文件备份为纯文本,在命令行提示符下执行备份而不是pg_dump时有一个选项。
答案 5 :(得分:0)
在较新的版本中,您需要为标准输出指定-f
标志,并使用文件名或'-'
pg_restore dump_file.bin -f -