如何将sql命令结果保存到文件中(postgresql)

时间:2012-04-09 09:28:23

标签: sql postgresql command-line

我有一大批在PostgreSQL中包含超过300000个插入命令。我甚至无法将其加载到pgAdmin(它崩溃)。所以我使用命令行和\ i来执行文件。 我想看看错误消息(如果有的话)。如何通过命令行将消息保存到日志文件中? 感谢您的帮助 谢谢

修改 我已经看过一些other posts但无法帮助。

2 个答案:

答案 0 :(得分:2)

从unix-prompt :(窗口可能有类似的机制)。

psql -U my_username my_databasename < the_script.sql >the_output.log

更新:上面的命令假定执行它的用户能够读取“the_script.sql”并且用户可以写入“the_output.log”(在本例中是当前目录中)如果不能因为某些原因写在那里,你总是可以写入/ tmp,就像psql -U my_username my_databasename < the_script.sql >/tmp/other_output.log

一样

答案 1 :(得分:0)

psql -e -f file_name db_name 2>&1 > log.txt

你会发现大多数有趣的日志都会从psql发送到stderr,所以 将stderr重定向到stdout,然后将它们放在log.txt文件中应该可以工作。