我的问题:我尝试通过批处理文件在命令行运行数据库生成脚本,作为 TFS 构建过程的一部分,以启用对已知数据集的夜间测试。
我们运行的脚本在命令行上输出通知、警告和一些错误。我想至少抑制通知和警告,如果可能的话,抑制错误,因为它们似乎不会对脚本的整体成功产生影响。就 TFS 构建过程而言,此输出似乎会影响该过程的成功或失败。它将脚本的每一行输出突出显示为错误并使构建失败。
由于我们的系统在 Windows 上运行,我在网上找到的大多数潜在解决方案都不起作用,因为它们似乎针对 Linux。
我已经改变了客户端最少消息数postgresql.conf 文件中出现错误,但是当从 pgAdmin(工具 > 服务器配置)查看相同的配置时,它显示的值是错误,但当前值是通知。
批处理文件中调用 psql 的所有行都使用-q标志也是如此,但这似乎只会阻止诸如 CREATE TABLE 和 ALTER TABLE 等基础知识。
批处理文件中的示例行是:
psql -d 数据库 -q
此命令的输出行示例:
警告:“身份”列的类型为“未知”
详细信息:无论如何,继续创建关系。
指定文件-f标志没有区别。
我可以在我的开发计算机上手动运行批处理文件,无论命令提示符上显示什么错误或消息,它都会生成预期的数据库。
所以最终我需要批处理文件中的所有 psql 命令以静默方式运行。
psql COMMAND &> output.txt
或者,使用您的示例命令:
psql -d database -q < C:\Database\scripts\script.sql &> output.txt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)