我在 PostgreSQL 中有大量包含超过 300000 个插入命令。我什至无法将它加载到 pgAdmin 中(它崩溃了)。所以我使用命令行和 \i 来执行文件。我想查看错误消息(如果有)。如何通过命令行将消息保存到日志文件中?感谢您的帮助谢谢
编辑 我已经看过其他一些帖子,但无济于事。
我在 PostgreSQL 中有大量包含超过 300000 个插入命令。我什至无法将它加载到 pgAdmin 中(它崩溃了)。所以我使用命令行和 \i 来执行文件。我想查看错误消息(如果有)。如何通过命令行将消息保存到日志文件中?感谢您的帮助谢谢
编辑 我已经看过其他一些帖子,但无济于事。
来自 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
psql -e -f file_name db_name 2>&1 > log.txt
您会发现大多数有趣的日志都是从 psql 发送到 stderr 的,因此将 stderr 重定向到 stdout 然后将它们放入 log.txt 文件中应该可以工作。