这里是问题:我需要知道如何从执行的.sql脚本获取所有PostgreSQL输出以记录到文件,包括错误和查询结果。PostgreSQL对.sql脚本的查询/错误日志记录
我已经用\ o和\ o打开和关闭标记来包围我的脚本,但是这只记录了查询的结果,这些结果告诉我什么都没有,也没有成功。我曾尝试使用Unix工具像这样管道调用的结果到PostgreSQL:
$~: psql < filename.sql | tee &> filename.log
...没有成功。这种情况下的Filename.log完全是空的。
我不想激活通用日志记录,因为我只关心我编写的脚本的成功/失败并保存这个记录以供将来参考。
在Oracle中,我使用了SPOOL,在MySQL中我使用了TEE。这两种方法对我的需求都很好,但是\ o没有这个功能,也没有激活日志记录,因为这会记录到单个文件中,并且我希望根据哪个文件产生这些日志来分离日志。
任何帮助,将不胜感激。
编辑:我使用的版本是9.1
编辑:我遇到的问题是,使用-f和使用<执行.sql文件给我本质上是相同的结果;它不记录错误,它只记录查询结果。我需要以某种方式得到stderr(如果这是使用的),将它的消息打印到文件而不仅仅是命令行,使得该文件基本上看起来与运行该文件的命令行结果相同,其中查询结果和错误混合我需要这样做的原因是因为它使调试.sql文件变得更加容易,它允许我保留目标记录,同时避免通用的错误日志记录。
谢谢!这正是我正在寻找的答案和解释。再次感谢! – 2012-12-22 00:47:35