我有一大堆包含超过300000个PostgreSQL中的插入命令。我甚至无法将其加载到pgAdmin(它崩溃)。所以我使用命令行和\ i来执行该文件。 我想查看错误消息(如果有的话)。我如何通过命令行将消息保存到日志文件中? 感谢您的帮助 谢谢如何将sql命令结果保存到文件(postgresql)
编辑 我已经看到了一些other posts却忍不住。
我有一大堆包含超过300000个PostgreSQL中的插入命令。我甚至无法将其加载到pgAdmin(它崩溃)。所以我使用命令行和\ i来执行该文件。 我想查看错误消息(如果有的话)。我如何通过命令行将消息保存到日志文件中? 感谢您的帮助 谢谢如何将sql命令结果保存到文件(postgresql)
编辑 我已经看到了一些other posts却忍不住。
从unix-prompt:(windows可能有类似的机制)。
psql -U my_username my_databasename <the_script.sql>the_output.log
UPDATE:上述命令假定执行它能够读取“the_script.sql”并且用户可以写入用户“the_output.log”(在这种情况下,在当前目录)。如果你不能写有某种原因,你总是可以写到/ tmp,如psql -U my_username my_databasename <the_script.sql>/tmp/other_output.log
我用我自己的帐户(vahid)登录并且数据库所有者是postgres。所以命令如下所示:vahid @ vahid -ThinkPad-T420:〜/ workspace/MATSIM $ psql -U postgres MATEST
做一个sudo没有改变任何东西 – rahman 2012-04-09 09:56:45
将输出文件所有者(和中间目录)更改为postgres也会产生另一个问题:$ psql -U postgres MATEST
psql -e -f file_name db_name 2>&1 > log.txt
最有趣的日志,你会发现发送到在psql标准错误,所以 重定向错误输出到标准输出和然后把它们放在一个log.txt文件中应该可以工作。
300000插入命令?从文件中读取数据不是更容易吗? – wildplasser 2012-04-09 09:39:30
@wildplasser :)我刚刚将XML文件转换为插入命令来填充数据库。这就是雇主所要求的:数据库! “从文件中读取数据”?你是否建议另一个解决方案来完成它?请帮忙。谢谢 – rahman 2012-04-09 09:43:03
如果XML只包含一个(或几个)矩形数据表,它可以转换成.csv(或.tsv)文件相对容易。 (比转换成插入语句更容易,恕我直言) – wildplasser 2012-04-09 09:46:06