1

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

编辑 我已经看过其他一些帖子,但无济于事。

4

2 回答 2

2

来自 unix-prompt:(windows 可能有类似的机制)。

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

于 2012-04-09T09:41:24.593 回答
0
psql -e -f file_name db_name 2>&1 > log.txt

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

于 2016-06-13T13:14:23.740 回答